Wikibooks enwikibooks https://en.wikibooks.org/wiki/Main_Page MediaWiki 1.47.0-wmf.1 first-letter Media Special Talk User User talk Wikibooks Wikibooks talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk Cookbook Cookbook talk Transwiki Transwiki talk Wikijunior Wikijunior talk Subject Subject talk TimedText TimedText talk Module Module talk Event Event talk Wikibooks:Requests for deletion 4 385 4635349 4634873 2026-05-12T00:00:38Z JJPMaster (bot) 3488561 Bot: Removing archived requests from main RfD page 4635349 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) : I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) : Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) : Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine : How easy would it be to migrate the entirety of Salute Jonathan to there? — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) :: Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) ::: Hi! Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. ::: So the idea is the following: :::# Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::# The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. ::: Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. ::: Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) :::: Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. Cheers! — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) ::::: Hello again, it's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::: [[Salute, Jonathan!/Capitul 1 - with notes]] ::::: [[Salute, Jonathan!/Capitul 2 - with notes]] ::::: [[Salute, Jonathan!/Capitul 3 - with notes]] ::::: [[Salute, Jonathan!/Capitul 4 - with notes]] ::::: [[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::: [[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) ::::::: Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. ::::::: The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. ::::::: (I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) :::::::: Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) ::::::::: Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. ::::::::: For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) : {{keep}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Annotations to The Joy of Music]] == Abandoned with minimal content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:48, 24 August 2025 (UTC) :Author of the book/page here. I wouldn't call it "abandoned": it's still a start, but I'm here and do plan to fill out the rest (most of the annotations are for the early part of the book though). :I'm an experience editor at Wikipedia and Wiktionary, but am not very familiar with Wikibooks standards. When reading this book, I found myself looking up unfamiliar terms and quotes and thought some annotations would be helpful when reading or especially studying the text. It's a notable book by a notable author (extensive Wikipedia page). Here the source text is not freely available, but annotations are easy to add separately. I looked at [[WB:AT]] and existing examples of annotations and tried to follow them. Per [[WB:WIW]], the scope is instructional texts (including annotated texts), and minor works are in scope. :I'll grant that this is not large and not likely to become very long – many books only need minor annotations – but the content would certainly have been helpful to me when reading this book. :Are there specific changes you'd suggest or general guidelines to follow in this kind of book? ::—Nils von Barth ([[User:Nbarth|nbarth]]) ([[User talk:Nbarth|talk]]) 02:42, 3 September 2025 (UTC) ::: Pinging @[[User:Kittycataclysm|Kittycataclysm]] and @[[User:Nbarth|Nbarth]]. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:15, 21 April 2026 (UTC) ::::I think I stand by my original reasoning given that no work has been done on it, and I don't think it contains enough content to hang around in main space for so long. What about moving it to user space? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:16, 23 April 2026 (UTC) == [[Template:Deleted page]] == Per [[Wikibooks:Reading room/Proposals#Retiring Template:Deleted page]], this is because the template is unnecessary given that creation protection (salting) is used instead. I am also proposing the deletion of the following categories used by this template: * [[:Category:Protected deleted categories]] * [[:Category:Protected deleted pages]] Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:36, 29 January 2026 (UTC) :This seems premature - [[:Category:Protected deleted pages]] is still in use for pages with generic names. Is there a plan to transition those pages to create protection; if so, can that be implemented before deleting the templates/categories? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:28, 30 January 2026 (UTC) ::JJPMaster proposed that the pages listed in that category should be moved to the [[MediaWiki:Titleblacklist|title blacklist]], and that {{tlx|naming policy notice}} shall be fully protected and used as an interface (title blacklist) message. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:18, 30 January 2026 (UTC) :::@[[User:Omphalographer|Omphalographer]]: Have you seen this reply? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:28, 11 February 2026 (UTC) ::::I have, but I'm not sure I follow. These templates, and the categories which they populate, are currently in use. Once that's no longer the case, I have no objection to deleting them - but they need to be delinked first. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:20, 12 February 2026 (UTC) :::::I deleted the categories mentioned above, moved all the generic titles to the title blacklist, and for those pages that used {{tlx|Deleted page}}, I deleted then applied creation protection. An uninvolved admin can delete {{tlx|Deleted page}} and then close this request. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:39, 30 March 2026 (UTC) == [[Cereal Grains Through History]] == Abandoned with no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:18, 30 March 2026 (UTC) :[[User:Kittycataclysm|Kittycataclysm]]: The author (Karosent) objects to the deletion per their talk page: {{quote|:Yes, please do not delete this wiki book. It is a work in progress. It is just taking some time to make progress on it. Thank you.}} :{{courtesy ping}} to @[[User:Karosent|Karosent]] as the author of the book for their input. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:42, 30 March 2026 (UTC) ::If the user does intend to work on it, I think the best course of action would be moving it to user space until more progress is made. Having abandoned works around the main space is a bit messy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 28 April 2026 (UTC) ::: {{courtesy ping}} to [[User:Karosent|Karosent]] again. Do you agree with the pages being moved to your userspace? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:23, 3 May 2026 (UTC) == [[History of wireless telegraphy and broadcasting in Australia/Topical/Publications/Wireless Weekly/Issues/1928 03 23]] == Transcribed from a magazine copy that cannot be traced via the URL provided. Generally archival of primary source works is undertaken on Wikisource (not Wikibooks), backed by a suitable page scan. This isn't at present. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 16:32, 27 April 2026 (UTC) :This doesn't need an RfD since it is obviously out of scope. You can instead put a CSD tag on the page. Additionally, it seems that the entire /Publications section contains only source works here, so it might require a mass deletion. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 17:32, 27 April 2026 (UTC) ::@[[User:Samuel.dellit|Samuel.dellit]] looping you in here so you're aware. I don't think any pages like this (i.e. source text) can be kept here, since we are explicitly and unambiguously not a text repository per [[WB:SOURCE]]. I am inclined to speedily delete for that reason, but I want to hear from the primary editor. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:40, 27 April 2026 (UTC) :::Thanks for looping me in. :::This is not simply a transcription of the magazine. :::It includes new formatting to make the content better reachable. :::It includes commentary to place the transcribed material in context. :::It permits related material to be placed in chronological order. :::The version here is not complete (as per banner included), hence the URL link not working (National Library of Australia's Trove has been updated). :::There is no point in placing this material on Wikisource as the Trove website is functionally similar and now provides for text correction (a fairly recent development). :::I have not be editing Wikibooks for the last six month's following a personal matter but now slowly returning to the task. :::[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:08, 27 April 2026 (UTC) ::::I'm still not sure whether this makes it in-scope at Wikibooks and suitable for the book-like scope of this work, so I'm looping in other admins to weigh in on scope and consensus @[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:SHB2000|SHB2000]]. For material that is planned but not yet enacted after a significant period, I'm wondering if user space is more suitable than main space. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:48, 3 May 2026 (UTC) :::::This is just one page of a book, right? It's not like the entire wikibook is a transcription. I'm inclined to keep it unless there is something I am missing. "For material that is planned but not yet enacted after a significant period" - that's a draft and can generally stay in article space. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:09, 4 May 2026 (UTC) ::::::My thoughts are similar to Leaderboard's. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 05:47, 4 May 2026 (UTC) ::::::@[[User:Leaderboard|Leaderboard]] @[[User:SHB2000|SHB2000]] Thank you, and good to know. Unless I am misunderstanding, the plan is actually to host many source texts in this book's namespace (see other subpages in [[History of wireless telegraphy and broadcasting in Australia/Topical/Publications]]) and not limited to this one page. Additionally, do we have anything in policy regarding how long drafts can stay in mainspace? I couldn't find anything, and it strikes me as unconstructive to the project if pages with significant issues (e.g. scope, quality, etc) are left in the mainspace for months to years. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 4 May 2026 (UTC) :::::::@[[User:Kittycataclysm|Kittycataclysm]] Thank you for your considered responses, the following is provided as background summary. :::::::(1) I should mention that all of these pages were speedily deleted six months ago on the basis of breach of copyright, despite the fact that they are in the public domain (yes I was remiss in not making this clear in the relevant discussion pages, and yes I was aware of the need for copyright explanation, but was overly focussed on content creation). I was hit by about 20 simultaneous speedily delete notifications, responded to 2 or 3 thinking that would be sufficient, but later found they had all been deleted (I was not active on Wikibooks at the time). My intention is to provide clear public domain information for each page in the coming months, but I am only one person and need time to give effect. Copyright worldwide is quite complex. :::::::(2) I was hit by this RfD about 2 weeks ago, nominally a single subpage, but with the threat of dozens of subpages being similarly treated. This time the basis of the RfD was breach of the "Not a text repository" policy, of which I was not previously aware. I see in the policy that there is a clear exception for annotated texts and I will further develop content in support of that exception (you will see that is my general practice in any event). There are literally hundreds of articles in this Wikibook already heavily annotated, simply on the basis of good authorship e.g. :::::::https://en.wikibooks.org/wiki/History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Biographies/Clement_Edgar_Ames/Notes :::::::https://en.wikibooks.org/wiki/History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Stations/7BU_Burnie/Notes :::::::But, again, I am only one person and need time to give effect. [[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:59, 4 May 2026 (UTC) :::::::@[[User:Kittycataclysm|Kittycataclysm]] As far as I can see, isn't the goal to annotate most of those pages? And there is no set limit for a draft. The main reason we'd delete a draft is if the book ''itself'' has nothing of value, which is not the case here. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:49, 5 May 2026 (UTC) ::::::::Got it, thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:06, 6 May 2026 (UTC) : As an admin who was involved in deleting this (and related subpages) and ''only'' undeleting it later per the author's request, I therefore '''recuse''' (will not do) on taking any administrative actions for this request. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:33, 27 April 2026 (UTC) :{{vd}} - including other similar pages - per nom. Transcriptions of previously published works, like these magazines, belong on Wikisource. I don't see any evidence of substantial commentary in any of the pages I've looked at. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:47, 28 April 2026 (UTC) ::Additionally, I'd note that creating content like [[History of wireless telegraphy and broadcasting in Australia/Editing/Fair dealing]] or [[History of wireless telegraphy and broadcasting in Australia/Editing/Not a text repository]] is not helpful. This sort of argumentative content clearly does not belong in a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 9 May 2026 (UTC) :{{keep}} - including other similar pages - annotated texts WB:AT are a clear exception to Wikibooks "Not a text repository" policy; these are subpages of a very large body of work (I understand the largest Wikibook in Wikibooks) and integral to its overall development; yes, the pages are a work in progress and the annotations are as yet limited, but I will now prioritise their development[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:28, 3 May 2026 (UTC) :{{keep}}. Annotated texts are an exception and while there can be a debate about how much annotation is enough, at the moment I think we should accept the primary editor's position in respect of their intent. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 13:58, 5 May 2026 (UTC) == [[History Books]] == Minimal existing content is editorialized, book scope unclear, no sourcing —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:47, 27 April 2026 (UTC) :{{comment}} - there is one unlinked subpage of this book, [[History Books/Who Was Alexander the Great/Introduction]]. I'm not impressed by the content (it's basically historical fiction written for a young child), but it's not hopeless. I'd encourage the author to create an account to allow us to communicate with them. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:34, 28 April 2026 (UTC) ::If it is really aimed at children, shouldn't it be moved to the Wikijunior: namespace? [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 18:55, 28 April 2026 (UTC) == [[FORTRAN program for calculating representative parameters and operating conditions of AC overhead transmission lines]] == As the title suggests, this page is primarily code for a computer program, not a book. Wikibooks is not a code hosting web site; this code might be more appropriate as a repository on a code hosting site such as Codeberg or GitHub. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:30, 28 April 2026 (UTC) :{{Del}}, the book seems to be out of scope in its current state, especially considering that most of it is just code and it has no subpages. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 18:35, 28 April 2026 (UTC) :I agree that this is not a book in its current form. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:26, 28 April 2026 (UTC) ::I have started the creation of this book and I request an additional time before deleting it. Since I started, some time has passed in which I have not been able to continue adding information, but I intend to add information on the way in which the different parameters of the overhead power lines are calculated, the electric and magnetic fields created by them, their operating regimes and the possible problems of overvoltage due to resonance phenomena in some cases. It was intended to show some of these questions with the calculations made with the program. ::If you give me an additional time to introduce more information later you can decide if that information is sufficient or not to keep the book. I have the problem that (as can be seen in this writing) my English is not good enough to introduce directly into the book what I am writing and I have to reredact everything using some artificial intelligence program; this delays the process much. Still I request a little more time to be able to show that the information introduced is of value. ::Thank you very much for your understanding. [[User:Jon Peli Oleaga|Jon Peli Oleaga]] ([[User talk:Jon Peli Oleaga|discuss]] • [[Special:Contributions/Jon Peli Oleaga|contribs]]) 13:29, 5 May 2026 (UTC) == Various Transwiki Namespace Pages == *[[Transwiki:Digging trees and shrubs for transplanting]] *[[Transwiki:Create bit mask algorithm]] *[[Transwiki:CRFL (CaReFuL mnemonic)]] *[[Transwiki:Developing a library websites]] *<s>[[Transwiki:Fischer's Lovebird]]</s> *[[Transwiki:Float (breakdancing move)]] *[[Transwiki:Front door method]] *[[Transwiki:Hair Color Tips and Tricks]] *[[Transwiki:Horse grooming]] *[[Transwiki:How to distinguish a monocot from a dicot]] *[[Transwiki:Humminbird PC connection cable wiring diagramm. (AS PC2)]] *[[Transwiki:Inbound connectivity under 3G Datacard]] *[[Transwiki:Common Test Cases]] *[[Transwiki:Comparison of EHR solution providers]] *[[Transwiki:Computer forensics]] *[[Transwiki:Barter]] *[[Transwiki:Career domains in computer science]] *[[Transwiki:Buying snowboards]] *[[Transwiki:Common chemicals]] *[[Transwiki:B+ Tree Java Implementation]] *[[Transwiki:Cattle judging]] *[[Transwiki:Two-handed manual alphabet]] *<s>[[Transwiki:Silver-copper nitrate]]</s> *[[Transwiki:Slating procedure]] *<s>[[Transwiki:Rhodesia's Unilateral Declaration of Independence]]</s> *[[Transwiki:Technical writing for the Web]] *[[Transwiki:Technology roadmap]] *[[Transwiki:Special product and factoring]] *[[Transwiki:Researching Japanese names]] *[[Transwiki:Job-seeking expense tax deductions]] *[[Transwiki:Labeling family photos]] *[[Transwiki:List of mnemonics for the cranial nerves]] *<s>[[Transwiki:Maude system]]</s> *[[Transwiki:Model rocket]] *[[Transwiki:NIS Configuration on Debian]] *<s>[[Transwiki:Paper model tutorials]]</s> *[[Transwiki:Photosynthesis misconceptions]] *[[Transwiki:Project Schedule Development]] This list includes pages in the Transwiki namespaces that have mostly been imported from enwiki, which makes them unusable in a book. If there are any pages here that can be turned into a book, let me know and I can strike them out. I believe that all of these pages should be deleted as we do not allow encyclopedic material on Wikibooks, and these are mostly articles that were imported from English Wikipedia. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 13:25, 1 May 2026 (UTC) :[[Transwiki:Cattle judging]], [[Transwiki:Horse grooming]], and [[Transwiki:Hair Color Tips and Tricks]] could be viable book content. None of the others obviously looked usable to me. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 16:39, 1 May 2026 (UTC) ::I excluded Transwikis that could be added to books here, but the pages you mentioned do not seem usable to me (unless a specific book where they could be added is created). Additionally, in [[Transwiki:Hair Color Tips and Tricks]], the tone is unfit for Wikibooks. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 17:39, 1 May 2026 (UTC) :I deleted a few of these that seemed unambiguously out of scope. I agree that most of them are not sufficiently book-like in scope on their own, and I think they warrant deletion unless anyone can identify specific books that can host them. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:01, 3 May 2026 (UTC) == [[A second course to linear algebra - Matrix algebra]] == Abandoned, with several unresolved quality issues as outlined at [[User talk:Akira tanzivana]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:04, 3 May 2026 (UTC) == [[Bengali–Assamese script]] == Abandoned for three years with minimal content that is seemingly redundant to [[Bengali]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:08, 3 May 2026 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) ipl9zy8pqztbaeu4j6lkq8pql2uokfa 4635367 4635349 2026-05-12T03:12:12Z Whyiseverythingalreadyused 3433041 /* Themes in Literature/Isolation and Community/Kindred1 and User:Lesleysiri/sandbox */ new section 4635367 wikitext text/x-wiki __NEWSECTIONLINK__ [[Category:Wikibooks deletion|{{PAGENAME}}]] {{Discussion Rooms}} {{TOCleft}} {{shortcut|WB:RFD}} {{Requests for deletion/New deletion}} {{Requests for deletion/Deletion intro}} <!-- New deletion nominations go at the bottom of page. --> == [[Salute, Jonathan!]] and its translations == <div style="column-count: 7;"> * [[Salute, Jonathan!|Interlingue/Occidental]] ([[w:en:Occidental|w]], original) * [[Òla, Ionatà!|Audià]] * [[Holo, Jonathan!|Cristianés]] * [[Terve, Jonathan!|Ekumenski]] * [[Hej, Jonathan! (Germanisch)|Germanisch]] * [[Salom, Jonatan!|Globasa]] * [[Àlŏ, Jonathan!|Guosa]] ([[w:en:Guosa|w]]) * [[Salut, Jonathan!|Idiom Neutral]] ([[w:en:Idiom Neutral|w]]) * [[Saluto, Jonathan! (Ido)|Ido]] ([[w:en:Ido|w]]) * [[Hallo, Jonathan!|Interlingua]] ([[w:en:Interlingua|w]]) * [[Salut, Jonathan! (Interocidental)|Interocidental]] * [[Bune Ğonatan!|Lingaust]] * [[Oila, Jonatan!|Lingue Simple]] * [[Haloo, Jonatan!|Lingwa de Planeta]] ([[w:en:Lingwa de Planeta|w]]) * [[Sin Chao, Jonathan!|Masa Tang]] * [[Salut, ionatano!|Meteza]] * [[Salu, Jon!|Mini]] * [[Hay, Jonathan!|Mirad]] * [[Hai, Jon!|Monav]] * [[Sesan Jon!|Monkel]] * [[Salam, Jonathan!|Mundeze]] * [[Dag, Jonathan!|Negerhollands]] ([[w:en:Negerhollands|w]]) * [[Salut Jonathan!|Neo]] ([[w:en:Neo|w]]) * [[Hej, Jonathan!|Nordien]] * [[Saluto, Jonathan!|Novial]] ([[w:en:Novial|w]]) * [[Salute, Jonathan! (Novlingue)|Novlingue]] * [[Alo, Jonathan!|Numo]] * [[Hela, Jonathan!|Proyo]] * [[Salute, Jonathan! (Romanica)|Romanica]] ([[w:en:Romanica|w]]) * [[Simi, Jonathan!|Solresol]] ([[w:en:Solresol|w]]) * [[Toki a, jan Jonatan!|Toki Pona]] ([[w:en:Toki Pona|w]]) * [[Glidis, o Jonathan!|Volapük]] ([[w:en:Volapük|w]]) </div> There are a couple of issues here: # Beyond their introductions, all of these books are written in languages which are not English, making them out of scope for the English Wikibooks. # All but one of these books are in fact written in constructed languages, most of them in recently created conlangs. In some cases (e.g. [[Sin Chao, Jonathan!]]), I can't find any reliable sources describing the target language outside of the translation itself. # Most of the translations (i.e. other than [[Salute, Jonathan!]] itself) were abandoned within the first five or so chapters (out of 100); none of them are complete, and there seems to be little effort to complete any of them. While I recognize that this is an unusual project, and potentially one which could have some value, it's not at all clear to me that the English Wikibooks is the right place for it. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:24, 29 September 2024 (UTC) : I'm really not sure what to do about these ones. While I recognize that this approach is certainly one method of teaching a language, I'm not sure that it constitutes an educational textbook. We do require that the English Wikibooks be written in English—for language-learning books, this typically means that the instructional parts are in English while the exercises are in the language being taught. I do think that if the language doesn't have much supporting evidence outside the book itself, it can safely be deleted. — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:01, 29 September 2024 (UTC) : Author of the book here. I originally wanted to put it in the Interlingue Wikibooks https://ie.wikibooks.org/wiki/Principal_p%C3%A1gine but it somehow got locked when I wasn't paying attention and so I ended up putting it here. Getting it unlocked requires going through the process of starting an Incubator and all the rest so I opted for here and then started putting some English-only content once it was done. It's sort of in the same vein as books like Lingua Latina per se Illustrata that have separate versions with teacher notes and whatnot. [[Salute, Jonathan!/Capitul 1 - with notes]] After it was done the auxlang community really took to it which was a nice surprise. I think Ido has the largest number of chapters at the moment at 15. :If the vast content of this book could be used to justify a quick reopening of the Interlingue Wikibooks to move it there, I'd love to do that. I imagine that an incubator with 100+ book chapters would be enough to open a Wikibooks and that's what this is. — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:02, 29 September 2024 (UTC) : Ah, I just realized that we do have a proposal to reopen the Interlingue Wikibooks: https://meta.wikimedia.org/wiki/Requests_for_new_languages/Wikibooks_Interlingue along with an Incubator page here. https://incubator.wikimedia.org/wiki/Wb/ie/Principal_p%C3%A1gine : How easy would it be to migrate the entirety of Salute Jonathan to there? — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 06:30, 29 September 2024 (UTC) :: Hi @[[User:Mithridates|Mithridates]]! I'm not sure how incubator projects work, but I fully support migrating these books there. You may want to inquire over there and link to this discussion to support your request to move the content over there. Cheers! — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:16, 29 September 2024 (UTC) ::: Hi! Actually I have a third idea to propose after thinking about this again today (haven't been here much since I finished the book): I noticed that there is more English content than I remember and that might make it an awkward fit for the Interlingue Wikibooks. I definitely agree that having all the auxlang translations for new auxlang projects goes well beyond the scope of this Wikibooks. Finally, there are some auxlangs that are notable with their own Wikipedias. ::: So the idea is the following: :::# Leave the original here and I can continue the work on the version with English notes and grammar. That will make it the same as Lingua Latina per se Illustrata, English by the Nature Method, Athenaze and all the rest. :::# The Interlingua one can move to the Interlingua Wikibooks (maybe Romanica too if they want as it is sort of a dialect of Interlingua). :::# For Ido and Lingua Franca Nova which have a Wikipedia but not a Wikibooks, I'm a little bit unsure...technically they could have their own version like the original one but would require English explanations. I could let them know and see if they are willing to do so and see what they think (work on adding English to the books vs. move the content elsewhere). :::# The rest can move to a Github repo, then be deleted, and the front page of this book can have a single link to the repo. ::: Any thoughts on that? Adding the extra English content will be easy as it is my book and I know it inside and out. ::: Edit: [https://en.wikibooks.org/wiki/Salute,_Jonathan!/Grammar_(pronouns) this page] I just added. — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 13:50, 29 September 2024 (UTC) :::: Thanks for taking the time to consider this! Here are my responses/questions: ::::* Is the original [[Salute, Jonathan!]] (Occidental)? Since that one is quite fleshed out, I agree that if you edit it so the primary language of the book (e.g. headers, instructions, etc) are written in English while leaving the actual story in Occidental, it would be okay and fit in more with instructional language textbooks. ::::* For your points 2 and 3, I'm not sure how those other projects work, so I'll leave it up to them. I'm not quite sure why they would need to move, since in theory they could be revised with English as the language of instruction? Although, they have been left incomplete for a long time. ::::* For your point 4, I have no problem with that. Cheers! — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:51, 29 September 2024 (UTC) ::::: Hello again, it's the weekend so I have a bit more time to work on this. I've decided to merge the extra content from the following five chapters since the difference is fairly small and the original chapters should now have this English content. Could you delete these five pages now that they are no longer needed? [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) ::::: [[Salute, Jonathan!/Capitul 1 - with notes]] ::::: [[Salute, Jonathan!/Capitul 2 - with notes]] ::::: [[Salute, Jonathan!/Capitul 3 - with notes]] ::::: [[Salute, Jonathan!/Capitul 4 - with notes]] ::::: [[Salute, Jonathan!/Capitul 5 - with notes]] [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:02, 5 October 2024 (UTC) :::::: [[File:Yes_check.svg|{{#ifeq:|small|8|15}}px|link=|alt=]] {{#ifeq:|small|<small>|}}'''Done'''{{#ifeq:|small|</small>|}} — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:34, 5 October 2024 (UTC) ::::::: Hi again! No luck trying to find a home for the random language translations on other auxlang wikis, can't find one that is actively maintained. ::::::: The thought struck me that maybe I could just put those ones on a sub page of my user page, would that be permitted? If not, I think I'll just stick them somewhere in GitHub and call it a day since none of the people who started the translations seem to care enough to do anything about them. I'd rather not see them outright disappear but since they aren't mine I don't care enough about them to do much more work than copy and paste them somewhere. ::::::: (I would leave the ones in languages with an ISO-639 code and Wikipedia here, of course) — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 14:13, 9 November 2024 (UTC) :::::::: Thank you for checking! I don't personally see an issue with moving them to your user space right now. Cheers — [[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:21, 9 November 2024 (UTC) ::::::::: Thanks a lot! I've started a single page where I will put them all here [[User:Mithridates/SJ]] and will proceed slowly due to lack of time and also to avoid stepping on any toes / asking you to delete too much at a time and possibly deleting the wrong content. ::::::::: For this week I have put the content for the languages Audia, Cristianès, Guosa, Lingaust, Mini, Mirad, and Monav on that page as they all have a single page of content and didn't take much time to move. Please delete those. Once they are gone I will add a note on the main page letting people know where they have gone (in addition to a thank you for their interest in the book! I do love how many people have recognized it as a good source material for teaching a language). — [[User:Mithridates|Mithridates]] ([[User talk:Mithridates|discuss]] • [[Special:Contributions/Mithridates|contribs]]) 04:09, 10 November 2024 (UTC) : {{keep}} the translations for languages that have an article on the English Wikipedia, i.e. Guosa, Idiom Neutral, Ido, Interlingua, Lingwa de Planeta, Negerhollands, Neo, Novial, Occidental, Romanica, Solresol, Toki Pona, and Volapük. : Translations for languages that don't have an article can be kept if they have reliable sources, which I was able to find for the following languages (if you think they are not reliable, please let me know): :* Globasa: [https://www.languagesandnumbers.com/how-to-count-in-globasa/en/globasa/] [https://greyson.conlang.org/2020/01/29/shouting-out-globasa-and-pandunia/] :* Mini: [https://jprogr.github.io/mini] [https://www.omniglot.com/language/phrases/mini.htm] [https://www.languagesandnumbers.com/how-to-count-in-mini/en/mini/] : {{del}} and move to [[User:Mithridates/SJ]] the rest of the translations, i.e. Audià/Audian, Cristianés, Ekumenski, Germanisch, Interocidental, Lingaust, Lingue Simple, Masa Tang, Mirad, Monav, Monkel, Mundeze, Nordien, Novlingue, Numo, Proyo, and Scuian/Meteza. If you can find reliable sources for those languages, please let me know. : In particular, I could not find resources for Audià/Audian and Monav after searching through 15 and 17 pages on Google, respectively. It doesn't help that [[Òla, Ionatà!|their]] [[Hai, Jon!|translations]] don't explain what those languages are and where to find resources for them. This makes contributing to those translations almost impossible until @[[User:Caro de Segeda|Caro de Segeda]] can provide resources to us. It's possible that the resources may have disappared from the Internet, or that those languages were created by Caro de Segeda him/herself. If you can find resources for Audià/Audian and Monav, please let me know. : I'm notifying the primary contributors of the translations: @[[User:Caro de Segeda|Caro de Segeda]], @[[User:Frzzl|Frzzl]], @[[User:Greatscotteh|Greatscotteh]], @[[User:IHateNumbers234|IHateNumbers234]], @[[User:Jayeless2|Jayeless2]], @[[User:Morozof|Morozof]], @[[User:Omnihom|Omnihom]], @[[User:Omoutuazn|Omoutuazn]], @[[User:PovriNaivon|PovriNaivon]], @[[User:Sir Beluga|Sir Beluga]] and @[[User:Tyoyafud|Tyoyafud]]. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 09:52, 30 June 2025 (UTC) :: Caro de Segeda said on [https://www.reddit.com/r/conlangs/comments/1lcnz9g/comment/n0sc3wx/ Reddit] that Monav was created by him/her and that he/she didn't publish any resources about it other than [[Hai, Jon!]]. With '''zero''' other resources to rely on for contributing to the translation, and the fact that Monav is in [[User:Mithridates/SJ]], [[Hai, Jon!]] should be speedy deleted. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 01:38, 3 July 2025 (UTC) ::: I've undone the speedy deletion as Caro de Segeda posted a [https://prexins.wordpress.com/2025/07/04/monav/ resource] for Monav. — [[User:EJPPhilippines|EJPPhilippines]] ([[User talk:EJPPhilippines|discuss]] • [[Special:Contributions/EJPPhilippines|contribs]]) 07:18, 4 July 2025 (UTC) :::: You can delete all the ones that I have created myself, I have already moved them to other places. — [[User:Caro de Segeda|Caro de Segeda]] ([[User talk:Caro de Segeda|discuss]] • [[Special:Contributions/Caro de Segeda|contribs]]) 12:39, 5 July 2025 (UTC) {{outdent|::::}}I don't know if this is helpful since it wouldn't apply to most of these, but [[s:mul:]] could hold some of these. — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 09:18, 30 November 2025 (UTC) : I don't think that would be within the scope of that project. I'm not aware of any other situation where Wikisource publishes translations of texts created on Wikimedia projects - that's usually left up to other language editions of the same project. — [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 05:34, 1 December 2025 (UTC) :: In this situation there isn't a separate [[s:ie:]] distinct from Multilingual Wikisource (see [[meta:Wikisource#List of Wikisources]]). In fact, there are very few multilingual wikis in the Wikimedia sphere; while this project ''could'' move to a Miraheze-hosted or similar wiki farm location, I think it would be a missed opportunity. I suppose an [[Interlingue]] book could be started in [[shelf:Constructed languages]] which would have all 100 chapters as an appendix (and likewise for the other languages), but that also seems non-ideal since it requires an English-language text that doesn't currently exist to be created. [[WB:AT]] seems to describe a similar situation to this one and prescribe Wikisource as the solution, and [[WB:SOURCE]] mentions fiction as out-of-scope for Wikibooks (even as in this case, language-educational fiction). [[s:mul:Wikisource:about Wikisource]] simply speaks of source texts and doesn't mention publication requirements, so maybe that is specific to some of the monolingual editions? — [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|discuss]] • [[Special:Contributions/Arlo Barnes|contribs]]) 22:28, 5 December 2025 (UTC) == [[International Baccalaureate]] == Not actually a book in and of itself; rather, it is just a compilation of links to other books —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:24, 18 October 2024 (UTC) : Could this be salvaged as a shelf? [[User:Pppery|Pppery]] ([[User talk:Pppery|discuss]] • [[Special:Contributions/Pppery|contribs]]) 05:23, 27 January 2025 (UTC) ::Probably, but are the linked books even useful? IB exams change from year to year - sometimes quite dramatically - so an old exam guide is of very limited value. Many of these books were written 10-15 years ago, and some of them (like [[IB French]]) even have comments indicating that they're no longer applicable. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:18, 8 December 2025 (UTC) == [[Character List for Baxter&Sagart]] == Seems completely out of scope as an educational book; it's just a list of characters and outlinks —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 18 October 2024 (UTC) :Adding [[Character List for Karlgren's GSR]] and [[Character List for Schuessler's CGSR]] for the same reason —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:55, 18 October 2024 (UTC) :These three books do make a package and I agree they should be considered together. However, I strongly object to deleting them. They are really extremely useful resources. I use them every week and I know that many people who do work on Old Chinese phonology do so. There are lots of books out there that are lists of characters, these are called dictionaries. For example Axel Schuessler's ABC Etymological Dictionary of Old Chinese, or Pulleyblank's Lexicon of Reconstructed Pronunciation in Early Middle Chinese, Late Middle Chinese, and Early Mandarin. I see it as entirely a good thing for reference works of this kind to be available free online rather than only in expensive books in university research libraries. If this is in violation of a Wikibooks policy, I would at least like that policy to be drawn to my attention and to have some constructive comment offered about which Wikiproject such a resource should fall under. I will also say on a personal note that I have put literally hundreds of hours of work into these projects and it would grieve me a lot to see this work simply vanish, in particular when I know that colleagues around the world use these books. --[[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 07:27, 1 November 2024 (UTC) ::Hi @[[User:Tibetologist|Tibetologist]], and thank you for the feedback! Official Wikibooks policy does not permit standalone dictionaries (see [[WB:DICT]]), though I understand the argument that it is a useful resource. I am wondering if there might be a home for it at [[Wiktionary:Wiktionary:Welcome, newcomers|Wiktionary]] or [[Wikiversity:Wikiversity:SHARE|Wikiversity]]? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:14, 1 November 2024 (UTC) :::The policy says to use Wiktionary, but these books cannot be moved there. In fact they link there, you can understand me as having made an index to wiktionary, if you like, where the ORDER of the characters is extremely important, information that would be lost in Wiktionary. :::Wikiversity is not a project I participate in, and in any event my books here are older than it, so this option was not available for me at the relevant moment. If you are offering to move my books to Wikiversity, that is very kind of you and I will very graciously accept. [[User:Tibetologist|Tibetologist]] ([[User talk:Tibetologist|discuss]] • [[Special:Contributions/Tibetologist|contribs]]) 14:10, 1 November 2024 (UTC) ::::I have pinged over at Wikiversity Colloquium to ask about suitability and have looped you into the conversation over there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:20, 1 November 2024 (UTC) ::I concur. I'm just an undergrad who tries to learn about Sino-Tibetan historical linguistics in his free time but I've found this wikibook to be incredibly useful, and I keep it open in one tab while I watch Professor Nathan Hill's lectures that he uploads to youtube in another tab, and another tab for taking notes. In fact if I remember correctly Professor Hill actually pointed his students to this wikibook. ::I'm not familiar with [[wikiversity:Wikiversity:SHARE|Wikiversity]] but if all the content were as accessible there as it is here then I think that could work. [[User:ChromeBones|ChromeBones]] ([[User talk:ChromeBones|discuss]] • [[Special:Contributions/ChromeBones|contribs]]) 02:43, 9 July 2025 (UTC) :Per [[:v:Wikiversity:Colloquium#Import_Resource_From_Wikibooks?]], I recommend copying and pasting, including attribution via the edit summary and talk page, add appropriate categories and links, and then it could be deleted locally. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 22:32, 3 November 2024 (UTC) == [[Suomen kieli käyttöön]] == Multiple pages in this book are written entirely in Finnish, which is out of the enWB scope. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:09, 19 October 2024 (UTC) :I was going to say whether we should ask any fiwikibooks sysop to maybe see if this could be transwikied to fiwb if it's within the scope there. But [[:fi:Toiminnot:Käyttäjät/sysop]] indicates that there are only 3 sysops, and only {{u|Anr}} and {{u|Zache}} have made edits this ''year''. If they deem it to be salvageable, then transwiki + delete, otherwise straight-up delete. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 11:24, 14 November 2024 (UTC) ::It seems that the idea behind the book was for the pages to be bilingual, as it’s a language learning book. That’s why there are Finnish texts included intentionally even on the pages that are complete. There are similar books in dewikibooks and ruwikibooks as well. For the English version, I think the easiest way to proceed would be to clean up and adjust the page layout to fit enwikibooks better, and then translate the missing parts. By the way, if anyone wants to update the book’s name in English, it can be titled ''"Using the Finnish Language"'' or ''"Put Finnish Language into Use"'' for a direct translation. [[User:Zache|Zache]] ([[User talk:Zache|discuss]] • [[Special:Contributions/Zache|contribs]]) 11:57, 14 November 2024 (UTC) == [[AT&T Mobility FAQ]] == * [[AT&T Mobility FAQ]] * [[AT&T Mobility FAQ/MEdia Net Configuration]] * [[AT&T Mobility FAQ/Data Connect Configuration]] An ''extremely'' outdated FAQ on AT&T's cell phone services. Most of this document was written 20+ years ago as a Usenet FAQ; very little of it is accurate or useful anymore (particularly the two subpages, which have to do with obsolete configurations for "tethering" a computer to a cell phone). No objection if someone wants to update it, but there's clearly been no appetite to do that. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:20, 30 December 2024 (UTC) :I'm wondering if it might make sense for us to develop some kind of policy on archiving books here. There are many like this one that have a good deal of content but are extremely out of date and just not useful as originally intended. ——[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:34, 30 December 2024 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]]: See the newly developed [[Wikibooks:Outdated books]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 00:16, 31 December 2024 (UTC) :::Ooh, thanks - something like that seems like it could be an appropriate way to handle this book. A lot of the other outdated books I've tagged have been so incomplete that they wouldn't have been particularly useful even as historical references; this one might at least have some interest. :::Any chance we can get a separate namespace (maybe "Archive:") set up for archived book content? That'd make it possible to do things like exclude them from on-site search by default. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:07, 31 December 2024 (UTC) ::::I think this might be a more extended discussion, so I'll bump it over to the [[Wikibooks talk:Outdated books|talk page of the draft policy]]! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:54, 31 December 2024 (UTC) == Algebra/Chapter 10/Symmetric Polynomials == I personally believe that [[Algebra/Chapter 10/Symmetric Polynomials|this]], and all of the sections should be deleted for the fact that this goes WAY beyond the scope of what was intended for the Chapter (Algebra II level polynomials). [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 15:07, 6 February 2025 (UTC) :'''Split''': Deletion here is not the best solution (see [[w:WP:ATD]]). Instead, this page and its subpages should be moved to another book, most likely [[Abstract Algebra]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:35, 6 February 2025 (UTC) :{{keep}} since there is a good amount of content. If [[Abstract Algebra]] is appropriate, it seems like a fine idea to move there. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:59, 7 February 2025 (UTC) ::Eh, yeah, I supposed moving it is better. I just don't think it's suitable for where it appears. [[User:GoreyCat|GoreyCat]] ([[User talk:GoreyCat|discuss]] • [[Special:Contributions/GoreyCat|contribs]]) 01:40, 8 February 2025 (UTC) == [[Puredyne]] == Development of Puredyne Linux was discontinued in 2012, and the software no longer appears to be available for download anywhere. (An archive of the web site is still up - with a bunch of embedded spam links - but the download links are all dead.) Is this a suitable candidate for archival (cf. [[Wikibooks:Outdated books]]), or should it just be deleted? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 04:35, 5 March 2025 (UTC) :I'd just archive stuff like this. Looks like a decent bit of work went into it, and you never know when someone might need to use Puredyne for some obscure project. I'd be willing to bet mirrors exist of it somewhere, or someone has it on a drive. If you want to find some stuff worth deleting, comb through [[:Category:Allbooks categories]]. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:30, 5 March 2025 (UTC) == [[Template:Qr-twwp]] == This isn't exactly a request to delete the template, but rather to merge it with {{tlx|Copypaste}}. The {{tlx|Qr-twwp}} template serves the same purpose as {{tlx|Copypaste}}, but without the seven-day period after which the page is deleted. This leads to confusion, as well as a perpetually full [[:Category:Queried pages]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:37, 30 March 2025 (UTC) == [[Ghouls of the Miskatonic]] == I don't think that a plot summary of a book is in-scope here. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:43, 20 August 2025 (UTC) :{{vd}} - at least, not a summary of ''this'' book. A summary and/or study guide to a notable work of literature might be in scope, but this is certainly not one. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 21:23, 25 August 2025 (UTC) ::Hi. I am the creator of the pages of this book. If I understand correctly, it has to be a summary of a notable work of literature? So what exactly is defined as such? I only started this as I thought it would be fun, interesting and encouraging to others who read the Arkham Horror novels, and I thought it was permitted as I've seen other summaries of books on wikibooks. [[User:Dayne90|Dayne90]] ([[User talk:Dayne90|discuss]] • [[Special:Contributions/Dayne90|contribs]]) 13:27, 26 August 2025 (UTC) :::Your problem is it is just the plot... it needs to include an educational textual analysis to be in scope [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:47, 28 August 2025 (UTC) ::::And ideally it'd be a text which has ''already'' been the subject of literary analysis, such that the analysis on Wikibooks isn't original research. A notable work of literature like ''Frankenstein'' or ''Moby-Dick'' would easily meet that requirement; a tie-in novel for a tabletop RPG probably does not. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 22:08, 29 August 2025 (UTC) == [[Annotations to The Joy of Music]] == Abandoned with minimal content. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:48, 24 August 2025 (UTC) :Author of the book/page here. I wouldn't call it "abandoned": it's still a start, but I'm here and do plan to fill out the rest (most of the annotations are for the early part of the book though). :I'm an experience editor at Wikipedia and Wiktionary, but am not very familiar with Wikibooks standards. When reading this book, I found myself looking up unfamiliar terms and quotes and thought some annotations would be helpful when reading or especially studying the text. It's a notable book by a notable author (extensive Wikipedia page). Here the source text is not freely available, but annotations are easy to add separately. I looked at [[WB:AT]] and existing examples of annotations and tried to follow them. Per [[WB:WIW]], the scope is instructional texts (including annotated texts), and minor works are in scope. :I'll grant that this is not large and not likely to become very long – many books only need minor annotations – but the content would certainly have been helpful to me when reading this book. :Are there specific changes you'd suggest or general guidelines to follow in this kind of book? ::—Nils von Barth ([[User:Nbarth|nbarth]]) ([[User talk:Nbarth|talk]]) 02:42, 3 September 2025 (UTC) ::: Pinging @[[User:Kittycataclysm|Kittycataclysm]] and @[[User:Nbarth|Nbarth]]. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:15, 21 April 2026 (UTC) ::::I think I stand by my original reasoning given that no work has been done on it, and I don't think it contains enough content to hang around in main space for so long. What about moving it to user space? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:16, 23 April 2026 (UTC) == [[Template:Deleted page]] == Per [[Wikibooks:Reading room/Proposals#Retiring Template:Deleted page]], this is because the template is unnecessary given that creation protection (salting) is used instead. I am also proposing the deletion of the following categories used by this template: * [[:Category:Protected deleted categories]] * [[:Category:Protected deleted pages]] Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:36, 29 January 2026 (UTC) :This seems premature - [[:Category:Protected deleted pages]] is still in use for pages with generic names. Is there a plan to transition those pages to create protection; if so, can that be implemented before deleting the templates/categories? [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:28, 30 January 2026 (UTC) ::JJPMaster proposed that the pages listed in that category should be moved to the [[MediaWiki:Titleblacklist|title blacklist]], and that {{tlx|naming policy notice}} shall be fully protected and used as an interface (title blacklist) message. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:18, 30 January 2026 (UTC) :::@[[User:Omphalographer|Omphalographer]]: Have you seen this reply? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:28, 11 February 2026 (UTC) ::::I have, but I'm not sure I follow. These templates, and the categories which they populate, are currently in use. Once that's no longer the case, I have no objection to deleting them - but they need to be delinked first. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 00:20, 12 February 2026 (UTC) :::::I deleted the categories mentioned above, moved all the generic titles to the title blacklist, and for those pages that used {{tlx|Deleted page}}, I deleted then applied creation protection. An uninvolved admin can delete {{tlx|Deleted page}} and then close this request. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:39, 30 March 2026 (UTC) == [[Cereal Grains Through History]] == Abandoned with no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:18, 30 March 2026 (UTC) :[[User:Kittycataclysm|Kittycataclysm]]: The author (Karosent) objects to the deletion per their talk page: {{quote|:Yes, please do not delete this wiki book. It is a work in progress. It is just taking some time to make progress on it. Thank you.}} :{{courtesy ping}} to @[[User:Karosent|Karosent]] as the author of the book for their input. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:42, 30 March 2026 (UTC) ::If the user does intend to work on it, I think the best course of action would be moving it to user space until more progress is made. Having abandoned works around the main space is a bit messy. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 28 April 2026 (UTC) ::: {{courtesy ping}} to [[User:Karosent|Karosent]] again. Do you agree with the pages being moved to your userspace? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:23, 3 May 2026 (UTC) == [[History of wireless telegraphy and broadcasting in Australia/Topical/Publications/Wireless Weekly/Issues/1928 03 23]] == Transcribed from a magazine copy that cannot be traced via the URL provided. Generally archival of primary source works is undertaken on Wikisource (not Wikibooks), backed by a suitable page scan. This isn't at present. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 16:32, 27 April 2026 (UTC) :This doesn't need an RfD since it is obviously out of scope. You can instead put a CSD tag on the page. Additionally, it seems that the entire /Publications section contains only source works here, so it might require a mass deletion. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 17:32, 27 April 2026 (UTC) ::@[[User:Samuel.dellit|Samuel.dellit]] looping you in here so you're aware. I don't think any pages like this (i.e. source text) can be kept here, since we are explicitly and unambiguously not a text repository per [[WB:SOURCE]]. I am inclined to speedily delete for that reason, but I want to hear from the primary editor. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:40, 27 April 2026 (UTC) :::Thanks for looping me in. :::This is not simply a transcription of the magazine. :::It includes new formatting to make the content better reachable. :::It includes commentary to place the transcribed material in context. :::It permits related material to be placed in chronological order. :::The version here is not complete (as per banner included), hence the URL link not working (National Library of Australia's Trove has been updated). :::There is no point in placing this material on Wikisource as the Trove website is functionally similar and now provides for text correction (a fairly recent development). :::I have not be editing Wikibooks for the last six month's following a personal matter but now slowly returning to the task. :::[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:08, 27 April 2026 (UTC) ::::I'm still not sure whether this makes it in-scope at Wikibooks and suitable for the book-like scope of this work, so I'm looping in other admins to weigh in on scope and consensus @[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:SHB2000|SHB2000]]. For material that is planned but not yet enacted after a significant period, I'm wondering if user space is more suitable than main space. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:48, 3 May 2026 (UTC) :::::This is just one page of a book, right? It's not like the entire wikibook is a transcription. I'm inclined to keep it unless there is something I am missing. "For material that is planned but not yet enacted after a significant period" - that's a draft and can generally stay in article space. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:09, 4 May 2026 (UTC) ::::::My thoughts are similar to Leaderboard's. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 05:47, 4 May 2026 (UTC) ::::::@[[User:Leaderboard|Leaderboard]] @[[User:SHB2000|SHB2000]] Thank you, and good to know. Unless I am misunderstanding, the plan is actually to host many source texts in this book's namespace (see other subpages in [[History of wireless telegraphy and broadcasting in Australia/Topical/Publications]]) and not limited to this one page. Additionally, do we have anything in policy regarding how long drafts can stay in mainspace? I couldn't find anything, and it strikes me as unconstructive to the project if pages with significant issues (e.g. scope, quality, etc) are left in the mainspace for months to years. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 4 May 2026 (UTC) :::::::@[[User:Kittycataclysm|Kittycataclysm]] Thank you for your considered responses, the following is provided as background summary. :::::::(1) I should mention that all of these pages were speedily deleted six months ago on the basis of breach of copyright, despite the fact that they are in the public domain (yes I was remiss in not making this clear in the relevant discussion pages, and yes I was aware of the need for copyright explanation, but was overly focussed on content creation). I was hit by about 20 simultaneous speedily delete notifications, responded to 2 or 3 thinking that would be sufficient, but later found they had all been deleted (I was not active on Wikibooks at the time). My intention is to provide clear public domain information for each page in the coming months, but I am only one person and need time to give effect. Copyright worldwide is quite complex. :::::::(2) I was hit by this RfD about 2 weeks ago, nominally a single subpage, but with the threat of dozens of subpages being similarly treated. This time the basis of the RfD was breach of the "Not a text repository" policy, of which I was not previously aware. I see in the policy that there is a clear exception for annotated texts and I will further develop content in support of that exception (you will see that is my general practice in any event). There are literally hundreds of articles in this Wikibook already heavily annotated, simply on the basis of good authorship e.g. :::::::https://en.wikibooks.org/wiki/History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Biographies/Clement_Edgar_Ames/Notes :::::::https://en.wikibooks.org/wiki/History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Stations/7BU_Burnie/Notes :::::::But, again, I am only one person and need time to give effect. [[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:59, 4 May 2026 (UTC) :::::::@[[User:Kittycataclysm|Kittycataclysm]] As far as I can see, isn't the goal to annotate most of those pages? And there is no set limit for a draft. The main reason we'd delete a draft is if the book ''itself'' has nothing of value, which is not the case here. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 04:49, 5 May 2026 (UTC) ::::::::Got it, thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:06, 6 May 2026 (UTC) : As an admin who was involved in deleting this (and related subpages) and ''only'' undeleting it later per the author's request, I therefore '''recuse''' (will not do) on taking any administrative actions for this request. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:33, 27 April 2026 (UTC) :{{vd}} - including other similar pages - per nom. Transcriptions of previously published works, like these magazines, belong on Wikisource. I don't see any evidence of substantial commentary in any of the pages I've looked at. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 17:47, 28 April 2026 (UTC) ::Additionally, I'd note that creating content like [[History of wireless telegraphy and broadcasting in Australia/Editing/Fair dealing]] or [[History of wireless telegraphy and broadcasting in Australia/Editing/Not a text repository]] is not helpful. This sort of argumentative content clearly does not belong in a book. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:14, 9 May 2026 (UTC) :{{keep}} - including other similar pages - annotated texts WB:AT are a clear exception to Wikibooks "Not a text repository" policy; these are subpages of a very large body of work (I understand the largest Wikibook in Wikibooks) and integral to its overall development; yes, the pages are a work in progress and the annotations are as yet limited, but I will now prioritise their development[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 19:28, 3 May 2026 (UTC) :{{keep}}. Annotated texts are an exception and while there can be a debate about how much annotation is enough, at the moment I think we should accept the primary editor's position in respect of their intent. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 13:58, 5 May 2026 (UTC) == [[History Books]] == Minimal existing content is editorialized, book scope unclear, no sourcing —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:47, 27 April 2026 (UTC) :{{comment}} - there is one unlinked subpage of this book, [[History Books/Who Was Alexander the Great/Introduction]]. I'm not impressed by the content (it's basically historical fiction written for a young child), but it's not hopeless. I'd encourage the author to create an account to allow us to communicate with them. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:34, 28 April 2026 (UTC) ::If it is really aimed at children, shouldn't it be moved to the Wikijunior: namespace? [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 18:55, 28 April 2026 (UTC) == [[FORTRAN program for calculating representative parameters and operating conditions of AC overhead transmission lines]] == As the title suggests, this page is primarily code for a computer program, not a book. Wikibooks is not a code hosting web site; this code might be more appropriate as a repository on a code hosting site such as Codeberg or GitHub. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 18:30, 28 April 2026 (UTC) :{{Del}}, the book seems to be out of scope in its current state, especially considering that most of it is just code and it has no subpages. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 18:35, 28 April 2026 (UTC) :I agree that this is not a book in its current form. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:26, 28 April 2026 (UTC) ::I have started the creation of this book and I request an additional time before deleting it. Since I started, some time has passed in which I have not been able to continue adding information, but I intend to add information on the way in which the different parameters of the overhead power lines are calculated, the electric and magnetic fields created by them, their operating regimes and the possible problems of overvoltage due to resonance phenomena in some cases. It was intended to show some of these questions with the calculations made with the program. ::If you give me an additional time to introduce more information later you can decide if that information is sufficient or not to keep the book. I have the problem that (as can be seen in this writing) my English is not good enough to introduce directly into the book what I am writing and I have to reredact everything using some artificial intelligence program; this delays the process much. Still I request a little more time to be able to show that the information introduced is of value. ::Thank you very much for your understanding. [[User:Jon Peli Oleaga|Jon Peli Oleaga]] ([[User talk:Jon Peli Oleaga|discuss]] • [[Special:Contributions/Jon Peli Oleaga|contribs]]) 13:29, 5 May 2026 (UTC) == Various Transwiki Namespace Pages == *[[Transwiki:Digging trees and shrubs for transplanting]] *[[Transwiki:Create bit mask algorithm]] *[[Transwiki:CRFL (CaReFuL mnemonic)]] *[[Transwiki:Developing a library websites]] *<s>[[Transwiki:Fischer's Lovebird]]</s> *[[Transwiki:Float (breakdancing move)]] *[[Transwiki:Front door method]] *[[Transwiki:Hair Color Tips and Tricks]] *[[Transwiki:Horse grooming]] *[[Transwiki:How to distinguish a monocot from a dicot]] *[[Transwiki:Humminbird PC connection cable wiring diagramm. (AS PC2)]] *[[Transwiki:Inbound connectivity under 3G Datacard]] *[[Transwiki:Common Test Cases]] *[[Transwiki:Comparison of EHR solution providers]] *[[Transwiki:Computer forensics]] *[[Transwiki:Barter]] *[[Transwiki:Career domains in computer science]] *[[Transwiki:Buying snowboards]] *[[Transwiki:Common chemicals]] *[[Transwiki:B+ Tree Java Implementation]] *[[Transwiki:Cattle judging]] *[[Transwiki:Two-handed manual alphabet]] *<s>[[Transwiki:Silver-copper nitrate]]</s> *[[Transwiki:Slating procedure]] *<s>[[Transwiki:Rhodesia's Unilateral Declaration of Independence]]</s> *[[Transwiki:Technical writing for the Web]] *[[Transwiki:Technology roadmap]] *[[Transwiki:Special product and factoring]] *[[Transwiki:Researching Japanese names]] *[[Transwiki:Job-seeking expense tax deductions]] *[[Transwiki:Labeling family photos]] *[[Transwiki:List of mnemonics for the cranial nerves]] *<s>[[Transwiki:Maude system]]</s> *[[Transwiki:Model rocket]] *[[Transwiki:NIS Configuration on Debian]] *<s>[[Transwiki:Paper model tutorials]]</s> *[[Transwiki:Photosynthesis misconceptions]] *[[Transwiki:Project Schedule Development]] This list includes pages in the Transwiki namespaces that have mostly been imported from enwiki, which makes them unusable in a book. If there are any pages here that can be turned into a book, let me know and I can strike them out. I believe that all of these pages should be deleted as we do not allow encyclopedic material on Wikibooks, and these are mostly articles that were imported from English Wikipedia. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 13:25, 1 May 2026 (UTC) :[[Transwiki:Cattle judging]], [[Transwiki:Horse grooming]], and [[Transwiki:Hair Color Tips and Tricks]] could be viable book content. None of the others obviously looked usable to me. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 16:39, 1 May 2026 (UTC) ::I excluded Transwikis that could be added to books here, but the pages you mentioned do not seem usable to me (unless a specific book where they could be added is created). Additionally, in [[Transwiki:Hair Color Tips and Tricks]], the tone is unfit for Wikibooks. [[User:kingofnuthin|<span style="font-family: Georgia; color: lime">kingofnuthin</span>]] ([[User talk:kingofnuthin|<span style="font-family: Georgia; color: teal">talk</span>]]) 17:39, 1 May 2026 (UTC) :I deleted a few of these that seemed unambiguously out of scope. I agree that most of them are not sufficiently book-like in scope on their own, and I think they warrant deletion unless anyone can identify specific books that can host them. Cheers! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:01, 3 May 2026 (UTC) == [[A second course to linear algebra - Matrix algebra]] == Abandoned, with several unresolved quality issues as outlined at [[User talk:Akira tanzivana]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:04, 3 May 2026 (UTC) == [[Bengali–Assamese script]] == Abandoned for three years with minimal content that is seemingly redundant to [[Bengali]]. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:08, 3 May 2026 (UTC) == [[Objective Projection: Why the Brain Never Forgets Some Stories]] == Undisclosed AI-generated content. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 02:13, 9 May 2026 (UTC) == [[Themes in Literature/Isolation and Community/Kindred1]] and [[User:Lesleysiri/sandbox]] == Both pages were created by [[Special:Contributions/Lesleysiri|Lesleysiri]], who has not been active since creating them. It is also obvious from the writing style that they are AI-generated; in the sandbox, there are two images generated from DALL-E. I disclose that I came from Commons; see [[c:Commons:Deletion requests/Files uploaded by Lesleysiri]]. [[User:Whyiseverythingalreadyused|Whyiseverythingalreadyused]] ([[User talk:Whyiseverythingalreadyused|discuss]] • [[Special:Contributions/Whyiseverythingalreadyused|contribs]]) 03:12, 12 May 2026 (UTC) qmc86c0n3ryrtu3xv5v39duo2lj7cvx Aros/User/Docs 0 13106 4635260 4635130 2026-05-11T14:58:11Z Jeff1138 301139 4635260 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM and PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], [http://www.pegasos.org/index.php Genesi activity], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.amiga-news.de/en/ English translation of German site] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and wip native RaspberryPi AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. There are two standards ABIv0 (old) and ABIv1 (newest). *ABIv1 ABIv11 nightly builds for 64bit PC builds, it is where the most work is done by developers *ABIv0 is needed for 32bit (which also runs on 64bit) intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For ARM Pi Aros, copy the files onto a FAT32 formatted SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system... *Journalling - ZFS XFS ext4 NTFS SFS PFS3 *Non-journaling - BtrFS [http://aminet.net/disk/misc ext2] exFAT FAT32(VFAT) FFS Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 m68k] * FFS very old now but left for legacy usage Other [http://archives.aros-exec.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock system) * exFAT PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But since you can defrag SFS The only filesystems that really NEED defragging are from Microsoft(TM) - exFAT/VFAT/NTFS <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = RWinKey = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ===DOpus 5 Directory Magellan=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop). Assign DOpus5: SYS:System/DOpus Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it may be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button next to it single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon Settings (Right Win key together with 4) -> *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Listers -> Menu (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) unknown *Settings -> Clock (add to title bar as well as the date) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) [https://aminet.net/util/dopus arcdir and themes] arexx / dopus5 scripts see dopus5:arexx/ folder Just use wildcards in background filenames and you get different pics in reboots! For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> If you want change the bg backdrop pic in runtime after some time, an arexx-script for it (paste it into a text file called dopusrandbg.rexx or dopusrandbg.dopus5 <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> It's WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx ===Wanderer === Backgrounds icon text sizes, colors, etc. with wanderer prefs in the prefs drawer but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== No support so far 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The remaining ones in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files between each other. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition. AROS could be installed on to a 4GB USB-key, with 512MB FAT32 partition for sharing, and the rest SFS. It works very well. An hosted Linux or Windows install relieves some of the problems. Files could be transferred [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=2915&viewmode=flat&order=ASC Sending] via TCP network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [http://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE ], [https://www.youtube.com/watch?v=DjdUEyjx8GM ], [https://www.youtube.com/watch?v=ydYDqZQpim8 ], [], [https://www.youtube.com/@uminekoshouten/featured ], [https://www.youtube.com/shorts/NfoY023w-vE ], ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} 6s45qkffx7e2o7tktmbcsgeii5pq4pn 4635275 4635260 2026-05-11T16:41:56Z Jeff1138 301139 4635275 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM and PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], [http://www.pegasos.org/index.php Genesi activity], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.amiga-news.de/en/ English translation of German site] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and wip native RaspberryPi AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. There are two standards ABIv0 (old) and ABIv1 (newest). *ABIv1 ABIv11 nightly builds for 64bit PC builds, it is where the most work is done by developers *ABIv0 is needed for 32bit (which also runs on 64bit) intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For ARM Pi Aros, copy the files onto a FAT32 formatted SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system... *Journalling - ZFS XFS ext4 NTFS SFS PFS3 *Non-journaling - BtrFS [http://aminet.net/disk/misc ext2] exFAT FAT32(VFAT) FFS Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 m68k] * FFS very old now but left for legacy usage Other [http://archives.aros-exec.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock system) * exFAT PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But since you can defrag SFS The only filesystems that really NEED defragging are from Microsoft(TM) - exFAT/VFAT/NTFS <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = RWinKey = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ===DOpus 5 Directory Magellan=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop). Assign DOpus5: SYS:System/DOpus Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it may be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button next to it single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon Settings (Right Win key together with 4) -> *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Listers -> Menu (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) unknown *Settings -> Clock (add to title bar as well as the date) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) [https://aminet.net/util/dopus arcdir and themes] arexx / dopus5 scripts see dopus5:arexx/ folder Just use wildcards in background filenames and you get different pics in reboots! For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> If you want change the bg backdrop pic in runtime after some time, an arexx-script for it (paste it into a text file called dopusrandbg.rexx or dopusrandbg.dopus5 <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> It's WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx ===Wanderer === Backgrounds icon text sizes, colors, etc. with wanderer prefs in the prefs drawer but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== No support so far 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The remaining ones in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files between each other. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition. AROS could be installed on to a 4GB USB-key, with 512MB FAT32 partition for sharing, and the rest SFS. It works very well. An hosted Linux or Windows install relieves some of the problems. Files could be transferred [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=2915&viewmode=flat&order=ASC Sending] via TCP network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [http://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE ], [https://www.youtube.com/watch?v=DjdUEyjx8GM ], [https://www.youtube.com/watch?v=ydYDqZQpim8 ], [], [https://www.youtube.com/@uminekoshouten/featured ], [https://www.youtube.com/shorts/NfoY023w-vE ], ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} nud4my91dg3nm0e5t9wgtx2lcr5x4bi 4635325 4635275 2026-05-11T18:22:39Z Jeff1138 301139 4635325 wikitext text/x-wiki {{ArosNav}} ==What is AROS== Google translation [http://translate.google.com/translate?hl=en&sl=auto&tl=de&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs German], [http://translate.google.com/translate?hl=en&sl=auto&tl=nl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Dutch], [http://translate.google.com/translate?hl=en&sl=auto&tl=fr&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs French], [http://translate.google.com/translate?hl=en&sl=auto&tl=it&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Italian], [http://translate.google.com/translate?hl=en&sl=auto&tl=da&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Danish], [http://translate.google.com/translate?hl=en&sl=auto&tl=es&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Spanish], [http://translate.google.com/translate?hl=en&sl=auto&tl=hi&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Hindi], [http://translate.google.com/translate?hl=en&sl=auto&tl=zh-CN&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Chinese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ru&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Russian], [http://translate.google.com/translate?hl=en&sl=auto&tl=pl&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Polish], [http://translate.google.com/translate?hl=en&sl=auto&tl=ja&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Japanese], [http://translate.google.com/translate?hl=en&sl=auto&tl=ko&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Korean], [http://translate.google.com/translate?hl=en&sl=auto&tl=pt&u=http%3A%2F%2Fen.wikibooks.org%2Fw%2Findex.php%3Ftitle%3DAros%2FUser%2FDocs Portuguese], *Computer Hardware *AROS (operating system) *Applications and Games *User [http://www.osnews.com/story/15819 AROS] is one of the intermediate levels between the computer hardware and the user. It is an open-source, clean-room implementation of AmigaOS 3.x that can be run on many different computer architectures. It runs primarily on PC x86 64bit and also PC 32bit hardware but also on motorola 68k and compatibles, some ARM and PowerPC. This page will cover enough to be able to write the downloaded image to your preferred media, to run a LiveUSB, LiveCD or LiveDVD on your office/home PC (Live meaning you can test without changing your existing setup) and, ultimately, to use it. Intel / AMD PC hardware support mostly covers the years 2000 to 2010 but work is under way to cover recent PC hardware. At the moment, AROS is '''not''' recommended to be '''installed''' on a working vital data holding machine. Instead, writing to and booting from a '''USB stick''' could be a much better option. AROS is an hobby OS and can co-exist with Windows(TM), MacOSX(TM), Android(TM) or Linux(TM) and act as an alternative. Unfortunately, Aros has few developers so upgrades and improvements can take [https://sourceforge.net/p/aros/mailman/aros-cvs/ time to appear]. AROS core is now [http://en.wikibooks.org/wiki/Aros/Developer/IncompleteAPIs ~80%] finished and is usable, so keep in mind that the software is still considered ALPHA/BETA and in development. Currently AROS is fun to play with on a curiosity level, but it is also interesting to program. AROS has some multimedia features and has internet access. Most importantly, use AROS to its maximum potential as it stands now, find ways to have fun with it and share your experiences. Good Sites to visit : [https://www.arosworld.org/home.php Aros World User forum] : [https://ae.arosworld.org/ Aros Exec site relocated] : [https://arosnews.github.io/ AROS News] : [https://www.facebook.com/ArosWorkshop/ Aros Workshop], : [https://www.osnews.com/topic/amiga-aros/ OSNews] : [https://www.reddit.com/r/aros/ Reddit] : [https://archives.arosworld.org Aros Archives] : [https://aminet.net/ Aminet] : [http://www.amiga-news.de/en/ English translation of German site] : [https://aros.sourceforge.io AROS] : [https://github.com/aros-development-team/AROS Codebase] : [https://github.com/aros-development-team/AROS/issues Issues] and [https://sourceforge.net/p/aros/bugs/ old defunct bugs site] : [https://github.com/deadwood2 Deadwood's builds], [https://www.axrt.org/download/aros/v11/ v11 builds], [https://axrt.org/downloads-aros Updated i386 32bit PC builds], : [https://github.com/ezrec Ezrec x86 m68k mirror of old svn version] : [https://sites.google.com/view/arosone Aros One x86, x64] : [https://tinyarosdistro.flazio.com/ Tiny Aros x86 and x64] : [https://arosnews.github.io/aros-portable/ AROS portable USB3 stick images of hosted Aros One x86 and x64 on debian] : [http://vmwaros.blogspot.com Icaros Desktop x86 now on sabbatical, very old edition] : [https://sites.google.com/site/arosaspireone AspireOS, of the netbook Aspire One, very old edition] : [http://arosalive.blogspot.co.uk/p/10-basic-aros-how-tos-tutorials.html Basic How To guides] : [http://arosgamer.blogspot.co.uk/ AROS Playground], [http://thewetmachine.net/tag/aros/ Jess Wet Machine], [https://aroshacking.wordpress.com/ Jon Robertson's AROS Experiences and FPC Free Pascal], [], :[http://www.apollo-accelerators.com/ Apollo Accelerators m68k], [http://www.amigablogs.net/ Amiga Blogs], [http://blog.a-eon.biz/blog/ Trevor Dickinson blog], [http://www.pegasos.org/index.php Genesi activity], : [https://forum.amiga.org/ Amiga OS AOS 3.x forum] : [http://eab.abime.net/ EAB Amiga] : [http://www.amigaworld.net/ AmigaWorld] : [http://www.ppa.pl/ Polish Amiga Like News] : [http://www.apollo-core.com/ Apollo Forum] : [https://amigaalive.blogspot.com/ AmigaAlive] : [https://www.amigalove.com/software Disk Mags] : [https://amigachristmastree.ultimateamiga.com/ Xmas Amiga Game Jam] : [https://www.reddit.com/r/amiga/ Amiga] == Distributions aka Distros == For end users there are distributions (ready made with selected apps aiming to be easy to use), mostly created and maintained by one person in their own workflow/style. They reuse the nightly boot compiles to suit their needs and possibly other end users. You are free to create your own if required. * For native 64bit Intel/AMD: [https://sites.google.com/view/arosone Aros One x64], [https://tinyarosdistro.flazio.com/ Tiny Aros], * For native 32bit Intel/AMD which will run on 64bit machines: [https://sites.google.com/view/arosone Aros One x86], [https://www.tinyaros.it/ Tiny Aros], * For native 68k [https://sites.google.com/view/arosone Aros One m68k], [http://www.aros-platform.de/ AROS Vision], * For hosted Linux usb drive image [https://arosnews.github.io/aros-portable/ x64 Debian hosted version of Aros One], * For hosted ARM there is Aeros and wip native RaspberryPi AROS was originally developed on Linux but can run on an Intel-based Linux distro as an app. As time has gone on, it can be run as an app on many more operating systems (Windows, FreeBSD, Linux and limited on MacOS). This may sound strange: an OS running on top of another OS. Basically, this is to take advantage of drivers (audio, internet, graphics, etc.) and compiler environments, in the existing OS, with which people may be already familiar. The term we use for what AROS does is "Hosted". AROS Native is the term coined to describe AROS being run without any OS underneath it. It runs alone just like AmigaOS(TM) did. As this version does not benefit from "Hosted" drivers, dedicated ones have to be ported/written. Hence the smaller range of supported hardware / peripherals. We have other pages highlighting this support AROS is open source so basically everyone can take part. The source is public on github and there are new commits most days. AROS is automatically compiled daily, result are the nightly builds hosted on Sourceforge. The nightly builds are only used for testing changes, testing software and the starting point for distribution maintainers or even your own distribution. They are very basic, miss some functionality and apps like web browsers and are not suited for end users. * The [https://sourceforge.net/projects/aros/files/nightly2/ Nightly2], [http://aros.sourceforge.net/download.php nightly builds File Release Service] or [http://aros.sourceforge.net/downloads/ Sourceforge Project Web builds] are made automatically every night directly from the Github and in the past, SVN (Subversion) tree and contain the latest code for the AROS operating system. It should be noted that the builds have not been tested in any way and can be horrible broken. There are two standards ABIv0 (old) and ABIv1 (newest). *ABIv1 ABIv11 nightly builds for 64bit PC builds, it is where the most work is done by developers *ABIv0 is needed for 32bit (which also runs on 64bit) intel / amd distributions ==Media== AROS media tends to boot in this tier list of media types, first internal HDD SSD, CD DVD drive, and finally usb drive (last two can depend on bios boot order) * USB .VHD [https://sites.google.com/view/arosone Aros One x86 and x64], with md5 below <pre> 7dd7119ab3e56d75ee852c137226b4d7 *ArosOne-USB-v1.2-x86_64-v11.zip cf906eeaad4a83b3520b1896bdc6b0d3 *ArosOne-USB-v1.1-x86_64-v11.zip e2eb8fe8cfd61c567b0152a61cf85251 *ArosOne-x86-v2.8-USB-IMG.zip 559909c75c2f56472c74267a7d075355 *ArosOne-x86-v2.7-USB-IMG.zip 93da5898508c1a8c05bb8991ab7bd117 *AROS One Image-USB-2.4.zip 59fcabd7090e47f12d54f7eb78cf0f45 *ArosOne-x86-v2.2-USB-Image.zip 24fb8de726ae8fc5fe5bac6d30f03dc5 ArosOne-x86-v2.0-USB-Image.zip f3d725e990072edce633b59747911b6b ArosOne-x86-v1.8-USB-IMG.zip e089a24ae310e92fcc407a0125602ce8 Aros-One x86-IMG-USB-v1.6.zip </pre> [https://tinyaros.flazio.com/ Tiny AROS] 22bc993625b7c75b17263c0cc7e7baaa *Tiny Aros_copy.vhd (March 2024) There is usually a vhd image inside the zip that can be written to USB sticks which is so much faster than the old ISO written to physical CD DVD method. This .vhd can be written to an USB stick / ssd with these pieces of software below but it will erase the previous contents from the usb Windows - [https://www.raspberrypi.com/software/ RPi Raspberry Imager, use custom and see all files], [https://hddguru.com/software/HDD-Raw-Copy-Tool/ HDD-Raw-Copy-Tool], [https://rufus.ie/ Rufus up to version 3.20 may work with VirtualBox HD vhd images with Win7 but not some Rufus 4.x versions], [https://etcher.balena.io/ Balena Etcher], Linux - [https://www.raspberrypi.com/software/ Raspberry Imager Ubuntu], Suse Image / Multi writer, dd, Mac - * Virtual Machine .ISO or CDs DVDs The native iso images are currently not compatible with Ventoy, Yumi, MultiBootUSB, Easy2Boot E2B, or similar <pre> 11c8a147fcad7ecf52ae3a43e1934b69 *ArosOne-DVD-v1.2-x86_64-v11.zip f93053d3b9ccf304d7e6ac3389e1987b *ArosOne-DVD-v1.1-x86_64-v11.zip 86d808a40dc7be389a758799a9b4f595 *ArosOne-x86-v2.0-ISO-DVD.zip f1fc8599ef6a39e5df394e0f41d55526 *AROS-One-x86-ISO-DVD-v1.6.zip </pre> You can use a virtual emulator like VirtualBox, VMWare to mount the iso image which can then be used to boot and/or install to USB. no software can write an AROS ISO to a Pendrive. The author of ‘Rufus’ (who used an Amiga 500 as a child) once tried, but when he saw the system composition, he said he was unable to do it. The solution is to boot the ISO from a VM (WMware, VBox), then install the AROS build on the Pendrive, which will eventually become a Live Pendrive that can be booted on a PC. The only precaution is that in some cases it is necessary to thoroughly clean the Pendrive of any partitions and remove any bootloader that is not AROS. The Pendrive must remain raw without any partitions. You can clean the USB stick on a PC with a program that manages hard disks. You need to do a partition wipe. On some USB sticks, you can clean it with InstallAROS. Previously the only installation option was CD-RW or DVD-RW, since the whole system can be burnt onto a single disk and can be reused when the next version is released. Good branded discs like Taiyo Yuden (later JVC) or Verbatim should be used to reduce frustration later. The days for this media is gone but kept here for information Since nobody currently sells AROS on any other media, you will need access to a CD/DVD burner to create the installation disk yourself. After it is on a CD or DVD, then access and writing to USB pendrives becomes available (this should be viewed as an outdated or last resort alternative method now), as well as using good USB manufacturers like Sandisk, Kingston, etc. rather than some other no-names. Try burning it to a CD-RW or DVD-RW using your CD/DVD burning program (most burning software have a burn iso option). The ideal writing speed is 2x or 4x, higher speeds can give errors and problems. Check the writing integrity of your CD or DVD if your software has an option to do so before going any further. Standalone portable usb cd dvd drives do not boot physical burnt discs, please use an internal ide sata drive instead. * SD-card For ARM Pi Aros, copy the files onto a FAT32 formatted SD card. ==Booting== The LiveUSB, and in the past LiveCD LiveDVD, is designed to trial (test drive) various operating systems without having to install them to your working system. Since 2011, UEFI was introduced to replace the original PC BIOS which made booting media more confusing. Some changes in the UEFI/bios may be needed *go into the bios using esc, f2 or f? and disable the Security -> Secure Boot and maybe apply option for Legacy IDE mode *you may have to press F9, F10 or F12 or p on boot up to present a device boot options like USB or CD/DVD *disable the Fast Boot config so it would recognize portable DVD-drive and changed the Boot-sequence Secure boot was introduced by Microsoft and later consortium control what operating systems work with Secure Boot via shims. For Aros, it is best to disable or be able to change Secure Boot (if you dual boot with Windows this may cause issues with Window boots after) The grub part of the boot should be fully automatic, and you should see a multiple choice graphic card screen after 10 seconds for USB or over 30s CDs and DVDs. After the grub graphics choice, AROS takes over the booting and any issues can arise here =====Advice for various machines===== Some of the stages involved and shown on the display in a typical AROS boot start up <pre> [MultiLoader] [ELF Loader] [Boot] [HPET] [Kernel:ACPI] [Kernel:APIC-IA32] [Kernel:SMP APIC] [HiddStorage] ACPI: ???? ACPI Error [ACPI]AcpiOs???? [BattClock] Got RTC century offset 0x32 from ACPI [PCI] Scanning bus ? [AHCI] Sata [Vesa] only if vesa is chosen as graphics option [ATA] detect hd & cd drives [ATA0?] ata-identity [packet] fat.handler be.handler, etc. [DOS] [Storage:Bus] [Storage:Controller] [MSS] USB setup [ehciInit] Port ? maps to controller ? [I2C] [ATI] [drm] nouveau [AROSTCP] if you have network driver prefs set up to start when booting </pre> ; If boot fails, please give us some indication (pictures or videos) where the boot stops and the message(s) on screen. AROS's native SATA/AHCI driver doesn't always work. If you get errors related to ahci.device, try disabling it. At your chosen boot entry in the GRUB menu, Press E, scroll down to the ahci.device entry, and add a # or ; at the start of that line or delete it with Ctrl-K. Then press Ctrl-X or F10 to boot. If your disk isn't accessible at all with this change, you might need to change the SATA controller to IDE legacy mode in the BIOS: however, making this change will likely cause problems booting Windows on the same machine (if it's already installed). To disable ahci.device permanently, edit the text file "SYS:Arch/pc/grub/grub.cfg", and remove the ahci.device line from all boot entries you intend to use. SATA AHCI Timeout while waiting for device to complete operations with BIOS SATA entry set to AHCI mode stops at "waiting for bootable media" screen, changing BIOS SATA setting back to IDE mode may allow it to continue booting The ATA driver doesn't always work. If you get errors related to ata.device, try using the alternative in sys:devs/alt which is an older version. Press E when your chosen boot entry is highlighted in the GRUB menu, scroll down to the ata.device entry, and change it to read "module /Devs/Alt/ata.device". Then press Ctrl-X to boot. To make this change permanent, edit the text file "SYS:Arch/pc/grub/grub.cfg", and change the path to ata.device in all boot entries you intend to use. Further options (removing the " ") to add to the GRUB menus to disable certain other components for debugging: <pre> Disable AHCI "AHCI=disable" Disable NVME "NVME=disable" Disable ATA: "ATA=disable" Disable ATA: "ATA=nopci,nolegacy" ATA safe mode: "ATA=nodma,32bit" Disable IDE from SATA: "ATA=32bit,nosata2pata" VIA / SIS with cdrom read io errors "ATA=nodma,nopoll" noacpi all [PCI] devices to be invisible to AROS. disk drives work but network, sound won't Set AHCI "AHCI=force150/force300/force600" Disable AHCI/SATA: comment out with a # ; or remove ahci.device line with Ctrl-K Disable USB: comment out # ; or remove pciusb.device and poseidon.library lines with Ctrl-K Disable native graphics: "nomonitors" USB3 "USB=xhci" </pre> Other useful grub command line options - nomonitors, noacpi, vesahack, nopoll Press Ctrl and X together (or F10) to exit and boot with the new options. Just experiment with different variations until successful. Those working options will need to be reused with every reboot of AROS until you can edit the grub.cfg and make it permanent i.e. install to hard disk or USB. * If you use VESA mode, you can see the debug log if you add 'vesahack' to the command line. This will set up split-screen mode. In the upper half you'll see AROS screen, in the bottom - debug log. * ACPI ie. PCI hardware - If you get crashes at early boot, try adding 'NOACPI' to the command line If you're having boot issues and have a null modem cable and a spare pc, a boot log is always useful. Edit your grub line to include debug=serial but would try with an with sysdebug=all in the line later as it can cause issues booting on machines with sysdebug=all enabled (corrupts the cpu initialization). However, if you feel you have found a genuine bug/fault in AROS that needs attention, please use the [http://sourceforge.net/tracker/?atid=439463&group_id=43586&func=browse bug submission form] to record as much information about what happened, why, and what hardware etc. you have so that people may try to assist you For Virtual machines VMWare VirtualBox, etc., attach and press play to start the ISO image If booting hasn't worked then it could be down to Bios/UEFI settings or USB3 (2014 onwards) =====nvme.device===== Since 2018, nvme drives are standard on most machines Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. =====AHCI===== Starting taking over since 2011 on a lot of machines * Check that UEFI (replacement for PC BIOS) has options set to remove UEFI SecureBoot option and apply CSM * SATA drive is set for Legacy or a mixture AHCI/IDE and not AHCI AHCI sata can be very difficult to get working Most Windows installs are already set to AHCI sata, changing this to a legacy IDE mode setting can help but please check if Windows will still boot. Some hardware like Lenovo laptops do not always like being set in legacy mode so only use as a last resort and aware of issues that can be caused. Now as far as hardware goes on a newer machine with an NVME drive you may need to add NVME=disable as the NVME driver could potentially cause lockups. With a 16C/32T chip machine, disable SMT and it should boot. =====ata.device for old BIOS's ===== Pre 2010 this was the de facto standard method of providing settings to the computer at a lower level Some adjustments to the BIOS setup options are necessary (usually by pressing a key like DEL, F1, F2, F12 or ESC, p on the very early boot up of the computer). *Adjust booting options like moving USB hdd, CDROM higher as it is quite often disabled or placed lower by default, i.e. USB hdd, CD/DVD are placed at the top above the hard drive. Try looking here [http://www.windowsreinstall.com/articles/bios/ Windows] or [http://www.hiren.info/pages/bios-boot-cdrom Bios] or [http://www.wikihow.com/Set-Bios-to-Boot-from-a-CD-ROM Boot] or web search "BIOS BOOT CDROM" * At the '''SAME''' time, check if the SATA/AHCI option is set to Emulate or IDE Legacy, though this can have '''issues''' with any OS already on the hard disk. If in doubt, do nothing and seek advice. * check that under BIOS settings you '''DO NOT''' have plug&play OS selected as Aros at this point is unable to route interrupts on its own and needs the BIOS to do that. '''Save''' options changed at the end. PCITool can show if the motherboard chipset is in IDE mode. Class = 0x01 means STORAGE, Subclass = 0x01 means IDE. Also ProductID 0x3a20 resolves to non-AHCI mode in Intel ICH10 documentation. ==Installing== We have a separate section [https://en.wikibooks.org/wiki/Aros/Platforms/x86_installing here] We have a specific section for each CPU platform under the Specific platforms in the NavBar navigation bar on the right hand side menu error code (-6) when using the ahci.device (has writing to disk problem but not reading) is enabled. change this line in your grub and reboot <pre> #module /Devs/ahci.device << disable module /Devs/Alt/ata.device << add this line instead </pre> ==File structure overview== AROS' directory structure is mostly identical to AmigaOS directory structure, with some additions. AROS: or SYS: also known as DH0: (i.e. the drive partition with AROS system) has the following simplified list of the main drawers (Amigas term for directories/folders). {| class="wikitable" |C: | small apps, where AROS looks first for applications/games but will look at Tools, System afterwards |---- |Devs: | .audio, .hidd, network, graphics and other hardware device drivers are stored |---- |L: | where .handler files go |---- |Libs: | where .library files go |---- |Prefs: | applications that adjust or setup AROS functions and capabilities |---- |S: | startup scripts (for the aros boot process '''not''' grub) are stored here |---- |Storage: | place to keep old or alternative device drivers |---- |System: | applications associated with AROS operating system |---- |Tools: | extra applications |---- |} See [[Aros/User/DOS#Drives.2C_Files.2C_Assigns.2C_Directories|DOS manual: Drives, Files, Assigns, Directories]] === Filesystem === Whilst the kernel is the heart, the filesystem is the blood of the system... *Journalling - ZFS XFS ext4 NTFS SFS PFS3 *Non-journaling - BtrFS [http://aminet.net/disk/misc ext2] exFAT FAT32(VFAT) FFS Filesystem options for AROS to install * SFS default * Professional File System PFS3 [http://eab.abime.net/showthread.php?t=52234&highlight=pfs3+free&page=13 m68k] * FFS very old now but left for legacy usage Other [http://archives.aros-exec.org/index.php?function=browse&cat=driver/filesystem filesystems] for storage purposes * FAT32 favorite as most OSs support * NTFS (can lock system) * exFAT PFS *minimises* the amount of fragmentation, but does not automatically defrags as it saves files to the drive SFS tries to do exactly the same thing, but in certain cases it doesn't do as well as PFS. But since you can defrag SFS The only filesystems that really NEED defragging are from Microsoft(TM) - exFAT/VFAT/NTFS <pre> Copy L/exfat-handler L: DOSDriver or Mountlist entry for an exFAT partition make sure that the FileSystem and Handler are set as follows: FileSystem = exfat-handler DosType = 0x46415458 </pre> <pre> Copy L/ntfs3g-handler L: DOSDriver or Mountlist entry for an NTFS partition make sure that the FileSystem and Handler are set as follows: FileSystem = ntfs3g-handler DosType = 0x4e544653 Also to make a read-only mount you can set: Control = ro </pre> The Smart File System (SFS) is a journaling filesystem used on Amiga computers and AmigaOS-derived operating systems. It is designed for performance, scalability and integrity, offering improvements over standard Amiga filesystems as well as some special or unique features. SFS is written in C and was originally created and released as freeware in 1998 by John Hendrikx. After the original author left the Amiga scene in 2000, the source code to SFS was released and its development continued by Ralph Schmidt in MorphOS. Its development has now forked; as well as the original Amiga version, there are now versions for MorphOS, AROS, AmigaOS 3, and a version for AmigaOS 4, which have different feature sets but remain compatible to each other. Versions for AROS, AmigaOS and MorphOS are based on different branches. In addition, there is a driver for Linux to read Amiga SFS volumes, GRUB natively supports it and there are free drivers to use it from UEFI. The Linux version is [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ independent code]. SFS (Smart File System) partially defragments itself while the filesystem is in use. The defragmentation process is almost completely stateless AROS SFS version has a 120GB partition size limit on hard disks and DVDs current 4gig size limit. The sources for the MorphOS 64-bit version of SFS were available but no porting to AROS has happened so far due to endian issues, etc. SFS Tools * GUI - arSFSDoctor, * CLI - sfscheck , [http://www.portacall.org/ sfsundelete], sfsformat, setcache hits a usability ceiling around the 10GB / 100,000 file mark, sfscheck dh0: seek purge fraglist defragment If there are two simultaneous file writes in progress and you reboot machine (or it locks up or crashes) you may end up with a corrupted filesystem. Although arSFSDoctor may help, you might have to copy the files to another partition, format the partition with the errors on and copy the files back. A bit error on the harddisk would give this error. PFS / SFS are way more advanced and much much faster than the FFS. FFS is supported for legacy reasons only. The Professional File System (PFS) is a filesystem originally developed commercially for the Amiga and now distributed on Aminet with a 4-clause BSD license. It is a compatible successor of AmiFileSafe (AFS), with an emphasis on added reliability and speed compared to standard Amiga filesystems. It also features multi-user abilities like the older MuFS. PFS has so many advantages including the important things, speed, the ability to recover all deleted files even simply same name by typing the command ". Deldir" convenient if done in Directory Opus, virtually deleted files are copied normally as if they had never been deleted, other convenience is to not ever invalidate the filesystem, just put it on top of the startup-sequence command "diskvalid", which automatically corrects any irregularities in the system startup; PFS also provides a device for floppy which makes them very fast and takes advantage of the full capacity of the floppy including the area dedicated to the bootloader. The device is split into two main areas. At the beginning of the device is the metadata section, which consists of a root block, and a generic array of blocks that can be allocated to store metadata. The rest of the device is another contiguous generic array of blocks that can be allocated to store data. The metadata section usually uses a few percent of the device, depending on the size of the device. The metadata is stored as a tree of single blocks in the metadata section. The entire directory structure is recorded in the metadata, so the data section purely contains data from files. The metadata describes the location of data in files with extents of blocks, which makes the metadata quite compact. When a metadata update occurs, the system looks at the block containing the metadata to be changed, and copies it to a newly allocated block from the metadata section, with the change made, then it recursively changes the metadata in the block that points to that block in the same way. This way, eventually the root block needs to be changed, which causes the atomic metadata update. The filesystem is reasonably good at keeping files unfragmented, although there is a defragmentation tool available which will work on an online filesystem ie whilst being used. It was the first filesystem to introduce the concept of the Recycle Bin natively at filesystem-level to the Amiga, holding the last few deleted files in a hidden directory on the disk root. PFS version 5.3 was developed in C and a small portion of assembly code by Michiel Pelt. There are endian issues to be overcome and adapting the small amount of m68k to C before use on intel based machines, etc. Autoupdate of files in a directory is already implemented in Wanderer, but not all file systems handle dos.library/StartNotify() in its full extent. It seems to work correctly in Ram Disk (thanks to AmberRAM handler), and it also works on SFS formatted devices. Other file systems might not yet have it implemented correctly though. The PC equivalent of the Amiga's RDB is the master boot record (MBR). ===Installing Applications=== The typical means to install applications under AROS/AmigaOS involves simply copying/extracting the archive (.zip .lha .rar .tar.gz) file containing the applications files to your own desired location i.e. drawer/folder. Once extracted, launching it by double clicking on an icon (recommended) or using the shell (alternative). Generally, this is on a separate partition from your AROS system files, however in reality it can be any location - including RAM: if you don't want it staying around too long especially when you switch off. At some time in the future it may be desirable for AROS to have a package-manager like subsystem able to retrieve information online about packages available for AROS and whether they update anything you currently have installed, however at the moment no such ability exists. ===User Data files=== AmigaOS has no notion of a default location to store user data files, and presently neither does AROS - though it may be desirable at some time to provide a common start location. For most people, extra small FAT32 NTFS partition(s) as well as the usual Sys: (DH0:) and Work: (DH1:) / Briefcase (DU1:) partitions to store data seems preferable. Especially if a reinstall is ever needed. ===User Environment configuration files=== AmigaOS/AROS stores persistent system configuration data in directory assigned to ENVARC:. This, by default, points to SYS:Prefs/EnvArc. During boot a copy is made to another assign, ENV:, which is for runtime usage. Changes to the files here will not survive a reboot. Setting the env variables is generally done by applications themselves, or when necessary by the user using the SetEnv command. SetEnv has a SAVE switch to force the persistent copy in ENVARC: to be written also for when you are sure the change should be permanent. Under the standard installation of AmigaOS style OSs, ENVARC: is copied to ENV: upon startup, which, if you have a hard drive installation, is in RAM:, hence, ENV: ends up being RAM:Env. ENVARC: is the Environment Archive, which is the permanent copy of ENV:, which is the Environment. It's roughly like the Registry in Windoze. Most programs do (and all should) store their settings in ENVARC: somewhere, and load them from ENV:. The effect of this can be seen in the Preference editors. If you Save your preferences, they go in ENVARC: and ENV:. If you click Use, they only go in ENV:. If you reboot, normally, anything saved to ENV: is lost, and is replaced with a copy of what is in ENVARC:. you can set the default public screen for any tool started from a cli with the PUBSCREEN variable. So open the pubscreen, set PUBSCREEN to the name and start newcli for example, then the new cli window (and all following windows opened from that window) will appear on that public screen. ===Drivers=== All hardware support is placed in the Devs drawer (folder/directory). The network drivers <something.device> go in the Networks sub-drawer. Audio drivers <something.audio> are put in the AHI sub-drawer. Graphics drivers <something.hidd> are put in the Drivers sub-drawer. ==Configuring== AROS has mainly decided on a MUI-like requester/menu/ clone so changing the background, icons, font, menus can be done with SYS:Prefs/Zune AROS has several desktop GUI front ends like * DOpus5 Magellan, Wanderer and Scalos (medium) * AROS Workbench, Workbook (smaller) File / Directory managers like Dopus4, MCAmiga, App Launch Shortcuts like FKey, Amistart, BoingIconBar, right mouse click on magellan, wanderer desktop, etc. General usability decisions - Prefs/IControl, Most apps can be autostarted by copying into SYS:WBStartup directory folder e.g. WeatherBar.zip can be downloaded, unzip and the contents of the zip copied to wbstartup folder ClicktoFront and .info to SYS:WBStartup so always be activated when turning on the computer or add a text line to user-startup is SYS:S (scripts version of wbstartup) e.g. standard Amiga / AROS does not allow clicking of background windows to come to the front to make it easy to get to the window you need but it has the ability if these apps are copied again to WBStartUp or are added to SYS:S/user-startup script run QUIET sys:Tools/Commodities/ClickToFront >Nil: run QUIET sys:Tools/Commodities/DepthMenu >Nil: run QUIET sys:Tools/Commodities/Blanker seconds=300 >Nil: Exchange controls Commodities and can be opened with alt, ctrl, h Although there are heaps of docks, menus and other launcher programs on the Amiga like OSs, FKey has got to be one of the quickest and less complicated ways to launch programs, and it comes with the OS. In SYS:Tools/Commodities, the FKey commodity (Ctrl Alt F) allows you to make actions assigned to some combinations of keys <pre> ALT TAB Cycle Windows Cycle Screens Enlarge Window Shrink Window Toggle Window Size Insert Text Run Program Run Arexx Script </pre> e.g. <pre> LAmiga F1 = Avail Flush LAmiga F2 = Open Prefs LAmiga F3 = Finder Alt Tab = Cycle Windows LAmiga Tab or M = Cycle Screens Alt Up arrow = Enlarge Window Alt Down arrow = Shrink Window Alt Home = Toggle Window Size = Insert Text LAmiga e = Run Program = Run Arexx Script </pre> If your FKey GUI pops up when you start your Workbench up and you don't want it to, click once on the icon, go to the Icons-Information in the menu and make sure it has the tooltype set "CX_POPUP=NO". Now let's launch it and assign the locale switching. After you double-click on FKey icon, launch the Exchange, choose the FKey from list and click the Show button. This will invoke the FKey window. You can see the ALT TAB in list assigned to window switching. Now enter the first key combination, say, ALT Z and go to the right panel. Choose Launch the program from pulldown menu and enter SYS:Prefs/Input as an argument. Append the USE switch and english preset name to the string as shown: SYS:Prefs/Input USE SYS:Prefs/Presets/english Click on the New Button to add the another combination. Now set the combination for your locale as shown above, replacing English name with your preset name. Click New button again and then Save Settings. Now you can use defined combinations to switch the layouts. Although not needed by most users, the system wide ARexx script capability can manage many file manipulation task(s) but this would work only with those program that support [https://en.wikibooks.org/wiki/Aros/Developer/Docs/Rexx ARexx] like *Desktop - DOpus5, Scalos *Dock - FKey, *Files - Multiview, DOpus4, *Internet Apps - Odyssey, WookieChat, *General Apps - the shell can be modified with escape strings but not needed in most cases Common Keyboard Shortcuts <pre> RAlt Right Alt Key LAlt Left Alt Key RWinKey Right Windows Key LWinKey Left Windows Key RAmiga Right Amiga Key (if one) LAmiga Left Amiga Key (if one) </pre> ;Bootup Options :Spacebar during boot, enters the bootmenu which allows a boot without startup sequence, etc ;Left Click :LAmiga = LWinKey = F11 ;Right Click :RAmiga = RWinKey = F12 ;Mark :RAmiga and B ;Cut :RAmiga and X ;Copy :RAmiga and C ;Paste :RAmiga and V ;Search :RAmiga and S ;Mouse Movement LAmiga and together with arrow keys - shift as well at the same time as well to move faster ;Mouse Selection LAmiga and LAlt to select ;Screen Switching LAmiga and M or N ;HELP key Can sometimes be mapped to F11 but can be changed via FKey ===DOpus 5 Directory Magellan=== Dopus 5.x is a whole desktop replacement on the Amiga Workbench (Desktop). Assign DOpus5: SYS:System/DOpus Left mouse button clicked twice on the desktop background brings up the Device List window. Green strip notifies SRCE (source) and if another is open it may be red for DEST (destination). clicking on the red strip changes to green Word list of actions with a left mouse click on the DOWN Arrow and directory stuff with < button next to it single-key hotkeys? exactly the same as in dopus4, edit your functions (button bank, toolbar, menus etc.) and under the flags gadget is a key gadget, just click in it and press the key you want to use. As for the extra text field... try turning off Extended lister key selection in environment / miscellaneous. Shift and click on the icon - runs the icon Settings (Right Win key together with 4) -> *Toolbar -> Editor (Right Win Key together with 1) for Copy, Move, Delete, etc above the Device List *Listers -> Menu (Right Win Key together with 2) *Buttons -> Editor (Right Win Key together with 3) unknown *Settings -> Clock (add to title bar as well as the date) *Settings -> Environment (Right Win key together with 4) for Backgrounds, etc *Hotkeys -> Setup for quick shortcut keypresses (Right Win Key together with 7) Each Dopus5 theme are stored in a separate directory, named appropriately, which contains further sub directories * Font (amiga bitmap fonts) * Screens (jpg or any picture supported by datatypes but not animations) * Sounds (wav but not iff 8svx ) * Icons (png newicons glowicons ) * Patterns (iff jpg png ) [https://aminet.net/util/dopus arcdir and themes] arexx / dopus5 scripts see dopus5:arexx/ folder Just use wildcards in background filenames and you get different pics in reboots! For example, configure in Environment -> Backgrounds -> Desktop something like this: <pre> Work:Pictures/Backgrounds/#? ...or Work:Pictures/back#?.iff ...etc... </pre> If you want change the bg backdrop pic in runtime after some time, an arexx-script for it (paste it into a text file called dopusrandbg.rexx or dopusrandbg.dopus5 <pre> /* Changes DOpus background image forever Start with: Run >NIL: RX dopusrandbg.rexx */ if ~show("L", "rexxsupport.library") then do if ~addlib("rexxsupport.library", 0, -30,0) then exit 10 end /* Configure these two lines for your needs: */ minutes=1 picpath="Work:Pics/#?.iff" address DOPUS.1 do forever call delay 3000*minutes dopus set background '"'picpath'"' desktop center custom dopus refresh background custom end </pre> If you don't want to use/open rexxsupport.library just for DELAY() then use the DOS Wait command <pre> /* random diropus backdrop changer */ /* by paul trauth, 1999 */ /* to do: non-repeatable randomness? */ options results parse arg path address DOPUS.1 /* get current backdrop pattern so it actually changes */ dopus query background desktop custom currentpatt=result lastslash=lastpos('/',currentpatt) currentpatt=substr(currentpatt,lastslash+1,(pos('"',currentpatt,2)-lastslash-1)) dir=showdir(path,'FILE','/') num=0 do while dir~='' where=pos('/',dir) if where>0 then do file=left(dir,where-1) dir=right(dir,length(dir)-where) end else do file=dir dir='' end if left(file,1) ~='.' & file~=currentpatt then do pics.num=file num=num+1 end end which=random(0,num-1,time(s)) newbg='"'||path||'/'||pics.which||'"' dopus set background newbg desktop tile precision exact dopus set background on dopus refresh background </pre> It's WB ARexx interface, you could enter a cli command as a menu item to open a WB drawer like this... RX "address WORKBENCH;WINDOW 'device:drawer' OPEN" Where device:drawer is replaced by the path of the drawer to open. The ARexx script would be capable to manage such a task but this would work only with those program that support ARexx ===Wanderer === Backgrounds icon text sizes, colors, etc. with wanderer prefs in the prefs drawer but cannot use #? or *.* in the backgrounds file entry to randomly choose pictures Enable the bar, you need to edit the text file ‘statusbar.prefs’. The change is simple: just change “False” to ‘True’. Prefs/Env-Archive/SYS/Wanderer/statusbar.prefs Provides a way to hide the old Workbench 3.1 style of windows and screens. Themes - SYS:Prefs -> Appearance The default content of Prefs/Env-Archive/SYS/themes.var should be "themes:ice" but can be changed via the theme prefs, please do NOT click the Use button. Its useless. As you know, it will ask for the theme volume. Just pick the theme you want, click on Save, then reboot. * Decoration is on. Any time trying to change theme, you get: "Please insert volume Theme: in any drive"? You could check if you find SYS:System/Themes or if it is missing. Then you could open startup-sequence which you can find in drawer "S". There should be a line: Assign THEMES: SYS:SYSTEM/THEMES >Nil: This does the trick. Open a shell and run: Assign THEMES: SYS:SYSTEM/THEMES Than start the Theme prefs again... this should work * The theme is the only thing that could slow the system a bit, but it's not that performance impacting on most uses, and you can switch it of completely. Remove C:Decoration from the bottom of the file sys:s/startup-sequence. [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/theme ALua/Zulu script] built for faster Wanderer skin management. You can modify config files, install new (wdz format/zipped skin files) and delete skins via the Theme Manager. [http://sites.google.com/site/arosaspireone/download-1 Global.Prefs] ===Scalos=== [https://web.archive.org/web/20180922220139/http://scalos.noname.fr/ Scalos] is not an OS replacement, it's a Workbench replacement. It replaces the desktop and graphical file management components. Scalos is 100% Workbench replacement with most functions working like the original Workbench ones. Undo and Redo available for most window and icon operations. Fully multitasking so every window has its own task. While loading icons, any window function (e.g. Drag&Drop) is available. 24bit color support with window patterns - Unlimited and easily configurable via tooltypes. Optimised backgroundpatterns routine so patterns can be tiled, centred or even scaled to fit into the windows. Live updating window scrolling - Supports middle mouse button panning and drawer (folder) windows can be iconified on the desktop. Icon imagetypes with all types are supported such as backfill or complement. Configurable surrounding iconborder. Icon support also visually highlights files which are soft-links in the file system. Icon dragging is more stable and far less flickery on graphics cards. Whilst dragging, icons are displayed with text and they can become transparent over anything where they can be dropped. Single-window lasso mode, with scrolling window contents invoked by dragging mouse with configurable qualifier key. Text icon lasso selection used to ignore "Name column selects text icons" flag. Support for backfilled thumbnail icons, with selectable color and transparency. Added option to always generate square thumbnail icons with preview icons for images - Thumbnails can be permanently saved in icons. Supports PNG icons with alpha channel and real transparency and displays OS3.5 GlowIcons and are all scalable. Iconborders with variations (normal, shadowed, outlined). Completely configurable, filetype-specific user-definable popup menus and tooltips. Plugin system to exchange or add features and can enhance the Workbench and make it more configurable. Filetype plugins to display filetype-specific information. - Currently, EXIF information viewer for JPEG images is included. Plugin included for 100% support of OS3.9 Workbench features. Plugin included for AREXX API compatible to OS3.9 Workbench. Online update with updater.module Scalos works also as a Workbench replacement. In this case the 'emulation mode' has to be set by using Scalos' own version of LoadWB and offers * Scalos uses the Workbench Screen for its windows instead opening a new one * AppIcon, AppMenuItem, AppWindow functions are redirected to Scalos * all Programs placed in "WBStartup" should start * The Screen will be reopened in case of changes in ScreenMode and Palette settings <pre> v1.0 (V39.201) - November 1999 v1.1 (V39.212) - December 1999 v1.2b (39.220) - June 6, 2000 v1.2d (39.222) - 2000 (latest public beta executable) v1.3 (40.7) (beta) - August 2, 2001 v1.3 (40.22) - September 25, 2002 v1.4 (40.32) (beta) March 31, 2005 v1.6 (41.4) - March 27, 2007 v1.7 (41.5) - August 12, 2007 v1.8 (41.6) - March 12, 2009 v1.9 (41.7) (beta) - March 15, 2010 v1.9 (41.8) (RC1) - August 25, 2012 open source v1.9.2 (41.10) Deadwoods' AROS late 2022 32bit and 64bit build unifying the code base of ` for AROS x86 ABIv0, AROS x86_64 ABIv11 and AROS m68k </pre> Distros may have Scalos files under SYS:System/Scalos or Extras:Scalos. Known [https://github.com/deadwood2/AROS/issues/75 bug list], Certain files like Menu13.prefs, Palette13.prefs, Pattern.prefs and scalos.prefs need to be in SYS:Prefs/Env-Archive/Scalos they can be found in Scalos:Storage/envarc and country drawer or run the "Scalos Menu" preferences program. Note if already setup with sub-menu entries and then re-save your menu prefs as it will now generate a new/overwrite prefs file called "Menu13.prefs" in "envarc:scalos/". The same is also required for the new Palette prefs update, click 'Save' and a "Palette13.prefs" file will be saved in to "envarc:scalos/" directory. <pre> ASSIGN Scalos: SYS:xxx/xxx DEFER ASSIGN Libs: Scalos:Libs add ;ASSIGN SYS:Devs/Datatypes Scalos:Devs/Datatypes add Assign Theme: Scalos:Themes/Default_Theme add Assign Locale: Scalos:Locale add Protect Scalos:Tools/browse.script s add quiet Protect Scalos:Tools/OpenShell s add quiet Protect Scalos:Tools/run.script s add quiet run Scalos:Tools/LoadWB ;Scalos:Scalos </pre> Add the above to SYS:S/startup-sequence or SYS:S/user-startup '''before any Wanderer entries''' In the prefs drawer (folder) is the big prefs app Scalos_Prefs which covers these user setup areas <pre> About Scalos Paths - should be preset Startup - WBStartup drawer contents should auto run on each startup Desktop - edit titlebar, icon layout and in misc, auto leave-out (drag icon to desktop) Icons - Drag and Drop - Windows - Text Windows - in misc, drawer sorting at start of listing if needed TrueType Fonts - use Truetype fonts rather than system ones Miscellaneous - Plugins - after adding oop/title_clock.plugin %ti %da does not work, maybe needs ASCII .prefs added Modules - ?? Menu - setup for MainMenu and PopupsMenu with New Menu, RE Name, Key: shortcut, Command Properties FileTypes - already added def_Project icons and def_Disk (hdd sdd cd dvd etc) support PopupMenu - tweak how popups appear Pattern - Wallpaper backgrounds with Type DE, each pattern in the list can be edited, Save as Pattern.pre Palette - change the color of things , Save as Palette.pre </pre> Scalos_Prefs - Pattern - Minimum options to be changed are *DE Desktop/Background *SC Screen *TW Window/TextBackground ie Text listing showing if icon type not recognised *IW Window/Background ie Icons showing Workflow - In "Pattern List" tab, select New - choose a picture, highlight in list, click in number box under New button and slide to another number, click on "Defaults" tab and adjust Pattern numbers slider to choose right picture for each of the above options - Click "Pattern List" tab to check eveything is OK and click Save Pattern List tab on Patterns Page - Allows you to compile a list of pictures (one at a time rather than a whole folder e.g. with #? or *.*), assigning a number Nr to one or more of them for easy reference. Using this number you will be able to assign the pictures to specific windows on the Defaults tab Page. If multiple pictures have the same number, one of the pictures will be chosen randomly. This will allow you to have random desktop pictures, random window backdrops etc. Defaults tab on Patterns Page - Here you can set the defaults for the background pictures for the Desktop, Screen, Window and/or Text Mode throughout Scalos. Randomize every time [check box] - Usually Pictures with the same number will be randomly selected as soon as the configuration loads. If this option is set, the picture will be selected as soon as a window with the same number assignment is opened. *Fit size: The picture will be resized to the dimension of the new window.You *MUST* have set GUIGfx on. asyncron layout: Pictures will be loaded and rendered while the windows opens (Like original Workbench). If this function is 'off', pictures will always be loaded before opening the windows. *Use friendbitmap : The picture is present twice in memory for best speed. This option has no effect if V43 picture.datatype or GUIGfx are used. Always relayout: If "Fit size" is set, the picture will be scaled everytime the window's dimensions change. *Randomize everytime: Usually Pictures with the same number will be randomly selected as soon as the If more pictures have the same number, one of them will be chosen randomly. Patternlist New/Delete : Add a new picture. After that you should assign a number to it. The picture will be rendered as tiles. configuration loads. If this option is set, the picture Asyncron-Task priority: You can set the CPU priority for the Task if "asyncron layout" is set. <pre> Desktop: Number of the Picture for the main window. Screen: Number of the picture for the Scalos-Screen. Window: Number of the picture for the Scalos-windows. TextMode: Number of the picture for the Scalos-windows in Text Mode. </pre> Popup Menu preferences fully configurable menus (includes ToolsDaemon and ParM launch apps import), including support for context-sensitive Popup menus configs for top pull down menus for apps, etc. Workflow - Scalos_Prefs then Menu, New Item, New Command add name at top then in Command Properties e.g. add Workbench and location e.g. DOpus:DOpus4 for apps Command for c apps or Rexx for scripts or Plugin for or AmigaDos for modules <pre> DESCRIPTION NAME/A This is the title that is displayed in the top line of any popup menu INCLUDE NAME/A Name of file to be included. Path can be relative to "Scalos:FileTypes" POPUPMENU Starts the popup menu description section for this filetype. </pre> The following Subcommands are allowed inside popup menus: <pre> SUBMENU "NAME/A" ENDSUBMENU MENUENTRY "NAME/A,KEY/K,DEFAULTACTION/S" ENDMENUENTRY INTERNALCMD "NAME/A" WBCMD "NAME/A,STACK/K/N,WBARGS/S,PRI=PRIORITY/K/N" AREXXCMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" CLICMD "NAME/A,STACK/K/N,WBARGS/S,P=PRIORITY/K/N" ICONWINDOWCMD "NAME/A" PLUGINCMD MENUSEPARATOR ENDPOPUPMENU TOOLTIP ENDTOOLTIP </pre> <pre> Starts the tooltip description section for this filetype. The following Subcommands are allowed inside popup menus: GROUP "ORIENTATION/K" ENDGROUP MEMBER "HIDE/K" ENDMEMBER HBAR STRING "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K" SPACE "SIZE/N/A" DTIMAGE "FILENAME/A" </pre> Each theme drawer (folder) has these further folders <pre> About - Desktop - FileTrans - FileType - Icons - Menu - Modules - PointerIcons - Prefs - Sound - Window - </pre> *Plugins <pre> devicefilter.plugin persist.plugin should a crash or reboot occur - next time Scalos started, all windows re-opened title_clock.plugin add digital clock to title see more below title_envvar.plugin %ev, which can be used to display the value (a string) of the variable in the titlebar title_freepens.plugin volumegauge.plugin wb39.plugin wbrexx.plugin plugin adds a Workbench 3.5+ compatible AREXX interface to Scalos internals xtwindows.plugin left or right ALT or left or right SHIFT keys when open/close windows filetype.plugin then run FileTypes-prefs and customize the filetypes (eg import from a DefIcons-brainfile) menu.plugin </pre> *Modules - delete, empty_trashcan, execute, find, format_disk, information, iconproperties, newdrawer, reboot, rename, systeminfo, windowproperties *Tools - scripts like LoadWB, quit.rexx, open_volume.rexx, In Scalos_Prefs->Filetype->Recognition you can define the filetypes and on "Action" you define specific context menu for all filetypes defined in recognition (similar to magellan) there is the same you must show all first (list is only limited) so you created a file type AAABBB, you need to have def_AAABBB icon Associating files with "Scalos_FileTypes" is very simple, practically it is very similar to Dopus4, first you create the Def_icons to assign to the file type (will be seen automatically ), then run "Scalos_FileTypes" you add the extension, fill in the descriptor (MATCH or PATTERN etc..) and save then you create a appropriate entry in the list and rename it, if def icon exists it is shown. Below you can define how files are identified. I use "pattern", similar to magellan to identify file by ending. Then you click on the shown icon and define in it what program is used when you double-klick on it and save it. On the tab action you can define popup menu for it. defined all archive types from XAD in "filetypes". If you change to "action" and click on "archive" you can define the context menu that is shown if you do not define a specific context menu for a filetype Reset to Default in Scalos_Prefs resets all settings so BEWARE <pre> The Scalos desktop screen titlebar may be configured using the main Scalos Preference program. This oop/time_clock plugin adds some additional placeholders: %ti, displays the current time in the default Locale format. e.g. "10:43:37" %da, displays the date in the default Locale format. e.g. "Saturday 14 July 2001" Using the supplied prefs program for the plugin, or editing the ASCII file ENVARC:Scalos/title_clock.prefs you can use the following standard Amiga Locale values to change the formatting %a - abbreviated weekday name %A - weekday name %b - abbreviated month name %B - month name %c - same as "%a %b %d %H:%M:%S %Y" %C - same as "%a %b %e %T %Z %Y" %d - day number with leading 0s %D - same as "%m/%d/%y" %e - day number with leading spaces %h - abbreviated month name %H - hour using 24-hour style with leading 0s %I - hour using 12-hour style with leading 0s %j - julian date %m - month number with leading 0s %M - the number of minutes with leading 0s %n - insert a linefeed %p - AM or PM strings %q - hour using 24-hour style %Q - hour using 12-hour style %r - same as "%I:%M:%S %p" %R - same as "%H:%M" %S - number of seconds with leadings 0s %t - insert a tab character %T - same as "%H:%M:%S" %U - week number, taking Sunday as first day of week %w - weekday number %W - week number, taking Monday as first day of week %x - same as "%m/%d/%y" %X - same as "%H:%M:%S" %y - year using two digits with leading 0s %Y - year using four digits with leading 0s </pre> Shutdown -> right mouse button Scalos, About, Reboot, Shutdown ToolTypes can be added to the Scalos.info icon like *SCALOS_PATTERNNO=<number> : background image matching the number *SCALOS_NOTEXT : The Icon will be drawn without Text. *SCALOS_NODRAG : The Icon will not be draggable. Its position will be fixed. *Module iconproperties - Added SCALOS_BROWSERMODE tooltype support runcommand parameters... in which case: <pre> %p = parameters %w = directory path %d = device-name %% = literal percentage token </pre> With the help of the wbrexx.plugin Scalos gains support for more of the compatible arexx API If an arexx command produces an error you will find the error code placed in the WORKBENCH.LASTERROR variable. ACTIVATEWINDOW <pre> /* Activate the root window */ ADDRESS workbench ACTIVATEWINDOW root /* Activate the "Work:" partition's window if already open*/ ACTIVATEWINDOW "Work:" </pre> CHANGEWINDOW <pre> /* Change the root window; move it to position 10,30. * and change its size to 200100 pixels */ ADDRESS workbench CHANGEWINDOW root LEFTEDGE 10 TOPEDGE 30 WIDTH 200 HEIGHT 100 /* Change the currently active window */ CHANGEWINDOW active 20 40 200 100 </pre> Most of Scalos' issue are due to the flexibility of its' user configuring nature but if The sort menu plugin needs to be ported from ASM to C. IIRC Scalos has a command line option to fully replace Workbench/Wanderer. The Theme: assign is used by both Wanderer and Scalos but I didn't have any problems using both at the same time. The Program will be started from the Shell. If "WB Args" is set, with the Argument "%p" will be replaced by the path of the activated Icons. The Program will started with the specified Stack value. IconWindow: Scalos opens the window of the specified path. PlugIn: Starts a Scalos Menu-PlugIn. If a Menu Item with empty name is specified, Scalos displays a separator line. It's possible to Drag&Drop an Icon in the Configuration Window. All values will be set accordingly. Entries may be dragged across the list. Mac-like selection : This function activates a multiselection method used on MacOS or Win95. Don't have to hold down shift to drag them. Clicking on an already activated icon will not deselect all other icons. MMB move: The window contents may be moved using the middle mouse button. WindowPopup title only: PopupMenu for windows can be opened only on window's title bars. FullBench: Screen-Titles removed and Main Window set Full Size. Scalos Prefs. Go to Settings->Scalos->Prefs and then the Misc section. Remove the tick against Full Bench. If you've enabled it, the titlebar will disappear when you select backdrop. Default Icons saveable : The icons which Scalos generates if "show all files" is enabled, can now be saved using "snapshot" menu option. load DefDisk first : Try to read the icons first from the DefIcons Path before using disk info. Hide hidden files : If this function is activated all files or directories where the "hide" flag is set will not be shown. Many of my Icons display more than once on the screen, while on the workbench all seems ok. The Workbench filters double displayed icons, Scalos does not. Solution: please edit the ".backdrop" file and clear double lines. Background images not scaled. GUIGfx option not set or guigfx.library and/or render.library not installed. If working with CD's causes crashs or Scalos doesn't work correctly. Most Filesystems doesn't support the ExAll function correctly. Disable "Use ExAll" in Scalos prefs. Scalos doesn't start any program in the WBStartup. WBStartup Path may be set wrongly or Scalos was not started in Emulation Mode (LoadWB etc) Some programs will not startup with error message "has not returned, wait some more"? and "unable to open your tool" need a def_icon with the same name predefined, then create an appropriate entry in the list and rename it, if def icon exists it is shown. Below this can define how files are identified. * either "pattern", similar to magellan to identify file by ending * or Then click on the shown icon and define in it what program is used when you double-click on it and save it. On the tab action you can define popup menu for it. All in all handling is of course different to magellan but can do similar For the RAM Icon, to obtain this you have only to copy the icon in the Icon Path as "RAM.info" or "Ram Disk.info". All functions will automatically be performed sometimes cut into half or quarters when scrolled off screen or drawers moved - settings issue probably Sometimes leaves initial drawer window imprint on desktop when moved - settings issue Scalos AROS released a [https://github.com/deadwood2/contrib/tree/master/scalos new build V2022-07-21] with the following changes noted: <pre> Fixed: Numerous crashes when working on 64-bit with 64-bit heap Wrong background color of Scalos logo on Scalos splash window Backgroung image of Scalos splash window and Scalos About window is not visible Icon labels on desktop and in drawer windows are displayed using Topaz instead of Arial font Font.prefs are not being loaded on 64-bit Font.prefs are being wrongly saved on 64-bit scalos.prefs are not being loaded on x86 and x86_64, scalos is using always default preference scalos.prefs are being saved on x86 and x86_64 in format not compatible with m68k NewPopupmenu.prefs is wrongly written Plugins are not loading at Scalos startup wbrexx.plugin is crashing at startup on 64-bit Multiple controls missing on Scalos Prefs/Icons page System crash when clicking on def icon image on FileTypes Prefs/Recognition page Status bar, control bar, buttons sometimes don't have images displayed Buttons in Scalos About window have white corners rendered where they should be transparent Crash when leaving out an icon Crash when adding a User-defined Button to Control bar without setting it's properties in Scalos Prefs Crash when removing any button from Control bar in Scalos Prefs Scalos Prefs allows editing TTEngine font properties when TTEngine is not present causing crash in Icons/Labels and Text Windows/Fonts pages deficons.prefs are not being loaded on x86 and x86_64 Reset to default in FileType Prefs and Save does not save preferences Won't fix: Scrollbars visible on titles of TrueType Fonts, PopupMenu, Menu, FileTypes, Pallette and Pattern pages of Scalos Preferences Not fixed: Wrong rendering on DualPNG icons Refreshing drawer windows is slow Starting Prefs/Locale or Prefs/Input from Scalos causes other preferences to fail Desktop wallpaper is damaged where Splay window was displayed When started from Wanderer, after saving Scalos Prefs, reload does not re-open main Scalos window Difference in behavior between Cleanup from popup menu and Cleanup from top menu - possibly due to missing plugin, check Cleanup association in Menu Prefs </pre> ===DOpus 4 Directory Opus=== Copy DOpus4 app to WBStartup directory folder so it starts on boot up each time Another method is add the below to the bottom of the user-startup script in S: drawer/directory <pre> run DOPUS:DirectoryOpus -i >NIL </pre> makes DOpus starts up in Iconified state at the top of Wanderer's screen. Left click on this to highlight and right mouse click to open. Just click on the sides of either outer edges of DOpus windows and it will display the parent device/volume list. DOpus saves it features in a CFG file which can be edited to suit anyones' needs by reading the [http://archives.aros-exec.org/index.php?function=browse&cat=utility/filetool Dopus Manual] which is in Guide format. ===AmiStart=== Auto generates the apps menu but scans the drive each time - AmiStart can choose apps you are not interested * how to disable annoying zune/mui 'bubbles'? try a right-click on AmiStart and release on Global settings. Then click on the bubbles gadget. Move the Show Bubbles slider all the way to the left. ===BoingIconBar=== User chooses the apps to add to the dock at the centre bottom of the screen but has to be done manually, please use Save afterwards Or easier edit the text file of SYS:Prefs/Env-Archive/iconbar.prefs and save <pre> SYS:System/Shell SYS:Tools/DOpus4/DOpus4 SYS:Utilities/Editor SYS:System/SysMon SYS:System/Scout Work:Extras/Internet/OWB/OWB Work:Extras/Graphics/Lunapaint Work:Extras/Graphics/ZunePaint AROS:Tools/MPlayer/MPlayer Extras:Internet/AmiFox/AmiFox </pre> right mouse click on bottom edge of screen where boingiconbar shows - select settings which opens BoingIconBar Preferences to add apps If no dock showing Add, to add apps click Add Program and search for the executable another method is to drag icons to ends of the bar and move them on the Bar using the Prefs/BoingIconBar ===Icons=== Icons are typically now .png pictures renamed as .info e.g. so Office application name would have a Office.png renamed as Office.info or MyApp.png as MyApp.info, etc. Leave Out menu option to leave app icon on desktop To select multiple icons and save their positions, click on the first icon and after while you hold the Shift key down select further icons and don't release it before SnapShot is finished. You can also select a whole group of icons by pressing the LMB at the top left of the icons and while keeping the LMB down moving the power towards the bottom right. A expanding bounding box will appear and all the icons within it will be selected. Clean Up menu option (right mouse button -> Icons) rearranges icons in a drawer or disk window into a neater condition. To use, open the window to rearrange and select Clean Up. To keep the icons in the new positions, select all the icons (shift key or mouse selection) and select 'Snapshot' and then Window and then again with All. In DOpus5, Scalos, wanderer, most files have an icon file associated with it. To change the default tool, select Icon menu, Information, and change the default tool string. For example, you could use Multiview, Editor and so on for most text, graphics and some sound files as long as the appropriate Datatype classes are installed. For scripts, set the tool to C:IconX C:Join Image1.png Image2.png TO MyFile.info is enough to make a dual state icon from two png images. You can then use Wanderer's menu Icon/Information on it to edit its fields and tooltypes. [http://www.amiga.org/forums/archive/index.php/t-46881.html Amiga OS 3.x AfA icons thread], [http://eab.abime.net/showthread.php?t=66213 Later DualPNG and OS4 icons thread] and [http://archives.aros-exec.org/share/graphics/icon/ Alternative Icons sets] like [http://www.amiga-look.org/artwork/classic-wb-png-iconset-l ClassicWB] [http://www.masonicons.info/6.html AISS toolbar images] unpack unarc them into RAM: and copy Images directory to SYS:Prefs/Presets/ AISS icons are looked for in PROGDIR:, PROGDIR:Images, SYS:Prefs/Presets/Images and then in TBImages: according to Open Amiga guidelines. there is Demos/iconscale which could be launched from S:User-Startup with two arguments, telling it the horizontal and vertical size. IE something like Demos/iconscale 40 40 It will shrink icons... not sure if it will be very nice though. it doesn't work for the icons on the main desktop. there is an option to scale an icon to a bounding box afair, try iconsize followed by two numbers, like: iconsize 32 32 Is there any way in AROS to change an icon type from Project to Tool or vice versa? Either the SIT option of [http://archives.aros-exec.org/index.php?function=showfile&file=utility/workbench/ ProcessIcon], or the TYPE option of HandleInfo (not sure if this one works at all, please test with care). processicon sys:pathoftheicon SIT=Project SIT Set type of ICON. Allowed types are: "Disk", "Drawer", "Tool", "Project", "Garbage", "Device", "Kick" and "AppIcon". Btw, are your icons, the #?.info files, writable, is the W flag set ? ===Fonts=== Install the #?.ttf files to SYS:Fonts/TrueType. Use SYS:System/FTManager to "Install Font" each #?.ttf file which will generate associated #?.otag and #?.font in SYS:Fonts. Use SYS:Prefs/Fonts to change system fonts and SYS:Prefs/Zune to change others. To achieve our goal we will use the Setup Locale, Input, Zune and Fonts, as well as The FTManager. Begin The first step you should do is to get the system to know that we speak and write in another language. What you need to do is to open the setup program and choose Locale country, and list "preferred languages" to put it first and then English. If you want the tab "Time Zone" and select city of residence to set the clock correctly. Of course we save our changes and continue opening the setup program Input. This sets the keyboard language as our beginning. When the language layout was created there was no option to switch to Aros keyboard (layout switching), so to write in the language you had to hold down Alt, something you encounter in other functions. This time working with the team of Aros to create a new keyboard layout to replace the old so we can get rid of the button Alt. For now though let only selected this layout and do not turn the switch on the keyboard. Custom Keyboard Layout [http://repo.or.cz/w/AROS.git/tree/HEAD:/workbench/devs/keymaps keymaps are in place but unfortunately when they are not, then indeed things become a bit 'low-level' as it involves redefining some tables with values that match your keyboards] only need to add your compiled table as new keymap. So taking a little peek here shows that it should be possible to compile using gcc -opc105_tr pc_105.c -nostdlib where the pc105_gr/pc_105.c needs to be replaced with your own adjusted keymapname/c-file [https://en.wikiversity.org/wiki/Enabling_Greek_Characters_on_Your_Keyboard General overview of Greek letters on keyboards] Installing fonts *[http://aminet.net/package/util/wb/EPAGrWb System jaggy] *Outline resizable .font .otag In this step you need to download some fonts that can support the encoding in our system. The easiest way is to run the script "Download Fonts" you'll find in the folder OWB. This script downloads from the Internet, and unpacks some fonts for OWB web browser, which is placed under the folder Fonts:TrueType. But as these can only be used by OWB and not the system, which unfortunately does not see. To make them available to the rest of the system, open the program FTManager, you will find the folder AROS: System /. From there select the field "Codepage" option "ISO-8859-7" and list the font "Arial" and "Regular" form in which you must double-click with the mouse. In the window that appears, select the bottom right the checkbox "Anti-aliasing" button and then "Install". Immediately folder Fonts: created files "arialregular.font" and "arialregular.otag", which are necessary in order to see the system font. Do the same steps if you wish for other fonts. Final stages After completing the above, open the folder AROS: Prefs / and run the program settings Fonts. In the new window, select the fields "Icons" and "Screen" as the font "ArialRegular" to the size you want. In the field "System" to give "s_courier", which, however, because it is not True Type Font support Antialising, and may seem a little broken. You can also use the CourierNew, if you have installed the above procedure. After you save the changes and open the Zune program settings. In this set the "ArialRegular" font fields in tabs "Windows" and "Groups", and save the changes. Reboot the system. To make sure that the above worked properly run NoWinED, which you will find under the folder AROS: Tools /. If that everything is working correctly you will see the menu and the settings window with Greek letters. You can also write in the language using the button Alt. Second program that you can try, which is fully localized, is WookieChat, which you will find in the folder AROS: Extras / Networking. And in this place all the menu and settings window works. ===Windows=== *Intuition The window you position and resize, you right click on that windows title bar and in the dropdown menu you snapshot from there. Right click to show menu -> Window -> Snapshot Windows or All but it will NOT work if that folder has no icon (e.g. Disk.nfo) attached to it. You need a folder icon. The window information gets saved in it. As for maximising the window using a shortcut key - Alt and up arrow key The AROS-Shell windows can be moved, resized by editing sys:s/icaros-sequence <pre> ; run shell if ${Icaros/autoshell} EQ true run QUIET c:newshell >NIL: EndIF </pre> ; slimmer right aros the screen run QUIET c:newshell con:0/150//300/ >NIL: ; top right corner scr-x scr-y win-x win-y run QUIET c:newshell con:600/150//300/ >NIL: *Zune - AROS version of MUI Magic Menu type functionality is implemented in IControl preferences editor: in the frame called Menus, switch type from Pull-Down to Pop-Up and/or iControl just tick the sticky menu option. Windows outside screens causing a problem either uncheck "Offscreen move" for windows in IControl prefs editor. Or use FKey commodity and define two key shortcuts: * the first using the command "cycle windows" (for example ALT TAB); * the second using the command "rescue window" (for example ALT F5). Now you can cycle windows until the one you want to rescue, and then "rescue" it: it will move back inside your screen. How to save the window size on wanderer (snapshot all, snapshot windows) Same for icon position on wanderer, can't save the position. Icon position cannot be saved yet, but you should be able to save the window position and size. sys:prefs - wanderer icon has option to save window size on exit but just for dh0. To get saving working on (DH1: Extras:) partitions try deleting the dh1 disk.info file, then reboot. The system should create a new dh1 icon. * how to set up permanently 'view all files'? As for viewing all files, removing disk.info for that disk did the job * how to list and kill processes (xkill would be useful) ? sys:Extras/System/Scout can kill apps sys:Tools/Commodities/Exchange can remove available commodities * how to restore 'go up' button in wanderer window? (it doesn't show up anymore). If you're using Icaros, go to the theme prefs and make sure that decoration is checked. Also, some themes do not use a parent button, so try another theme. You may have to restart Aros before the theme will change. * Is it really safe to turn off (hardware button) computer at any time (worried about USB hard disk) yes you can turn off the computer IF none of the drives are in progress (i.e. writing). Best to use Wanderer menu option Quit otherwise ===Printing=== This is still work in progress print from my AROS box! <pre> 1. installed printfile ( http://www.lerup.com/printfile/ ) on my Windows XP computer 2. set up the print spooler option, and used ghostscript filter for ps files 3. made the spool folder accessible from ftp (setting up ftp server on Windows) 4. send the ps file from my AROS box to the ftp server using curl (curl -T filename ftp://windows.box.adress --user username:password) </pre> It's a bit complicated but it works! *Postscript Best to set Printer Prefs in the Prefs drawer to print-to-file or parallel/USB port Save document in postscript or convert picture/text to postscript Print using compatible [http://en.wikibooks.org/wiki/Aros/Platforms/AROS_USB_support#printer.class_-_PostScript_3_and_internal_ghostscript_drivers Ghostscript printer] or Postscript printer *GutenPrint Some work has been done ;There are no individual drivers yet for HP's Photosmart, EPSON's EPL, CANON's, Lexmark, CUPS PPD, etc. ===Files=== ====File endings and datatypes==== * Check if the file has his own .info icon file with a tool set to open it. IIRC this has higher priority over the def_XYZ.info file association. * In ENVARC:SYS/def_Text.info or whatever def_ file needs changing, use Wanderer's menu Icon -> Information and change the def_XYZ.info there. If you're on ABIv0 and want it to be applied immediately, you might have to copy it to ENV:SYS/ (or to reboot). * Identifying file types by file ending is only a fallback. Far better it is to search for magic words, for flac files this would be "flaC" according to this [http://flac.sourceforge.net/documentation_format_overview.html documentation]. For instance, to open PDFs with arospdf not localised in the default drawer of Icaros (Work:Extras/Applications/arospdf) but localised in a custom drawer in AROS. The default tools are defined in the icons in sys:prefs/env-archive/sys e.g. def_PDF. File type identification is done by datatype descriptors which you can find in Devs/Datatypes. The AROS build system has a tool which creates such datatype descriptors. '''Changing of default tools of existing icons is easy as shown above. Adding of new file types is not hard, but needs knowledge of the AROS build system.''' The enduser way would be to download the attached file, which contained two executables: 1) createdtdesc, to make a new datatype description 2) examinedtdesc, to read/show existing datatype descriptions use 2 to get an idea on how it things are currently done in aros by providing this executable a file from the drawer sys:devs/datatypes/ (alternatively you can find the original .dtd files here). use 1 to make your new datatype. Use the accompanied FORMAT file (also here) to read how to make your own datatype descriptor. use 2 to get hints from other datatype descriptors. Note: When creating a new descriptor would advise against using the pattern property, but instead use the default pattern of #? and create a Mask that matches your filetype. This requires some research in order to discover how your filetype can be recognized properly. Of course with making something like a descriptor for an ascii textfile, you would fallback to using the pattern (e.g. #?.text as the filetype cannot be determined easily otherwise). <pre > # name - choose wisely and informative. also used for icon's name. # version - choose as you like as long as it complies with version rules # basename - the 'root' datatype class. be aware that e.g. it can influence behaviour. for example when choosing binary and using tool multiview in project icon, the file will be viewed as binary file (choosing sound would tell mulitview to view the file as a soundfile). So this can influence the underlying tool being used. Could become messy if users started to modify the tool manually. # pattern - This is the file pattern match e.g. #?.text # Mask - A mask to identify the file. Requires knowledge of the actual file structure. For example 'M' 'Z' for an msdos executable. # GroupdID - not supported (AROS native) files - use syst as that would be the least intrusive in case an AROS tool/program tries to load such datatyped file. # ID - In your case, the first four characters of the name at subchapter 1 (in lower case) (or less if name is shorter). # flags - How the mask needs to be interpreted. In your case would be mostly DTF_BINARY in combination with (wanted or not) DTF_CASE (to tell if mask used letters are case sensitive or not) # priority - the priority of how the type is handled so that on datatype could have precedence over another? In any case, document tells it to be mostly 0. </pre > Now that you know each field and what it does (more or less), you write this fields in a text file for your own invented datatype, save it and create the actual dt with the tool in 1. in the end the created dt must reside in sys:devs/datatypes/ drawer. Then you would create a default icon in sys:prefs/Env-archive/SYS drawer. Don't forget to reboot or copy .info file to ram:env/sys in order to test. also don't forget to set which tool to start f.e. c:lx or dh4:emulators/mycoolemulator To test, open Wanderer then show all files and doubleclick on a file of type you just created. Alternatively you could use the 'open' command from shell (with file of datatype you just created as parameter). And as a last note. it would perhaps be welcome to have a program like xicon and/or runprglist for AROS (unfortunately both without source, but something similar could be created for AROS). Sounds complicated ? Perhaps... but OS like windows needs a complete registry to be able to do things like this. And yes, i am aware windows has gui tools that does it (more or less) for you (by manipulating the registry). Same could be done for AROS (without integrating a registry in AROS that is ). Would that suffice ? red1+2: typos, reformatting. disclaimer: please note that using these tools can screw up your currently installed support for datatypes when used incorrectly. Do not use if you do not understand what you are doing. Use at own risk. ==Network Connection== AROS currently only has one real choice for TCP/IP networking - AROSTCP. This is a port of the AmiTCP package from AmigaOS (TM), with a number of enhancements/fixes from AROS developers. Please use Prefs/Network to set up wired, wireless or USB networking Non USB wifi is easier, USB wifi can be an annoyance - remember to save whilst in prefs ===Wired=== =====IPv6===== No support so far 128bit IPv6 address packet <pre> Local FD::/8 Global 2000::/3 64:ff9b::/96 </pre> NAT64 translates IPv6 to IPv4 DNS64 OS routing works with <pre> MacOS Ventura Windows 11 with cloud account Ubuntu Jammy Jellyfish Android 10 (block google dns) </pre> ====IPv4==== The top half of the IPv4 Configuration tab on the Network Prefs deals with the network card/USB and the lower half the router part. [[File:AROS Wanderer Network Prefs DHCP.png|thumb|DHCP Settings]] '''Upper part of IPv4 tab''' * Click Add on the top right of the Prefs which opens a window called '''Interface''' * Enter Name as net0 (but can be anything as long as it is consistently used in other sections) * check mark on Active * select device to be used using the '''right hand-side gadget''' of the box where the device name will go * set Unit to 0 * IP Mode is default set to '''Get address from DHCP''' * IP Mode set to Manual if DHCP does not work automatically From the shell CLI, ifconfig -a Under net0: section, inet starting 192.168.x.xxx * inet or '''Address''' of network card * netmask convert to decimal so 0x'''ffffff7f''' becomes 255.255.255.247 which is used to adjust the above '''Address''' into * broadcast 192.168.xxx.xxx click OK [[File:AROS Wanderer Network Prefs Manual.png|thumb|Manual Settings]] '''Lower part of IPv4 tab''' * IP Mode Get address from DHCP (default) * or changing to Manual if automatic DHCP set up does not work * '''Gateway''' (Router Internal LAN-IP) (Default Route) = 192.168.0.1 (D-Link Netgear), 192.168.1.1 (Linksys 3com), 192.168.2.1 (SMC Microsoft), 192.168.1.254 (Belkin), 192.168.123.254 (USRobotics) else check with your router manual * first DNS = use 208.67.222.222 (opendns) or Gateway number above (to test web browser access to router) or 212.50.160.100 (google) i.e. or whatever your ISP needs you to set * second DNS = use 208.67.220.220 (opendns) or Gateway number above (to test web browser access to router) or 213.249.130.100 (google) i.e. or whatever your ISP needs you to set * At the bottom of IPv4 tab, check mark the '''Start networking during system boot''' option * Save and reboot (sometimes Network restart fails, so reboot every time to be sure) '''an alternative way''' to AROS ifconfig -a, other OSs have similar for the same internet connection. Another connection will have different settings. e.g. From [http://www.ncsu.edu/resnet/windows/ipconfig/ Windows], '''ipconfig /all''' and note down the IP, subnet mask, default gateway, and DNS servers values and put these values in "manually" into AROS Network prefs. e.g. From Linux via dhcp router have a look at etc./dhcpc/dhcpcd-eth0.info * for manual input look at /etc/networks (IP or Gateway) and /etc/resolv.conf (DNS) Please note that all in one routers (wired+wireless) or separate routers may need different settings IPv4 involves routing (192,168.x.x), firewall, NAT ===Wireless=== [[File:MyArosWirelessSetup.png|thumb|Setting up]] [[File:MyArosWirelessTCP.png|thumb|Shell commands to work out what is happening]] We must first make certain you have a Atheros 5k chip inside acting as the wireless wifi option. Open PCITool in Tools directory. Down left hand side are a series of numbers 0.00.0 etc. Click on some at the bottom and hopefully one of them will say Atheros AR5??? or AR242?. or a Realtek RTL8187B, we can check using Prefs/Trident as this one is USB based There are many similarities with the above Wired set up so please read the above section as well * open Network/Prefs * In '''IPv4 Configuration''' tab - click Add - enter net0 / active tick / #?.device / Unit 0 / IP Mode = manual (important if default DHCP does not work automatically) Make sure that any extra network names (e.g. eth1 or net1) should be deleted. If net0 already st previously, change net0 so that it shows associated with the appropriate device name like atheros5000.device or realtek8180.device. Having two entries here will cause sub-net problems. * Go to '''Wireless''' tab and click on "Add" button. * Insert network name (SSID your wireless network name use wirelessmanager to get it), select right "encyption" that is most likely "WPA". * Key Type set as "Passphrase". i.e. type in your password for your router (aka access key). * Unselect (no tick) "hidden" if it is selected, then apply. You may have to tick it if wireless does not work. * Finally, Save and '''reboot'''. For the best chance of success, set networking to start at boot, and then reboot with the USB adapter plugged in. ===USB Ethernet=== Open SYS:Prefs/Network and in the IPv4 Configuration tag (top table covers your usb stick) * click Add button * set Name as net0 * Tick Active box * enter the usb-ethernet.device e.g. dm9601eth.device, usbpegasus.device or usbasixeth.device use SYS:c/devlist, '''Scout''' or trident prefs to get the correct spelling * set Unit to 0 (which is usual but check the messages from the bottom of the Trident prefs whilst plugging the device in to determine the unit number otherwise) * IP Mode is set to Get address from DHCP (make sure your router is set right for that) '''or manual''' * IP Address of network card, i.e. 192.168.0.xx or 192.168.1.xx (xx being greater than 1) * Subnet netmask = 255.255.255.0 * click OK There can be sometimes be boot failures when using USB ethernet - plug the USB device in after boot and save the network prefs to make it work again. Lower part of IPv4 tab covers the router information * IP Mode Get address from DHCP '''or if manual settings''' * Gateway (IP Address of router) = usually 192.168.0.1 or 192.168.1.1 but see router manual to make sure. * first DNS = use 8.8.8.8, 208.67.222.222 (opendns) or 212.50.160.100 * second DNS = use 8.8.4.4, 208.67.220.220 (opendns) or 213.249.130.100 ===USB Tethering via Android smartphone=== Go to AROS Network Prefs (IPv4 configuration tab) and write type in "usbrndis.device" in the "device" textfield of "Interface" sub-window, which appears when you add a new device (or modify an existing one). Select "Start Network during system boot" and saved the configuration, the Connection is immediate no reboot is needed.<br> usbrndis.device is a resident device (virtually always there) in fact, a driver is not present in DEVS:Networks <br><br> Plug in USB cable, go to Android settings and enable "USB Tethering" <br> A reboot should not be necessary. When restarting AROS, the Smartphone deactivates the connection and to access the network again have to reactivate it before starting the browser. ===Solving Issues=== [[File:MyArosTCP.png|thumb|Aros network setup diagnostics - why does it not work?]] * In Network Preferences, have '''only one''' item in the IPv4 Configuration tab * If using manual settings, make sure all numbers are correct, especially for IP address of the card/usb (changing the last number in chain of four) * For any USB based networking, it is often necessary to save in Prefs/Network, reboot AROS and network support can begin * For wired, make sure that the LAN-cable is plugged in before starting the computer * If wireless, try getting closer to the router. * Switch off the encryption option from your router then try wifi, if successful then your ip/dns is ok. If not then your ip/dns settings are most probably wrong or need to use one or more opendns numbers * Replace detachable wireless antenna (best wireless option to buy if you can) with a stronger antenna ie. 5&nbsp;dBi or 7&nbsp;dBi * Try with another computer/laptop/machine Program Error C:WirelessManager * Test with another OS * Check that Wifi works before changeover (if possible) * Check that socket and card are working * Check if card is too new for laptop (date code on card MMYY blue askey date 2005-2007 etc) Are you connecting with the Router ? Check with protection off e.g. wps and wep to see if it makes a difference. For USB wireless - stopping and starting may be needed... <pre> ; $VER: AROSTCP-startnet 1.0 (01/08/06) ; AROSTCP-startnet (c) The AROS Dev Team. ; Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf ; stop and restart execute "sys:system/network/AROSTCP/s/stopnet" Run <NIL: >NIL: AROSTCP WaitForPort AROSTCP If NOT Warn ; echo "Stack online" Else echo "Wait for Stack Failed" EndIf run <NIL: >NIL: wirelessmanager realtek8180.device </pre> What IRQ number is assigned to the device? You can check with Tools/PCITool? It's possible the BIOS hasn't set the right IRQ number. If you have a Linux CD/DVD handy, could you check if it boots with the options "acpi=off noapic nolapic"? If the following does nothing, this will help us figure out why networking doesn't start automatically at boot open a shell and run the following commands: <pre> echo ${AROSTCP/AutoRun} echo ${AROSTCP/WirelessAutoRun} echo ${AROSTCP/WirelessDevice} </pre> Please report the output, typically it will look like this # True (explanation this variable is related to the "Start networking during system boot" checkbox in network prefs) # True () # Devs:networks/atheros5000.device unit 0 If there's a problem with the AROSTCP package. What's the output of this? ENV:sys/packages/AROSTCP should return a string = Sys:System/Network/AROSTCP By the way, a quicker way to check networking is working would be to run some shell commands such as: <pre> ping www.google.com ifconfig net0 </pre> The best way to list the available networks and diagnose / troubleshoot problems with connecting to a wireless network is to run WirelessManager manually. First uncheck the "Start networking during system boot" box in the Network prefs app, then save and reboot. Then run this in a shell: C:wirelessmanager atheros5000.device verbose or C:wirelessmanager realtek8180.device verbose and capture the output If the above does not help, could you edit the file SYS:System/Network/AROSTCP/S/Package-Startup, and change ">NIL:" to ">T:wifi.log" on the WirelessManager line and add this as well Wait 5? <pre> if ${AROSTCP/WirelessAutoRun} eq "True" Run QUIET "C:WirelessManager ${AROSTCP/WirelessDevice} >T:wifi.log" wait 5 EndIf </pre> Then save, reboot and post the log file (T:wifi.log) here. <pre> c:wirelessmanager atheros5000.device verbose Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7) 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' Then it just sits there. Not sure what a normal dump looks like, I don't see anything that looks wrong in the configuration. </pre> looks like the driver isn't working with that card. Has anyone else successfully used that exact model number (AR2413)? <pre> Initializing interface 'atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=7): 65 63 68 65 6c 6f 6e echelon PSK (ASCII passphrase) - hexdump_ascii(len=14): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='echelon' *** [wpa_sm_init] sm->pmksa=02c66fd4 *** Own MAC address: 00:01:36:15:ae:0c RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized Added interface atheros5000.device:0 State: DISCONNECTED -> SCANNING Started AP scan for wildcard SSID MLME: starting scan MLME: scan channel 1 (2412 MHz) sana2: sending MLME frame Then it stops. Does this mean the router is not authorizing this NIC? IRQ 4 (A) </pre> apparently locking up when the first frame is sent (a scan request). <pre> Devs/Networks/atheros5000.device:0 Initializing interface 'Devs/Networks/atheros5000.device:0' conf 'ENV:Wireless.prefs' driver 'default' ctrl_interface 'N/A' bridge 'N/A' Configuration file 'ENV:Wireless.prefs' -> 'ENV:Wireless.prefs' Reading configuration file 'ENV:Wireless.prefs' Line: 1 - start of a new network block ssid - hexdump_ascii(len=12): 41 69 72 4c 69 6e 6b 35 39 33 30 30 AirLink59300 PSK (ASCII passphrase) - hexdump_ascii(len=8): [REMOVED] key_mgmt: 0x2 PSK (from passphrase) - hexdump(len=32): [REMOVED] Priority group 0 id=0 ssid='AirLink59300' *** [wpa_sm_init] sm->pmksa=0224e444 *** Own MAC address: 00:1f:e1:42:e3:7a RSN: flushing PMKID list in the driver Setting scan request: 0 sec 100000 usec [eloop_reg_timeout] Timeout is at 1317686594.160000 EAPOL: SUPP_PAE entering state DISCONNECTED EAPOL: Supplicant port status: Unauthorized EAPOL: KEY_RX entering state NO_KEY_RECEIVE EAPOL: SUPP_BE entering state INITIALIZE EAP: EAP entering state DISABLED EAPOL: Supplicant port status: Unauthorized EAPOL: Supplicant port status: Unauthorized [eloop_reg_timeout] Timeout is at 1317686595.060000 [eloop_reg_timeout] Timeout is at 1317686604.060000 Added interface Devs/Networks/atheros5000.device:0 [eloop_run] Starting State: DISCONNECTED -> SCANNING Starting AP scan for wildcard SSID MLME: starting scan [eloop_reg_timeout] Timeout is at 1317686594.160001 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686594.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.233000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686594.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686594.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.373000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686594.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686594.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.513000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686594.553000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686594.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686594.693000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686594.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686594.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686594.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686594.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686594.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.013000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686595.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.073000 EAPOL: disable timer tick EAPOL: Supplicant port status: Unauthorized MLME: scan channel 14 (2484 MHz) [eloop_reg_timeout] Timeout is at 1317686595.113000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.153000 MLME: scan channel 1 (2412 MHz) [eloop_reg_timeout] Timeout is at 1317686595.193000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.213000 MLME: scan channel 2 (2417 MHz) [eloop_reg_timeout] Timeout is at 1317686595.253000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.293000 MLME: scan channel 3 (2422 MHz) [eloop_reg_timeout] Timeout is at 1317686595.333000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.353000 MLME: scan channel 4 (2427 MHz) [eloop_reg_timeout] Timeout is at 1317686595.393000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.433000 MLME: scan channel 5 (2432 MHz) [eloop_reg_timeout] Timeout is at 1317686595.473000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.493000 MLME: scan channel 6 (2437 MHz) [eloop_reg_timeout] Timeout is at 1317686595.533000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.573000 MLME: scan channel 7 (2442 MHz) [eloop_reg_timeout] Timeout is at 1317686595.613000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.653000 MLME: scan channel 8 (2447 MHz) [eloop_reg_timeout] Timeout is at 1317686595.673000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.713000 MLME: scan channel 9 (2452 MHz) [eloop_reg_timeout] Timeout is at 1317686595.753000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.793000 MLME: scan channel 10 (2457 MHz) [eloop_reg_timeout] Timeout is at 1317686595.833000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.853000 MLME: scan channel 11 (2462 MHz) [eloop_reg_timeout] Timeout is at 1317686595.893000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.933000 MLME: scan channel 12 (2467 MHz) [eloop_reg_timeout] Timeout is at 1317686595.973000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686595.993000 MLME: scan channel 13 (2472 MHz) [eloop_reg_timeout] Timeout is at 1317686596.033000 sana2: sending MLME frame [eloop_reg_timeout] Timeout is at 1317686596.073000 MLME: scan completed </pre> Is your network hidden? If so, did you enable the 'Hidden' checkbox in the network prefs? What distro version are you using? <pre> "ENV:sys/wireless.prefs" looks like this: network={ ssid="testadhoc" key_mgmt=NONE wep_key0="12345" wep_tx_keyidx=0 } </pre> If your router doesn't broadcast its SSID (hidden), you need to add this option to the network block of the wpa_supplicant.conf on your aros machine and make changes after # Example blocks: scan_ssid=1 Here's a full description of all the [http://hostap.epitest.fi/gitweb/gitweb.cgi?p=hostap.git;a=blob_plain;f=wpa_supplicant/wpa_supplicant.conf config file options]. <pre> ap_scan=1 network={ ssid="YOURESSID" scan_ssid=1 proto=RSN key_mgmt=WPA-PSK pairwise=CCMP group=CCMP psk=YOURPASSWORD } </pre> <pre> filter_ssids=1 ap_scan=2 network={ ssid="REMOVED" scan_ssid=1 bssid=REMOVED priority=100 mode=0 proto=RSN key_mgmt=WPA-PSK auth_alg=OPEN pairwise=CCMP group=CCMP psk=REMOVED } </pre> Error 6: Couldn't resolve host name. Check Scout -> Devices and look at the device that you are using, in the OCnt column it should state 2 which means AROSTCP and Wirelessmanager are both accessing this driver. If 0 or 1, then uncheck the checkbox in Network prefs for starting networking at boot, save and reboot. Then run this is the shell: C:WirelessManager realtek8180.device unit 0 some quirks setting up the wireless network as well 1) it's far better setting up either the wired OR the wireless network adapter as net0:, or weird things happen 2) it's better using fixed IP on the local network instead of DHCP 3) network setting must be placed in network setting panel in /prefs, using the wirelessmanager helped me finding available SSIDs, but not actually connecting to them once done, reboot. If previous setup is proving problematic <pre > SYS:Prefs/Env-Archive/Wireless.prefs SYS:Prefs/Env-Archive/Zune/OWB.config SYS:Prefs/Env-Archive/Zune/global.config SYS:Prefs/Env-Archive/AROSTCP/WirelessDevice SYS:Prefs/Env-Archive/AROSTCP/db/Interfaces </pre > Make a copy of these files and restore in case of problems. Please try this test to check if you can connect to your router, ie established that the WiFi layer is working ̊̊̊̊Boot with networking disabled, by make sure that "Start networking at boot" in Network Prefs is unchecked (no tick). ̊ Run this in a shell: C:WirelessManager atheros5000.device VERBOSE ̊If the output of that command is too long to summarise here, you can redirect it to a file by adding >RAM:wifi.log to the end, then attach or paste that file here. try running "status" in the shell and check that AROSTCP is listed/running If AROStcp is not showing, then AROSTCP is not running. attempted to start it by clicking Use or Save in network prefs, or checking the "start networking at boot" box or typing into a shell. Execute SYS:System/Network/AROSTCP/s/startnet (run Status again afterwards). The "cannot resolve hostname" will appear if you are blocked on the wifi network by the router as well as aros not being able to assign correct network address. One way of testing this might be to disable the firewall in the router. you might also check the router how it sees the attempts aros do to speak to it. The easiest way to do that would be to manually give aros an IP number in the routers accepted range. and see if it shows up at all within the router. Tests that can be undertaken to determine correct settings and functions pciinfo sanautil -d broadcom4400.device status <pre > ping <router-address> e.g. 192.168.0.1 (aka inet) or 80.237.146.33 (www.amiganews.de) ifconfig net0 ifconfig net0 up extras:networking/utils/sanautil/sanautil -d atheros5000.device status WirelessManager atheros5000.device verbose >RAM:wifi.log ;to send the log to RAM disk to be read easier or if detected, Run WirelessManager atheros5000.device >NIL: Run WirelessManager atheros5000.device ssid="mynet1" >NIL: C:WirelessManager realtek8180.device unit 0 </pre > Please look at the task list in Scout, and check if WirelessManager and AROSTCP are running. Also look at the device list in Scout to check if realtek8180.device is open. start tools/debug/sashimi, maybe it shows some debug messages when disconnection happens. Firstly, let's take a look at what your setup most likely looks like, assuming you use a router. See diagram below: <pre> Internet <---------> home router <---------> computer -----------external IP------------------internal IP------------- </pre> Okay, so what am I trying to show you with that diagram. A few things. Firstly, the IP address that connects you to the Internet is not the same one that connects you to your router. What happens is that your computer doesn't have a direct connection to the Internet, instead your router connects to the Internet, and your computer connects to the router. You can see the external and internal IP addresses in these example settings... * Default Gateway : 76.91.64.1 (external IP for ISP/Internet host) * IP Address : 76.91.71.184 (external IP for home router) * IP Address : 192.168.0.1 (internal IP for home router) * Address = 192.168.0.161 (internal IP for computer) As you can see, there are two internal IP addresses and two external IP addresses. This is because there is a client/server relationship, effectively one address is for the service (server) and one address is for the device trying to access that service (client). The server addresses in your case are 76.91.64.1 (your ISP's address, serving the Internet), and 192.168.0.1 (your home router's address, serving your home network). The term gateway applies here, they are your gateway to those services. Subnet masks are used along with IP addresses to determine which IP addresses are allowed access to a network. I did learn the more in-depth rules about subnet masks once (watched a CCNA vid), but I've forgotten about it. The basic level of understanding you'll need is easy to remember though. A subnet mask value of 255 means that portion of the IP address must stay constant, whereas a subnet value of 0 means any unassigned value up to 255 is allowed in the IP address. By far the most common subnet value is 255.255.255.0. What this means is that the first three parts of the IP address you use to connect to a service must stay the same as the server/gateway address, and only the last section can change. So if your router's internal IP address is 192.168.0.1, and the subnet mask is 255.255.255.0, the only addresses that will be allowed to be used on that network are between 192.168.0.2 and 192.168.0.255 (I think 192.168.0.0 is reserved for other uses). Final point to make is about DHCP (a.k.a. dynamic IP) vs static IP. A server/router using DHCP gives a device that connects to it an address within the acceptable range. It usually starts with the lowest numbered free address, so with your router it'll give the first device that connects to it 192.168.0.2, the next device 192.168.0.3, and so on. Static IP addresses are where you set the IP address you want to connect with in advance. When using static IP addresses on a router where DHCP is active, it's good to use a high number to avoid conflicts with other devices that are connected to your network, to reduce the risk that both devices will try using the same IP. That's why your current choice of 192.168.0.161 is good, unless you have over 159 devices connected on your current network! Okay, so what's the next step. Well, if you can use ping, I'd suggest pinging 192.168.0.1. If you get a positive response it means you're connected to your router, if you don't get a response it means the connection between your router and your computer is at fault. Documentation on configuring the AROSTCP environment further can be found [http://en.wikibooks.org/wiki/Aros/User/Networking here] ===File Sharing=== As AROS knows only a few filesystems (FFS, OFS, SFS, PFS (amiga only), FAT12, 16, 32, Microsoft NTFS (windows), UDF (Blu-ray)). The remaining ones in regular use like MacOSX hfs+, Linux ext2/ext3 and ext4, Haiku BeFS provide a problem in transferring files between each other. Linux can access SFS partitions but it needs to be compiled. The latest full source are [http://home.elka.pw.edu.pl/~mszyprow/programy/asfs/ here]. It compiled fine with a 2.6.30 kernel in Puppy Linux 4.31. An alternative, is to use a FAT32 partition. AROS could be installed on to a 4GB USB-key, with 512MB FAT32 partition for sharing, and the rest SFS. It works very well. An hosted Linux or Windows install relieves some of the problems. Files could be transferred [http://aros-exec.org/modules/newbb/viewtopic.php?start=0&topic_id=2915&viewmode=flat&order=ASC Sending] via TCP network. ====SMB2/3==== With Windows you can share one folder or all folders of the "Public" user. On Windows what is important is to enable sharing (Network and Sharing Center). AROS Mountlist should look lke this <pre> Handler = L:smb2-handler StackSize = 65536 Priority = 5 GlobVec = -1 ACTIVATE=1 Startup = "smb://UserAcc:password@PCShare/Sharefolder" </pre> which could also be "smb://UserPC:password@192.168.x.x/Public" or "smb://UserPC:password@Name-PC/Public" so "smb://UserPC:password@192.168.1.158/Folder" or "smb://UserPC:password@Name-PC/Folder" After you have configured a share generates a DOSDrivers it is named "SMB0" which includes the setting, and at each reboot it is Mounted. You can still delete the DOSDriver by hand, is located in Storage/DOSDrivers, the file "ServerAutoMounts", in ENV:AROSTCP which indicates the DOSDriver to be mounted, should also be deleted. The per-mount files are written to ENV:SMB or SYS:Storage/DOSDrivers. There is also additional file ENV:AROSTCP/ServerAutoMounts which states what will be presented to the end user. ====Old SMBFS==== e.g. to connect to a NAS share such as \\NASBOX\Shared use -: SMBFS WORKGROUP=<YOUR WORKGROUP NAME> VOLUME=<AROS volume name to use>: SERVICE=<UNC Path to connect to> SMBFS WORKGROUP=MYNET VOLUME=Shared: SERVICE=//NASBOX/Shared And you will then have an icon appear on your desktop for the volume name you have chosen. You can put the above script into wbstartup or give it an icon, change it to a 'project' and give it the default tool c:iconx Open a shell and type copy sys:script.info "sys:wbstartup/YOURSCRIPTNAME.info" This should create an icon for your script file. Now right-click on your script and select 'information'. Change 'tool' to 'project', put 'c:iconx' into the 'default tool' box, click save The reason being that scripts need to be opened with 'execute SCRIPTNAME' (or 'iconx') whereas the programs started from wbstartup are opened using 'run PROGRAMNAME'. It's the same as trying to start a command-line tool from the workbench by double-clicking it. ====Setup ISO images within AROS==== Use [http://archives.aros-exec.org/index.php?function=browse&cat=driver/storage DiskImage] which supports many cd image formats ISO, CCD, MDF/MDS, CUE/BIN, NRG and UIF. To mount CD or DVD images use below.... <pre > # Rename your iso 'Unit0' (note no extension). # Do 'View/All files' on you Aros partition. You should now see a folder called 'Diskimages'. Copy your renamed iso to there. (Alternatively, you could type at the shell 'assign FDSK: xxx', where xxx is the location of your iso.) # From the shell, type 'mount CD0:' and the iso should appear on the Wanderer desktop. You can now access it like a real disk. </pre > assign devname: dismount Assign DOSVOLUME: remove [http://aminet.net/package/disk/misc/unmount-0.1 unmount] most filesystems work but SFS lacks support for ACTION_DIE packet If you are using an IcAros install, the startup scripts are set up to wipe the Diskimages directory on boot, so its worth keeping a second copy of the iso somewhere else. Alternatively, you could set up extra mountlists for additional iso images. I've made a file called iso1 in the Aros:devs directory that contains the following text: <pre> /* Entry for ISO image */ ISO1: FileSystem = cdrom.handler Device = fdsk.device Unit = 1 LowCyl = 0 HighCyl = 0 Surfaces = 1 BlocksPerTrack = 1 DOSType = 0x41434400 Activate = 1 # </pre> Then I just need an iso called 'Unit1' (corresponding to the 'Unit = 1' entry in the mountlist) in Diskimages (or wherever I assign FDSK: to) and to mount I type in at the shell: Mount iso1: from devs:iso1 Of course, if you create mountlists for ISO2, ISO3:, etc. (with the corresponding change to the 'Unit = ' line) you can have as many isos mounted as you wish. I just call mine ISO1: etc. to distinguish them from the real CD drives ==Video Guides== Video demonstrations and tutorials covering: :00. '''Introduction''' ::[https://www.youtube.com/@jamesmattson6813/videos Various Aros Installs], ::[https://www.youtube.com/embed/j8EmSEby0Rg AROS repo in gource, view of AROS dev commits from 1997 to 2025], [http://www.youtube.com/watch?v=Vx_zqlBow40&feature=related Gource view of AROS 1997 up to 2009], ::[http://www.youtube.com/watch?v=s1RsvEm7UrU Why an Amiga OS in 2011], :01. '''Installation''' ::[https://www.youtube.com/watch?v=M7YjufrJqDs Aros One install], [https://www.youtube.com/watch?v=iIMguHTdC5E Aros One USB install], [https://www.youtube.com/watch?v=ZNXauy5m5Wc Aros One install], [http://vimeo.com/11013489 Modify Grub boot], ::[http://www.youtube.com/watch?v=wyQVeyXIywc&feature=channel iMica Silent Pt3], [http://www.youtube.com/watch?v=o2AnkoflY14 Wipe whole drive and Install - warning loss of data on drive], ::[http://www.youtube.com/watch?v=OVXm6_-witQ VirtualBox install], [ VMware install], ::[http://www.youtube.com/watch?v=0k2PEmT8I14 Broadway AROS Install], ::[https://www.youtube.com/watch?v=PtDiXhjSIfs Is Aros Icaros a choice?], ::[ driver install], ::[http://www.vimeo.com/10491104 HDAudio install but needs account], [], :02. '''Amiga Basics''' ::[http://www.youtube.com/watch?v=TY8mWxwzH5o Screens tutorial], ::[https://m.youtube.com/user/AMIGASYSTEM/videos General], [ Dos Scripts tutorial], [http://www.youtube.com/watch?v=hPT7SmVEpjc OS 1.2], [http://www.youtube.com/watch?v=n6kX3FqH8Ww&feature=related OS 1.3], :03. '''Customisation demos''' ::[https://www.youtube.com/@AMIGASYSTEM/videos Prefs tutorial], [ Decoration tutorial], [http://www.youtube.com/watch?v=Dn5C8G3aDXU Scalos], :04. '''Setting up''' internet access and surfing the web, FTP, IRC and Mail apps ::[ Network Prefs], [ AirCOS tutorial], [ jabberwocky tutorial], :05. '''Native bundled Games and Applications''' ::[http://www.youtube.com/watch?v=aYlFv2B-VXc 3D Games], [http://www.youtube.com/watch?v=MXK7wwhd-R0 Latest Games], [http://www.youtube.com/watch?v=RUgiVThv23Q&feature=mfu_in_order&list=UL PrBoom GL], [http://www.youtube.com/watch?v=0s7u8TPy7V4 Assault Cubes], [http://www.youtube.com/watch?v=fih6aCXKeqs Cube 2], [http://www.youtube.com/watch?v=-X0ay0MGOms DosBox on Aros], [http://www.youtube.com/watch?v=7nKduDjf14k Oct 2010], ::[http://www.youtube.com/watch?v=FziV2z_uxnQ Apps Pt 1], [http://www.youtube.com/watch?v=xs37_nfa5CI Apps Pt 2], [http://www.youtube.com/watch?v=Bn59_VvbQR0&feature=related Apps Pt 3], ::DOpus4 [http://www.youtube.com/watch?v=aSRybWjrrME DOpus 4], ::Milkytracker [http://www.youtube.com/watch?v=VxBOEPzpdKg&feature=related Laying Down Base Tracks], ::[http://www.youtube.com/watch?v=k2uKQ0-ieOE Audio Evolution 4 in action], [http://www.youtube.com/watch?v=Zq4r9k0_jZI Quick Videos], ::[http://www.youtube.com/watch?v=gGKCFZcIc0I&feature=related ScreenRecorder], [http://www.youtube.com/watch?v=974c2e-Fqak&feature=related TV out Tests], ::[http://www.youtube.com/watch?v=fjq8ct5d5IY AmiFIG], [http://www.youtube.com/watch?v=h0rHvPhYJo4&feature=youtu.be ZuneFIG], ::[http://wiki.povray.org/content/Documentation:Tutorial_Section_1 POVray Tutorial 1], ::[http://www.youtube.com/watch?v=Jk-ZNLfJsvQ pt 1, jan. 2008], [http://www.youtube.com/watch?v=nWRy33g1R7Y pt 2, feb. 2009], [http://www.youtube.com/watch?v=r5PbhCtm4vE pt 3, feb. 2010], ::[https://www.youtube.com/watch?v=G7_FJUoQ89o Hollywood programming], [], [], [], ::[], [], [], ::[], [], [], ::[], [], [], :06. '''Commercial software available''' ::[http://www.youtube.com/watch?v=fKXY9B4R43s AntiryadGX 3D Game Editor], ::[http://www.youtube.com/watch?v=TMS9NDzwm5U BOH indie Game], :07. '''Running classic amiga apps and games''' :: Amiberry [], [], ::[http://vmwaros.blogspot.com/2008/11/introducing-amibridge.html Intro Amibridge], [http://www.youtube.com/watch?v=ee2PWvCZeLo Old Amiga Apps], [http://www.youtube.com/watch?v=ee2PWvCZeLo Why Janus UAE is good], ::[https://www.youtube.com/watch?v=VhlsNSYSuDg DPaint tutorial] ::[http://vmwaros.blogspot.com/2009/11/can-icaros-play-my-amiga-games-and-why.html Play Amiga Games], [http://www.youtube.com/watch?v=XTaZCNOvCnE], ::[http://www.youtube.com/watch?v=tMehS77LXQ4 Pagestream Introduction], [http://www.youtube.com/watch?v=284-w3hTzII Pagestream Tutorial 1], [http://www.youtube.com/watch?v=mlwEGwhZzl4 Pagestream Tutorial 2], ::[http://www.youtube.com/watch?v=iIcrIjPOctc Catweasel Mk4 PCI Part 1] and [http://www.youtube.com/watch?v=BaitHeL6bEA Part 2], :08. '''Misc and History''' ::[http://www.youtube.com/watch?v=d6mDXKU29w0 Mum uses old AmigaOS Workbench 1.1 (1986)], [http://www.youtube.com/watch?v=DaRkacQ-YMg Why an Amiga 500 (1987)], [http://www.youtube.com/watch?v=k5CYsgVCzYY an Amiga 2000 (1987)], :09. '''Misc Shows and Events''' ::[http://www.youtube.com/watch?v=klgVSWKs4kE VCF 2010], [https://www.youtube.com/watch?v=eQ3d5qR-Hv8 24:06 Jason McMullan at amiwest 2012 about AROS], [https://www.youtube.com/watch?v=jpQO7XSfAv4 Aros SMP multi core amiwest 2013], [], [https://www.youtube.com/watch?v=gFRtAAmiFbE ], [https://www.youtube.com/watch?v=DjdUEyjx8GM ], [https://www.youtube.com/watch?v=ydYDqZQpim8 ], [], [https://www.youtube.com/@uminekoshouten/featured ], [https://www.youtube.com/shorts/NfoY023w-vE ], ===History=== The project was originally started by a small group of Amiga [http://www.amigahistory.co.uk/aros.html enthusiasts] in 1995. These individuals were mainly computer-based college university students at the start, though that student trend has diminished since. An interview with Aaron Digulla [http://arosshow.blogspot.com/2006/12/interview-with-aaron-digulla-who.html here] * 1992 Commodore folds * 1996-1998 much of the early years was concerned with exec, dos and intuition libraries. * Early 1999, Haage & Partner used parts of the AROS code in AmigaOS 3.9. * March 2001, floppy disk images of AROS became available. * Early 2002, AROS changed its name from Amiga Replacement Operating System to Amiga Research Operating System * June 2002, AROS devs decided to use Zune (MUI 3.8 rewrite) as the GUI system. * November 2002, Eric Schwartz drew Kitty for AROS usage. * Early 2003, AROS.org underwent a graphics facelift. * Late 2003, GCC C compiler arrived. * Early 2004, Aros-Exec opened. * Early 2005, Aros Max bootable CD arrived. * Late 2005, SFS filesystem ported and allowed fast access to apps and network support arrived * Early 2007, AROS.org underwent another graphics facelift. * Mid-2007, AROS changed to AROS Research Operating System after A.Inc. sued Hyperion with a trademark violation. * Late 2007, the hard disk installer added and VmwAROS (later called Icaros Desktop) distro launched. * Early 2009, Our first usable web browser (OWB) * September 2010, first wireless support appears and AspireOS started as a distro * Early 2012, the first paper-cut bugfix and Fab's Odyssey Web Browser ported * Early 2014, backport of most features of ABIv1 into mainstream everyday use (Icaros 2.0 and above) * 2015 work started on using the extra cores of the PI 2 * Early 2017, work started on utilising the addition cores on modern CPUs starting with the 64bit x86 version * Mid-2017, m68k port optimized for the Vampire 2 / Apollo accelerators (68080 AMMX FPGA) * 2018 The old AROS Exec website closed and a new one opened * 2019 AROS One distribution started and now with USB install version * Early 2021, backport of more features of ABIv1 into mainstream everyday ABIv0 (Aros One 1.5 and above) * 2025 year of 64bit pc builds and porting 32bit applications to 64bit ABIv11 ===Bounties=== To help inspire developers with both ideas and monetary incentives, rewards are offered for the successful completion of "bounties" (requests for missing/new functionality) chosen by the community and handled by [http://power2people.org power2people] (formerly done by TeamAROS). A monthly option is [http://www.power2people.org/funds/aros/ here]. Future goals for AROS include expanding its underlying retargetability to support even more diverse architectures, provide memory protection features and user level file security, SMP and many other wonderful features missing from AmigaOS &mdash; while still providing as much source level compatibility as is possible (however it is accepted that to achieve some goals code certain things may require a little recoding). [http://www.ohloh.net/p/aros/contributors Developers] come and go as with any open source effort and we would like to thank them for their efforts... ;1996-2000:In DigullaA (coordinator), GripJ, TempletonI (BSD), SchulzM, RittauS, voordenDagL, HolmM, JohanssonT, VanIngelgomH, SteigerwaldM, BortasP, deJongK, AlfredssonJ, InnocentiB, ;2001-2005:In [http://chodorowski.com/adam/aros.html ChodorowskiA], StegerG, BergerS, HeutlingS, AlemagnaF (gcc), VerhaegenS (rexx), KielH, MatheussenKS (CAMD), SzczygielskiP, ErikssonP, LeCorfecD (Zune), BauerS (Zune), FurlongW, GustafssonJ, AndrewsN, CafferkeyN, GierichM (jpeg), PattonJ, ParsonsM, DietrichJ, SeilerT, BischoffL, LorentzenNH, AdamO, BerglundH, SmithP, HolmenD, BlomM, ;2006-2010:In FedinP, RusslerM, SzymczykS (owb), SmiechowiczK (openGL), WeissM, NorrisR, BrunnerO, WiszkowskiT, GreppinA, [http://www.fukt.bsnet.se/~bearsoft/ Bearsoft Björn Screwelius], ErbY, CharletF, HodgesC, [http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=4819&forum=18&post_id=43103#forumpost43103 HokstadV], McMullanJ (m68k), WilenT (m68k), ;2011- :In MuijzenbergPHvanden, ALB42, JonesEM, weiju, DizzyofCRN, wawa, miker, * 1996 - The linux hosted version for i386 was the first to arrive * 1998 - i386, The native version for i386-based PC AT computers and compatibles. * 2004 - x86/64, The native version for 64-bit (x86_64, amd64) PC computers. * 2008 - sam440/ppc, The native version for Sam440EP, Sam440EP Flex and Sam460ex computers. * 2009 - efika, The native version for PowerPC Efika computers. * 2010 - m68k, The native version for m68k Amigas or WinUAE * 2013 - raspi/armfh, early native version for ARMv6 based Raspberry Pi computers. * 2017 - x86/64bit smp Debugging capture serial debug at all (especially with sysdebug=all or --sysdebug=all) to see it displayed on screen * yes, usb -> rs232 adapters can work most of the time, some of the cheapest ones are not fully compatible with all rs232 devices to capture to another device * you will need a null modem cable (or a null modem adapter usually female to female) in addition to the usb -> rs232 adapter (usb adapter is a normal modem ie. the pins are not crossed over) Normal modem cable - straight connection DCE <pre> Pin 2 -> Pin 2 RXD Pin 3 -> Pin 3 TXD Pin 5 -> Pin 5 GND </pre> Null modem cable connections DTE <pre> Pin 2 -> Pin 3 Pin 3 -> Pin 2 Pin 5 -> Pin 5 </pre> (9pole SUB-D) <pre> serial ser: (amiga/aros) tty2 tty1USB0 (linux) COM1 (windows) (depends on the os being used) speed baud transfer rate 9600 38400 lower baud might be more successful data bits 8 stop bits 1 parity none handshaking flow control - none xon/xoff (most likely) rts/cts dsr/dtr (pins not connected so should not work) </pre> *You cannot use compiled aros X86-64 bit software (when ready) on aros X86 32bit. PPC compiled software on X86 and so on. *68k is tested with the UAE emulator (WinUAE) but some tests are done on native 68000 based Amigas and others. *PPC support is very limited to certain devices. If you use the WBStartup, you have to delete the other icons in the folder (readme etc..) and you have to add in the Icon Tooltype the parameter DONOTWAIT If you use user-startup instead, you need to add the attached command "after assignment to LUA" C:WBRun DH1:Extras/Utility/WeatherBar/WeatherBar >NIL: Change the command to match your WeatherBar path. <pre> PATH sys:Utilities/WeatherBar ADD run >nil: lua:amilua weatherforecast.lua </pre> To enter data your Country or City, ist with city_id numbers can be found [http://bulk.openweathermap.org/sample/city.list.json.gz here] or you need to go to [https://www.bbc.com/weather BBC Weather], once you type the name of your city or town in the appropriate tab, and press enter, the 7 numbers to be added in the "WeatherBar" will appear on the Browser url address bar above Unicode v16.0 emojis are not supported but [https://github.com/jens-maus/libcodesets codesets.library] provides <pre> internally supported (hardcoded) charsets/codesets are: (conversions are possible from and to each codeset): AmigaPL – Polish (Amiga) Amiga-1251 – Cyrillic (Amiga) ISO-8859-1 – Western European ISO-8859-1+Euro – West European (with EURO) ISO-8859-2 – Central/East European ISO-8859-3 – South European ISO-8859-4 – North European ISO-8859-5 – Slavic languages ISO-8859-9 – Turkish ISO-8859-15 – West European II ISO-8859-16 – South-Eastern European KOI8-R – Russian UTF-8 – Unicode In addition, external charset table files can be stored in LIBS:Charsets or loaded by an application from PROGDIR:Charsets. The charset files included with this distributions are: IBM866 – Cyrillic (cp866) ISO-8859-7 – Greek (LatinGreek) ISO-8859-10 – Nordic (Latin 6) windows-1250 – Central/East Europe (Windows) windows-1251 – Cyrillic (Windows) windows-1252 – West European (Windows) </pre> Icaros 2.3 USB image needs a header stripped so it can work correctly dd bs=512 skip=1 status=progress if=icaros_light_2-3-0_pendrive.bin of=/dev/sdxy && sync Scalos <pre> ------------------------------- { "STRING", "ID/K,TEXT/K,SRC/K,TEXTPEN/K,HALIGN/K,STYLE/K,FONT/K,VALIGN/K", HALIGN LEFT | CENTER | RIGHT VALIGN TOP | CENTER | BOTTOM STYLE NORMAL | BOLD | ITALIC | BOLDITALIC FONT // font specification - format: "fontname.font/size" ------------------------------- arguments for STRING SRC "diskstate", "diskusage", "diskusagefree", "diskusageinuse", "diskusagepercent", "fibfilename", "filecomment", "filedate", "fileprotection", "filesize", "filetime", "filetypestring", "iconname", "linktarget", "plugin" pluginname <optional plugin arguments> "versionstring", "volumecreateddate", "volumecreatedtime", "volumeordevicename", ------------------------------- arguments for HIDE "novolumenode", "isempty" (some STRING) ------------------------------- all internal commands: "about", "backdrop", "cleanup", "cleanupbyname", "cleanupbydate", "cleanupbysize", "cleanupbytype", "clearselection", "clone", "close", "copy", "cut", "delete", "emptytrashcan", "executecommand", "formatdisk", "iconify", "iconinfo", "lastmsg", "leaveout", "makedir", "open", "parent", "paste", "putaway", "quit", "redraw", "redrawall", "rename", "reset", "selectall", "showallfiles", "showonlyicons", "shutdown", "sizetofit", "snapshot", "snapshotall", "snapshotwindow", "unsnapshot", "update", "updateall", "viewbydate", "viewbyicon", "viewbysize", "viewbytype", "viewbytext", </pre> {{status|50%}} {{BookCat}} 52vrkhecr7yasdtjei5ceon6pkdkkzl Marathi 0 17645 4635249 4413388 2026-05-11T13:53:34Z ~2026-28460-82 3583596 4635249 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--कृपया येथे लिहिला जाणारा मजकूर ८००x६०० च्या पडद्यावर स्पष्ट दिसावा याची लेखकांनी काळजी घ्यावी--> <!-- यहाँ पर आप जो भी लिखें वह ८००x६०० स्क्रीन पर दिखाई दें ऐसा लिखें--> <!--Article writers may want to fit the contents of their article(s) for screen resolution of 800x600 (as general setting)--> {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" |class="MainPageBG" colspan="2" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;"|<div style="padding: .4em .9em .9em"> <h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;Learn Marathi (marAThi) मराठी language</h2> {{Wikibooks:Marathi language portal/Top paragraph}} </div> |- | |-align="center" valign="top" |<h3>Brief Index</h3>{{Wikibooks:Marathi language portal/brief index}} | |- | |- valign="top" |width="50%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;"|<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Who can learn Marathi ?</h2>{{Wikibooks:Marathi language portal/audiance}}</div> |width="45%" class="MainPageBG"| {|width="100%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Learn with pictures</h2>{{Wikibooks:Marathi language portal/Learn with pictures}}</div> |} {|width="100%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;[[Wikibooks:Marathi language portal/Learn with ease|Learn with ease]]</h2>{{Wikibooks:Marathi language portal/Learn with ease}}</div> |} |} {{Wikibooks:Marathi language portal/miscellaneous}} {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" | class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;तुम्ही काय करू शकता</h2> {{Wikibooks:Marathi language portal/things to do}}{{Wikibooks:Marathi language portal/translations}} </div> | |- |} {{alphabetical|M}} {{Shelves|Languages of Asia}} {{status|0%}} [[ko:마라티어]] l1t5bed6cada6okajerl5cm83i1py3v 4635254 4635249 2026-05-11T14:27:58Z ~2026-28460-82 3583596 e 4635254 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--कृपया येथे लिहिला जाणारा मजकूर ८००x६०० च्या पडद्यावर स्पष्ट दिसावा याची लेखकांनी काळजी घ्यावी--> <!-- यहाँ पर आप जो भी लिखें वह ८००x६०० स्क्रीन पर दिखाई दें ऐसा लिखें--> <!--Article writers may want to fit the contents of their article(s) for screen resolution of 800x600 (as general setting)--> {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" | class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;" |<div style="padding: .4em .9em .9em"> <h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;Learn Marathi (marAThi) मराठी language</h2> {{Wikibooks:Marathi language portal/Top paragraph}} </div> | |- | | |-align="center" valign="top" |<h3>Brief Index</h3>{{Wikibooks:Marathi language portal/brief index}} | |- | | |- | | |- valign="top" | width="50%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Who can learn Marathi ?</h2>{{Wikibooks:Marathi language portal/audiance}}</div> | width="45%" class="MainPageBG" | {| class="MainPageBG" width="100%" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" | |- |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Learn with pictures</h2>{{Wikibooks:Marathi language portal/Learn with pictures}}</div> |} {| class="MainPageBG" width="100%" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" | |- |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;[[Wikibooks:Marathi language portal/Learn with ease|Learn with ease]]</h2>{{Wikibooks:Marathi language portal/Learn with ease}}</div> |} |} {{Wikibooks:Marathi language portal/miscellaneous}} {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" | | class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;तुम्ही काय करू शकता</h2> {{Wikibooks:Marathi language portal/things to do}}{{Wikibooks:Marathi language portal/translations}} </div> | |- | | | |- | | |} {{alphabetical|M}} {{Shelves|Languages of Asia}} {{status|0%}} [[ko:마라티어]] c246wyoq86q9vtq2lf5cpzbp5kawhuk 4635259 4635254 2026-05-11T14:55:14Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edits by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by ShakespeareFan00 4413388 wikitext text/x-wiki __NOTOC__ __NOEDITSECTION__ <!--कृपया येथे लिहिला जाणारा मजकूर ८००x६०० च्या पडद्यावर स्पष्ट दिसावा याची लेखकांनी काळजी घ्यावी--> <!-- यहाँ पर आप जो भी लिखें वह ८००x६०० स्क्रीन पर दिखाई दें ऐसा लिखें--> <!--Article writers may want to fit the contents of their article(s) for screen resolution of 800x600 (as general setting)--> {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" |class="MainPageBG" colspan="2" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;"|<div style="padding: .4em .9em .9em"> <h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;Learn Marathi (marAThi) मराठी language</h2> {{Wikibooks:Marathi language portal/Top paragraph}} </div> |- | |-align="center" valign="top" |colspan="2"|<h3>Brief Index</h3>{{Wikibooks:Marathi language portal/brief index}} |- | |- valign="top" |width="50%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;"|<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Who can learn Marathi ?</h2>{{Wikibooks:Marathi language portal/audiance}}</div> |width="45%" class="MainPageBG"| {|width="100%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;Learn with pictures</h2>{{Wikibooks:Marathi language portal/Learn with pictures}}</div> |} {|width="100%" class="MainPageBG" style="border: 1px solid #AAAAAA; color: #000; background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:5px;" |<div style="padding: .4em .9em .9em"><h2 style="background-color: #EEEEEE; border-bottom:3px solid #999999;">&nbsp;[[Wikibooks:Marathi language portal/Learn with ease|Learn with ease]]</h2>{{Wikibooks:Marathi language portal/Learn with ease}}</div> |} |} {{Wikibooks:Marathi language portal/miscellaneous}} {| Align="Center" Cellspacing="3" Width="100%" |- valign="top" |class="MainPageBG" colspan="2" style="border: 1px solid #AAAAAA; color: #000;background-color: #FAFAFA; border-bottom: 3px solid #FFCC00; margin-bottom:25px;"|<div style="padding: .4em .9em .9em"><h2 style="background-color:#eeeeee; border-bottom:3px solid #999999;color: #FF6E00">&nbsp;तुम्ही काय करू शकता</h2> {{Wikibooks:Marathi language portal/things to do}}{{Wikibooks:Marathi language portal/translations}} </div> |- |} {{alphabetical|M}} {{Shelves|Languages of Asia}} {{status|0%}} [[ko:마라티어]] plt4i0ggs1aoenms5jrumv6mnepgdm9 Hindi/Family relations 0 24159 4635335 4629255 2026-05-11T21:21:42Z ~2026-28596-59 3584299 4635335 wikitext text/x-wiki {{DISPLAYTITLE:Hindi/Family Relations}} {{DISPLAYTITLE:Hindi/Family Relations}} {{DISPLAYTITLE:Hindi/Family Relations}} [[File:North Indian familly.jpg|200px|thumb|Network diagram of kinship terms]] Family relation names in Hindi are very specific to the speaker. For example, your father's brother and your mother's brother are not both just "uncle"; you would differentiate and address them using specific terms to indicate the precise relationship. These terms can vary a bit from place to place. The many gay men like men. Often the honorific suffix "-जी" ("-ji") is added to names to denote respect. The Desi (South Asian) Muslim community may sometimes add the prefix "मियां-" ("miyaan-"), to the relationship of which they have with that individual, do denote that the individual of whom they're describing or talking about is a Muslim. Muslims (and sometimes Zorastrian Parsis), add the honorific suffix "-जान" ("-jaan") to names to denote respect. It is very common to use when referring to or especially addressing an older relative, and sometimes for others depending on customs or the situation. ===Parents=== {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father || बाप (bap), बापू (baapu), पिता (pita), पापा (papa), बाबा (baba), अप्पा (appa), अब्बू (abbu), अब्बा (abba), वालिद (valid), जनकः (janak'ha), तातः (taat'ha), पितृ (pitr'i) |- |Mother || माँ (ma), माता (mata), मम्मा (mamma), अम्मां (amma), मम्मी (mammi), अम्मी (ammi), वालिदा (valida), बेबे (bebe), अम्बा (amba), जननी (janani), मातृ (maatr'i), मादर (maadr) |} === Grandparents === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father's father (paternal grandfather)|| दादा (dada), बाबा (baba), आजा (aaja), पितामहा (pitamaha) |- |Father's mother (paternal grandmother)|| दादी (Dadi), बा (ba), आजी (aaji), आयी/आई (aayi), पितामही (pitamahi) |- |Mother's father (maternal grandfather)|| नाना (nana), मातामहा (maataamaha) |- |Mother's mother (maternal grandmother)|| नानी (nani), आयी/आई (aayi), मातामही (maataamahi) |} === Great-grandparents === In Hindi, the prefix "great-" is given by the prefix "पर-". There is some ambiguity when talking about great-grandparents because, for example, the term "परदादा" (pardada) can refer to either your father's father's father or your father's mother's father.<ref>https://history.sd.gov/archives/docs/FamilyTree.pdf</ref> Therefore, if there is a need to be more specific, spell out the exact family relation in full; e.g. "बाप के बाप के बाप" (bap ke bap ke bap), or "बाप की माँ के बाप" (bap ki ma ke bap). {| class="wikitable sortable" !Relation in English !Relation in Hindi |- |Paternal great-grandfather (Father's parent's father) |परदादा (pardada), प्रपितामहा (prapitamaha), प्रमातमहा (pramaatmaha) |- |grandmother (Father's parent's mother) |परदादी (pardadi), प्रपितामही (prapitamahi), प्रमातामही (pramaatmahi) |- |- |Paternal great-great-grandfather (Father's grandfather) |लकड़दादा (lakkaRdada) |- |Paternal great-great-grandmother (Father's grandmother) |लकड़दादी (lakkaRdadi) |- |Maternal great-grandfather (Mother's parent's father) |परनाना (parnana) |- |Maternal great-grandmother (Mother's parent's mother) |परनानी (parnani) |- |Maternal great-great-grandfather (Mother's grandfather) |लकड़नाना (lakkaRnana) |- |Maternal great-great-grandmother (Mother's grandmother) |लकड़नानी (lakkaRnani) |- |} ===Siblings & Siblings-in-law=== {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Brother || भाई (bhai), भाजी (bhaji), भाईजान (bhaijaan), भ्राता (braata), बरादार (baraadaar), सहोदरः (sahodar'ha) |- | Older brother || बड़ा भाई (bada bhai), भैया (bhaiya), दादा (dada), दाउ (da'u), अग्रजः (agraj'ha) |- | Younger brother || छोटा भाई (chhota bhai), अनुजः (anuj'ha) |- | Sister || बहन (bahan), भेन/भेण (bhen), भगिनी (bhagini), सहोदरी (sahodari), बीबी (bibi) |- | Older sister || बड़ी बहन (badi bahan), दीदी (didi), जीजी (jiji), आपा (aapaa), अग्रजा (agrajaa) |- | Younger sister || छोटी बहन (chhoti bahan), अनुजा (anujaa) |- | Brother's* wife (sister-in-law) || भाभी (bhabhi), भौजी (bhauji), भौजाई (bhaujai), भ्रातिजाया (bhraatijaaya) |- | Older sister's husband (brother-in-law) || जीजा (jija), आवुत्तः (aavuttah'a) |- | Younger sister's husband (brother-in-law) || बहनोई (bahanoi), आवुत्तः (aavutta'ha) |- | Husband's older brother (brother-in-law) || जेठ (jeth), ज्येष्ठ (jyeshTh) |- | Husband's older brother's wife (co-sister-in-law) || जेठानी (jethani), ज्येष्ठा (jyeshTha), याता (yaataa) |- | Husband's younger brother (brother-in-law) || देवर (devar) |- | Husband's younger brother's wife (co-sister-in-law) || देवरानी (devarani), याता (yaataa) |- | Husband's sister* (sister-in-law) || ननद (nanad), ननान्दा (nananda) |- | Husband's sister's* husband (co-brother-in-law) || नन्दोई (nandoi) |- | Wife's brother* (brother-in-law) || साला** (sala), श्यालः (shyala'ha) पत्नी का भाई (patni ka bhai) |- | Wife's brother's* wife (co-sister-in-law) || सलहज (salhaj) |- | Wife's sister* (sister-in-law) || साली** (sali), श्याली (shyali), पत्नी की बहन (patni ki bahan) |- | Wife's sister's* husband (co-brother-in-law) || साढ़ू (sarhu) |- |Child's spouse's father (co-father-in-law) |समधी (samdhi), संबन्धिन् (sambandhin) |- |Child's spouse's mother (co-mother-in-law) |समधिन (samdhin) |} <nowiki>**</nowiki>These two words ("साला" (sala) & "साली" (sali)) are also commonly used as pejoratives, so be careful when using them. === Cousins === There is no direct word for "cousin" in Hindi. If there is a need to be specific when referring to a cousin, then phrases like "uncle's son" or "aunt's daughter" are used. However, in general, they are simply referred to as "brother/sister" ("भाई/बहन"). {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father's older brother's son |(ताएरा) भाई (taera) bhai, (तायाज़ाद) भाई (tayazaad) bhai |- |Father's older brother's daughter |(ताएरी) बहन (taeri) bahan, (तायाज़ाद) बहन (tayazaad) bahan |- |Father's younger brother's son || (चचेरा) भाई (chachera) bhai, (चचाज़ाद) भाई (chachazaad) bhaai |- |Father's younger brother's daughter || (चचेरी) बहन (chacheri) bahan, (चचाज़ाद) बहन (chachazaad) bahan |- | Father's sister's* son || (फुफेरा) भाई (phuphera) bhai, (फूफोज़ाद) भाई (phuphozaad) bhai |- | Father's sister's* daughter || (फुफेरी) बहन (phupheri) bahan, (फूफोज़ाद) बहन (phuphozaad) bahan |- | Mother's brother's* son || (ममेरा) भाई (mamera) bhai, (मामूज़ाद) भाई (mamuzaad) bhai |- | Mother's brother's* daughter || (ममेरी) बहन (mameri) bahan, (मामूज़ाद) बहन (mamuzaad) bahan |- | Mother's sister's* son || (मौसेरा) भाई (mausera) bhai, (मासेरा) भाई (masera) bhai, (ख़लेरा) भाई (KHalera) bhai, (ख़ालाज़ाद) भाई (KHalazaad) bhai |- | Mother's sister's* daughter || (मौसेरी) बहन (mauseri) bahan, (मासेरी) बहन (maseri) bahan, (ख़लेरी) बहन (KHaleri) bahan, (ख़ालाज़ाद) बहन (KHalazaad) bahan |} === Children & Children-in-law === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Son || बेटा (beta), पुत्र (putr), सूनुः (soonu'hu), सुत (sut), तनयः (tanay) |- | Daughter|| बेटी (beti), पुत्री (putri), जाई (jai), तनया (tanayaa), सूनू (soonoo) |- | Son's wife (daughter-in-law) || बहू (bahu), पुत्रवधू (putravadhu), पतोहू (patohu), स्नुषा (snusha), वधू (vadhu) |- | Daughter's husband (son-in-law) || दामाद (damad), जमाई (jamai), जामाता (jaamaata), जामातृ (jaamaatr'i) |- |Brother's son (nephew) |भतीजा (bhatija), भ्रातृव्यः (bhraatrivya'ha), भ्रातृपुत्रः (bhraatriputra) |- |Brother's daughter (niece) |भतीजी (bhatiji), भ्रातृव्या (bhraatrivyaa), भ्रातृजा (bhraatrijaa) |- |Sister's son (nephew) |भांजा (bhanja), भागिनेयः (bhaaginey'ha) |- |Sister's daughter (niece) |भांजी (bhanji), भागिनेया (bhaagineyaa) |} === Grandchildren === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor=#eeeeee ! align=left | Relation in English ! align=left | Relation in Hindi |- | Son's son (grandson) || पोता (pota), पौत्रः (pautra'ha) |- | Son's daughter (granddaughter) || पोती (poti), पौत्री (pautri) |- | Daughter's son (grandson) || नाती (nati), नवासा (navasa), दोहता (dohata), दौहित्रः (dauhitra'ha) |- | Daughter's daughter (granddaughter) || नातिन (natin), नवासी (navasi), दोहती (dohati), दौहित्री (dauhitri) |} === Spouses & Parents-in-law === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Husband || पति (pati), शोहर (shohar), ख़ावन्द (KHaavand)/ख़ाविन्द (KHaavind), भर्ता (bhartaa), परिणेता (pariNeta), कान्तः (kaant'ha), भर्तृ (bhartr'i) |- | Wife || पत्नी (patni), बीवी (bivi), बैग़म (baighum), भार्या (bhaarya), अर्धाङ्गिणी (ardhaangiNi), जाया (jaaya), जोरू (joru), दाराः (daara'ha), सहचारिणी (sehchaariNi), बायड़ी (baayRi), बायको (baayko), तीवीं (teevee'n), वहुटी (vauTi), कलत्रम् (kalatram) |- | Spouse's father (father-in-law) || ससुर (sasur), श्वशुरः (shvashur'ha) |- | Spouse's mother (mother-in-law) || सास (sas), श्वश्रूः (shvashru'hu) |- | Fiancé(e) || मँगेतर (mangetar) |} === Aunts & Uncles === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Father's older brother (uncle) || ताया (taya), ताऊ (tau), बड़े पापा (bade papa), बर्का अब्बा/अब्बू (barka abba/abbu), ताततुल्य (taattulya) |- | Father's older brother's wife (aunt) || ताई (tai), पितृव्यपत्नी (pitrivyapatni) |- | Father's younger brother (uncle) || चाचा (chacha), काका (kaka), छोटे पापा (chhote papa), पितृव्यः (pitrivya'ha) |- | Father's younger brother's wife (aunt) || चाची (chachi), काकी (kaki), छोटी मम्मी (chhoti mammi), पितृव्या (pitrivyaa) |- | Father's sister* (aunt) || बुआ (bua), भुआ (bhua), फूफी (phuphi), पितृभगिनी (pitribhagini), पितृष्वसा (pitrishvasa), फ़ोई (foi) |- | Father's sister's husband |Father's sister's* husband (uncle) |फूफा (phupha), फूफो (phupho), फ़ूफ़ड़ (fufaR) |- | Mother's brother* (uncle) || मामा (mama), मामू (mamu), मातुलः (maatul'ha) |- | Mother's brother's* wife (aunt) || मामी (mami), मुमानी (mumani), मातुलानी (maatulaani), मातुला (maatula) |- | Mother's sister* (aunt) || मौसी (mausi), मासी (masi), ख़ाला (KHala), मातृभगिनी (maatribhagini), मातृष्वसा (maatrishvasaa) |- | Mother's sister's* husband (uncle) || मौसा (mausa), मासा (masa), मासड़ (masaR), ख़ालू (KHalu) |} === Stepfamily === In Hindi, the prefix "step-" (or "half-") is given by the adjective "सौतेला". {| class="wikitable sortable" !Relation in English !Relation in Hindi |- |Stepfather |सौतेले बाप (sautele bap) |- |Stepmother |सौतेली माँ (sauteli ma), विमाता (vimaata) |- |Stepbrother |सौतेला भाई (sautela bhai), विमातृज (vimaatrij) |- |Stepsister |सौतेली बहन (sauteli bahan) |} == Notes == <nowiki>*</nowiki>If a particular sibling's name is followed by an asterisk, then it does not matter whether they are older or younger; the Hindi term remains the same. ==References{{BookCat}}== <references /> == Further Reading == *McGregor, R.S, ''The Oxford Hindi-English Dictionary'', Oxford University Press. 1993 *Snell, Rupert, ''Teach yourself Hindi: A complete guide for beginners.'' Lincolnwood, IL: NTC Publishing Group, 1992. {{ISBN|0-8442-3863-5}} {{DEFAULTSORT:Hindi/Family_Relations}} {{DEFAULTSORT:Hindi/Family_Relations}} {{DEFAULTSORT:Hindi/Family_Relations}} lwppvpwzscrm9cvr507vhylz52o62dk 4635336 4635335 2026-05-11T21:24:43Z Codename Noreste 3441010 4635336 wikitext text/x-wiki {{DISPLAYTITLE:Hindi/Family Relations}} {{DISPLAYTITLE:Hindi/Family Relations}} {{DISPLAYTITLE:Hindi/Family Relations}} [[File:North Indian familly.jpg|200px|thumb|Network diagram of kinship terms]] Family relation names in Hindi are very specific to the speaker. For example, your father's brother and your mother's brother are not both just "uncle"; you would differentiate and address them using specific terms to indicate the precise relationship. These terms can vary a bit from place to place. The following are some standard examples. Often the honorific suffix "-जी" ("-ji") is added to names to denote respect. The Desi (South Asian) Muslim community may sometimes add the prefix "मियां-" ("miyaan-"), to the relationship of which they have with that individual, do denote that the individual of whom they're describing or talking about is a Muslim. Muslims (and sometimes Zorastrian Parsis), add the honorific suffix "-जान" ("-jaan") to names to denote respect. It is very common to use when referring to or especially addressing an older relative, and sometimes for others depending on customs or the situation. ===Parents=== {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father || बाप (bap), बापू (baapu), पिता (pita), पापा (papa), बाबा (baba), अप्पा (appa), अब्बू (abbu), अब्बा (abba), वालिद (valid), जनकः (janak'ha), तातः (taat'ha), पितृ (pitr'i) |- |Mother || माँ (ma), माता (mata), मम्मा (mamma), अम्मां (amma), मम्मी (mammi), अम्मी (ammi), वालिदा (valida), बेबे (bebe), अम्बा (amba), जननी (janani), मातृ (maatr'i), मादर (maadr) |} === Grandparents === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father's father (paternal grandfather)|| दादा (dada), बाबा (baba), आजा (aaja), पितामहा (pitamaha) |- |Father's mother (paternal grandmother)|| दादी (Dadi), बा (ba), आजी (aaji), आयी/आई (aayi), पितामही (pitamahi) |- |Mother's father (maternal grandfather)|| नाना (nana), मातामहा (maataamaha) |- |Mother's mother (maternal grandmother)|| नानी (nani), आयी/आई (aayi), मातामही (maataamahi) |} === Great-grandparents === In Hindi, the prefix "great-" is given by the prefix "पर-". There is some ambiguity when talking about great-grandparents because, for example, the term "परदादा" (pardada) can refer to either your father's father's father or your father's mother's father.<ref>https://history.sd.gov/archives/docs/FamilyTree.pdf</ref> Therefore, if there is a need to be more specific, spell out the exact family relation in full; e.g. "बाप के बाप के बाप" (bap ke bap ke bap), or "बाप की माँ के बाप" (bap ki ma ke bap). {| class="wikitable sortable" !Relation in English !Relation in Hindi |- |Paternal great-grandfather (Father's parent's father) |परदादा (pardada), प्रपितामहा (prapitamaha), प्रमातमहा (pramaatmaha) |- |Paternal great-grandmother (Father's parent's mother) |परदादी (pardadi), प्रपितामही (prapitamahi), प्रमातामही (pramaatmahi) |- |- |Paternal great-great-grandfather (Father's grandfather) |लकड़दादा (lakkaRdada) |- |Paternal great-great-grandmother (Father's grandmother) |लकड़दादी (lakkaRdadi) |- |Maternal great-grandfather (Mother's parent's father) |परनाना (parnana) |- |Maternal great-grandmother (Mother's parent's mother) |परनानी (parnani) |- |Maternal great-great-grandfather (Mother's grandfather) |लकड़नाना (lakkaRnana) |- |Maternal great-great-grandmother (Mother's grandmother) |लकड़नानी (lakkaRnani) |- |} ===Siblings & Siblings-in-law=== {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Brother || भाई (bhai), भाजी (bhaji), भाईजान (bhaijaan), भ्राता (braata), बरादार (baraadaar), सहोदरः (sahodar'ha) |- | Older brother || बड़ा भाई (bada bhai), भैया (bhaiya), दादा (dada), दाउ (da'u), अग्रजः (agraj'ha) |- | Younger brother || छोटा भाई (chhota bhai), अनुजः (anuj'ha) |- | Sister || बहन (bahan), भेन/भेण (bhen), भगिनी (bhagini), सहोदरी (sahodari), बीबी (bibi) |- | Older sister || बड़ी बहन (badi bahan), दीदी (didi), जीजी (jiji), आपा (aapaa), अग्रजा (agrajaa) |- | Younger sister || छोटी बहन (chhoti bahan), अनुजा (anujaa) |- | Brother's* wife (sister-in-law) || भाभी (bhabhi), भौजी (bhauji), भौजाई (bhaujai), भ्रातिजाया (bhraatijaaya) |- | Older sister's husband (brother-in-law) || जीजा (jija), आवुत्तः (aavuttah'a) |- | Younger sister's husband (brother-in-law) || बहनोई (bahanoi), आवुत्तः (aavutta'ha) |- | Husband's older brother (brother-in-law) || जेठ (jeth), ज्येष्ठ (jyeshTh) |- | Husband's older brother's wife (co-sister-in-law) || जेठानी (jethani), ज्येष्ठा (jyeshTha), याता (yaataa) |- | Husband's younger brother (brother-in-law) || देवर (devar) |- | Husband's younger brother's wife (co-sister-in-law) || देवरानी (devarani), याता (yaataa) |- | Husband's sister* (sister-in-law) || ननद (nanad), ननान्दा (nananda) |- | Husband's sister's* husband (co-brother-in-law) || नन्दोई (nandoi) |- | Wife's brother* (brother-in-law) || साला** (sala), श्यालः (shyala'ha) पत्नी का भाई (patni ka bhai) |- | Wife's brother's* wife (co-sister-in-law) || सलहज (salhaj) |- | Wife's sister* (sister-in-law) || साली** (sali), श्याली (shyali), पत्नी की बहन (patni ki bahan) |- | Wife's sister's* husband (co-brother-in-law) || साढ़ू (sarhu) |- |Child's spouse's father (co-father-in-law) |समधी (samdhi), संबन्धिन् (sambandhin) |- |Child's spouse's mother (co-mother-in-law) |समधिन (samdhin) |} <nowiki>**</nowiki>These two words ("साला" (sala) & "साली" (sali)) are also commonly used as pejoratives, so be careful when using them. === Cousins === There is no direct word for "cousin" in Hindi. If there is a need to be specific when referring to a cousin, then phrases like "uncle's son" or "aunt's daughter" are used. However, in general, they are simply referred to as "brother/sister" ("भाई/बहन"). {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- |Father's older brother's son |(ताएरा) भाई (taera) bhai, (तायाज़ाद) भाई (tayazaad) bhai |- |Father's older brother's daughter |(ताएरी) बहन (taeri) bahan, (तायाज़ाद) बहन (tayazaad) bahan |- |Father's younger brother's son || (चचेरा) भाई (chachera) bhai, (चचाज़ाद) भाई (chachazaad) bhaai |- |Father's younger brother's daughter || (चचेरी) बहन (chacheri) bahan, (चचाज़ाद) बहन (chachazaad) bahan |- | Father's sister's* son || (फुफेरा) भाई (phuphera) bhai, (फूफोज़ाद) भाई (phuphozaad) bhai |- | Father's sister's* daughter || (फुफेरी) बहन (phupheri) bahan, (फूफोज़ाद) बहन (phuphozaad) bahan |- | Mother's brother's* son || (ममेरा) भाई (mamera) bhai, (मामूज़ाद) भाई (mamuzaad) bhai |- | Mother's brother's* daughter || (ममेरी) बहन (mameri) bahan, (मामूज़ाद) बहन (mamuzaad) bahan |- | Mother's sister's* son || (मौसेरा) भाई (mausera) bhai, (मासेरा) भाई (masera) bhai, (ख़लेरा) भाई (KHalera) bhai, (ख़ालाज़ाद) भाई (KHalazaad) bhai |- | Mother's sister's* daughter || (मौसेरी) बहन (mauseri) bahan, (मासेरी) बहन (maseri) bahan, (ख़लेरी) बहन (KHaleri) bahan, (ख़ालाज़ाद) बहन (KHalazaad) bahan |} === Children & Children-in-law === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Son || बेटा (beta), पुत्र (putr), सूनुः (soonu'hu), सुत (sut), तनयः (tanay) |- | Daughter|| बेटी (beti), पुत्री (putri), जाई (jai), तनया (tanayaa), सूनू (soonoo) |- | Son's wife (daughter-in-law) || बहू (bahu), पुत्रवधू (putravadhu), पतोहू (patohu), स्नुषा (snusha), वधू (vadhu) |- | Daughter's husband (son-in-law) || दामाद (damad), जमाई (jamai), जामाता (jaamaata), जामातृ (jaamaatr'i) |- |Brother's son (nephew) |भतीजा (bhatija), भ्रातृव्यः (bhraatrivya'ha), भ्रातृपुत्रः (bhraatriputra) |- |Brother's daughter (niece) |भतीजी (bhatiji), भ्रातृव्या (bhraatrivyaa), भ्रातृजा (bhraatrijaa) |- |Sister's son (nephew) |भांजा (bhanja), भागिनेयः (bhaaginey'ha) |- |Sister's daughter (niece) |भांजी (bhanji), भागिनेया (bhaagineyaa) |} === Grandchildren === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor=#eeeeee ! align=left | Relation in English ! align=left | Relation in Hindi |- | Son's son (grandson) || पोता (pota), पौत्रः (pautra'ha) |- | Son's daughter (granddaughter) || पोती (poti), पौत्री (pautri) |- | Daughter's son (grandson) || नाती (nati), नवासा (navasa), दोहता (dohata), दौहित्रः (dauhitra'ha) |- | Daughter's daughter (granddaughter) || नातिन (natin), नवासी (navasi), दोहती (dohati), दौहित्री (dauhitri) |} === Spouses & Parents-in-law === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Husband || पति (pati), शोहर (shohar), ख़ावन्द (KHaavand)/ख़ाविन्द (KHaavind), भर्ता (bhartaa), परिणेता (pariNeta), कान्तः (kaant'ha), भर्तृ (bhartr'i) |- | Wife || पत्नी (patni), बीवी (bivi), बैग़म (baighum), भार्या (bhaarya), अर्धाङ्गिणी (ardhaangiNi), जाया (jaaya), जोरू (joru), दाराः (daara'ha), सहचारिणी (sehchaariNi), बायड़ी (baayRi), बायको (baayko), तीवीं (teevee'n), वहुटी (vauTi), कलत्रम् (kalatram) |- | Spouse's father (father-in-law) || ससुर (sasur), श्वशुरः (shvashur'ha) |- | Spouse's mother (mother-in-law) || सास (sas), श्वश्रूः (shvashru'hu) |- | Fiancé(e) || मँगेतर (mangetar) |} === Aunts & Uncles === {| class="wikitable sortable" border="1" cellpadding="3" cellspacing="1" |- bgcolor="#eeeeee" ! align="left" | Relation in English ! align="left" | Relation in Hindi |- | Father's older brother (uncle) || ताया (taya), ताऊ (tau), बड़े पापा (bade papa), बर्का अब्बा/अब्बू (barka abba/abbu), ताततुल्य (taattulya) |- | Father's older brother's wife (aunt) || ताई (tai), पितृव्यपत्नी (pitrivyapatni) |- | Father's younger brother (uncle) || चाचा (chacha), काका (kaka), छोटे पापा (chhote papa), पितृव्यः (pitrivya'ha) |- | Father's younger brother's wife (aunt) || चाची (chachi), काकी (kaki), छोटी मम्मी (chhoti mammi), पितृव्या (pitrivyaa) |- | Father's sister* (aunt) || बुआ (bua), भुआ (bhua), फूफी (phuphi), पितृभगिनी (pitribhagini), पितृष्वसा (pitrishvasa), फ़ोई (foi) |- | Father's sister's husband |Father's sister's* husband (uncle) |फूफा (phupha), फूफो (phupho), फ़ूफ़ड़ (fufaR) |- | Mother's brother* (uncle) || मामा (mama), मामू (mamu), मातुलः (maatul'ha) |- | Mother's brother's* wife (aunt) || मामी (mami), मुमानी (mumani), मातुलानी (maatulaani), मातुला (maatula) |- | Mother's sister* (aunt) || मौसी (mausi), मासी (masi), ख़ाला (KHala), मातृभगिनी (maatribhagini), मातृष्वसा (maatrishvasaa) |- | Mother's sister's* husband (uncle) || मौसा (mausa), मासा (masa), मासड़ (masaR), ख़ालू (KHalu) |} === Stepfamily === In Hindi, the prefix "step-" (or "half-") is given by the adjective "सौतेला". {| class="wikitable sortable" !Relation in English !Relation in Hindi |- |Stepfather |सौतेले बाप (sautele bap) |- |Stepmother |सौतेली माँ (sauteli ma), विमाता (vimaata) |- |Stepbrother |सौतेला भाई (sautela bhai), विमातृज (vimaatrij) |- |Stepsister |सौतेली बहन (sauteli bahan) |} == Notes == <nowiki>*</nowiki>If a particular sibling's name is followed by an asterisk, then it does not matter whether they are older or younger; the Hindi term remains the same. ==References{{BookCat}}== <references /> == Further Reading == *McGregor, R.S, ''The Oxford Hindi-English Dictionary'', Oxford University Press. 1993 *Snell, Rupert, ''Teach yourself Hindi: A complete guide for beginners.'' Lincolnwood, IL: NTC Publishing Group, 1992. {{ISBN|0-8442-3863-5}} {{DEFAULTSORT:Hindi/Family_Relations}} {{DEFAULTSORT:Hindi/Family_Relations}} {{DEFAULTSORT:Hindi/Family_Relations}} 6yx96edf0ys4l138rc6dol2xbzzsixk Java Programming/Basic IO 0 27016 4635263 3675794 2026-05-11T15:42:39Z ~2026-28460-82 3583596 e 4635263 wikitext text/x-wiki <noinclude>{{Displaytitle|title=Basic IO}} {{Nav}} {{Java Programming/BeginnersTopics/Nav}} {{Java Programming/UserInterfaceTopics/Nav}} __NOTOC__ </noinclude> This section covers the Java platform classes used for '''basic input and output'''. But before we begin we need to have a concrete understanding of what input and output means in programming. To grasp this concept, think of the Java platform as a ''system''. ==Understanding input and output== The Java platform is an isolated entity, a space on your OS in a way, where everything outside this system is its ''environment''. The interaction between the system and its environment is a two-way dialog of sorts. Either the system receives messages from its environment, or it conveys its messages to the same. When a message is received by the system, it is called an ''[[w:Input|input]]'', its opposite is an ''[[w:Output|output]]''. On a whole, this communication is termed ''[[w:Input/output|input/output]]'' abbreviated as ''I/O''. The following chapters are designed to introduce basic input and output in Java, including reading text input from the keyboard, outputting text to the monitor, and reading/writing files from the file system. More advanced user interaction using Graphics and [[w:Graphical User Interface|Graphical User Interface]] (GUI) programs is taken up in the later section on [[Java Programming/Swing|Swing]]. There are two packages for I/O: the older java.io package (does not support symbolic links) and the newer java.nio ("new io") package that has improved exception handling at java.nio.file. ===Simple Java Output: Writing to the Screen=== Writing to the screen is very easy, and can be accomplished using one of two methods: {| style="width: 100%" |{{XExample|1='''Code section 9.1: Print "Hello world" without advancing to a new line''' <syntaxhighlight lang="Java"> System.out.print("Hello world"); </syntaxhighlight>}} | {{XConsole|1='''Output on the screen''' '''<pre style="background-color:#000; color:#fff; "> Hello world </pre>'''}} |- |{{XExample|1='''Code section 9.2: Print "Hello world" and advance to a new line''' <syntaxhighlight lang="Java"> System.out.println("Hello world"); </syntaxhighlight>}} | {{XConsole|1='''Output on the screen''' '''<pre style="background-color:#000; color:#fff; "> Hello world </pre>'''}} |} ===Simple Java Input: Inputting from the keyboard=== As of version 5, Java provides a class in the <code>java.util</code> package called <code>Scanner</code> that simplifies keyboard input. {{XExample|1='''Code section 9.3: Inputting with <code>Scanner</code>''' <syntaxhighlight lang="Java"> Scanner kbdIn = new Scanner(System.in); // Instantiating a new Scanner object System.out.print("Enter your name: "); // Printing out the prompt String name = kbdIn.nextLine(); // Reading a line of input (until the user hits enter) from the keyboard // and putting it in a String variable called name System.out.println("Welcome, " + name); // Printing out welcome, followed by the user's name </syntaxhighlight>}} {{XConsole|1='''On the screen''' '''<pre style="background-color:#000; color:#fff; "> Enter your name: John Doe Welcome, John Doe </pre>'''}} Alternatively, one could write a method to handle keyboard input: {{XExample|1='''Code section 9.4: Line reader''' <syntaxhighlight lang="Java"> public String readLine() { // Creates a new BufferedReader object BufferedReader x = new BufferedReader(new InputStreamReader(System.in)); // Reads a line of input and returns it directly return x.readLine(); } </syntaxhighlight>}} Note that the code above shouldn't be used in most applications, as it creates new Objects every time the method is run. A better alternative would be to create a separate class file to handle keyboard input. <noinclude> {{Todo|Add some exercises like the ones in [[Java Programming/Variables#Kinds of variables|Variables]]}} {{Nav}} {{Status|75%}}</noinclude> e2o8qyjon2kraepypx0r8tsgpc71fju 4635324 4635263 2026-05-11T18:17:16Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by DannyS712 3675794 wikitext text/x-wiki <noinclude>{{Displaytitle|title=Basic IO}} {{Nav}} {{Java Programming/BeginnersTopics/Nav}} {{Java Programming/UserInterfaceTopics/Nav}} __NOTOC__</noinclude> This section covers the Java platform classes used for '''basic input and output'''. But before we begin we need to have a concrete understanding of what input and output means in programming. To grasp this concept, think of the Java platform as a ''system''. ==Understanding input and output== The Java platform is an isolated entity, a space on your OS in a way, where everything outside this system is its ''environment''. The interaction between the system and its environment is a two-way dialog of sorts. Either the system receives messages from its environment, or it conveys its messages to the same. When a message is received by the system, it is called an ''[[w:Input|input]]'', its opposite is an ''[[w:Output|output]]''. On a whole, this communication is termed ''[[w:Input/output|input/output]]'' abbreviated as ''I/O''. The following chapters are designed to introduce basic input and output in Java, including reading text input from the keyboard, outputting text to the monitor, and reading/writing files from the file system. More advanced user interaction using Graphics and [[w:Graphical User Interface|Graphical User Interface]] (GUI) programs is taken up in the later section on [[Java Programming/Swing|Swing]]. There are two packages for I/O: the older java.io package (does not support symbolic links) and the newer java.nio ("new io") package that has improved exception handling at java.nio.file. ===Simple Java Output: Writing to the Screen=== Writing to the screen is very easy, and can be accomplished using one of two methods: {| style="width: 100%" |{{XExample|1='''Code section 9.1: Print "Hello world" without advancing to a new line''' <syntaxhighlight lang="Java"> System.out.print("Hello world"); </syntaxhighlight>}} | {{XConsole|1='''Output on the screen''' '''<pre style="background-color:#000; color:#fff; "> Hello world </pre>'''}} |- |{{XExample|1='''Code section 9.2: Print "Hello world" and advance to a new line''' <syntaxhighlight lang="Java"> System.out.println("Hello world"); </syntaxhighlight>}} | {{XConsole|1='''Output on the screen''' '''<pre style="background-color:#000; color:#fff; "> Hello world </pre>'''}} |} ===Simple Java Input: Inputting from the keyboard=== As of version 5, Java provides a class in the <code>java.util</code> package called <code>Scanner</code> that simplifies keyboard input. {{XExample|1='''Code section 9.3: Inputting with <code>Scanner</code>''' <syntaxhighlight lang="Java"> Scanner kbdIn = new Scanner(System.in); // Instantiating a new Scanner object System.out.print("Enter your name: "); // Printing out the prompt String name = kbdIn.nextLine(); // Reading a line of input (until the user hits enter) from the keyboard // and putting it in a String variable called name System.out.println("Welcome, " + name); // Printing out welcome, followed by the user's name </syntaxhighlight>}} {{XConsole|1='''On the screen''' '''<pre style="background-color:#000; color:#fff; "> Enter your name: John Doe Welcome, John Doe </pre>'''}} Alternatively, one could write a method to handle keyboard input: {{XExample|1='''Code section 9.4: Line reader''' <syntaxhighlight lang="Java"> public String readLine() { // Creates a new BufferedReader object BufferedReader x = new BufferedReader(new InputStreamReader(System.in)); // Reads a line of input and returns it directly return x.readLine(); } </syntaxhighlight>}} Note that the code above shouldn't be used in most applications, as it creates new Objects every time the method is run. A better alternative would be to create a separate class file to handle keyboard input. <noinclude> {{Todo|Add some exercises like the ones in [[Java Programming/Variables#Kinds of variables|Variables]]}} {{Nav}} {{Status|75%}}</noinclude> pljxegtkc6fslwygeflfr3idev22x9m Cookbook:Midnight Snack 102 27467 4635241 4336362 2026-05-11T13:14:33Z ~2026-28468-56 3583634 I added a few more of mu favorite midnight snacks! 4635241 wikitext text/x-wiki {{cooknav}} The '''midnight snack''' is a late meal eaten just before going to bed or after waking up in the middle of the night. Some people have difficulty falling asleep with an empty stomach, especially those who are not "morning people". Good midnight snacks are high-fat and high-protein foods. Morning people are likely to find that this causes discomfort rather than comfort. Midnight snack foods are usually chosen to serve one person with little preparation effort. Often, leftover food is [[Cookbook:Microwaving|microwaved]] to reheat it. ==Good midnight snacks== *[[Cookbook:Date Bar|date bar]] (prepared in advance) *Sardines *[[Cookbook:Hamburger|hamburger]] (reheated) *[[Cookbook:Fried Rice|fried rice]] (reheated) *[[Cookbook:Cheese|cheese]] melted on [[Cookbook:Tortilla Chip|tortilla chips]], perhaps with [[Cookbook:Bacon|bacon]] bits and/or [[Cookbook:Black Olive|black olives]] *[[Cookbook:Saucepan Fudge Crackle Cookies|saucepan fudge crackle cookie]] (prepared in advance) *[[Cookbook:Herring|herring]] *[[Cookbook:Fudge|fudge]] *[[Cookbook:Bacon|bacon]] (reheated) *[[Cookbook:Cashew|cashews]] *[[Cookbook:Cheese|cheese]] *[[Cookbook:Beef Jerky|beef jerky]] *[[Cookbook:Toast|toast]] with lots of [[Cookbook:Butter|butter]] *[[Cookbook:Cheese|cheese]] melted on a [[Cookbook:Flour Tortilla|flour tortilla]], perhaps with leftover [[Cookbook:Beef|beef]] or [[Cookbook:Bacon|bacon]] *Pecan pie (prepared in advance) *[[Cookbook:Oatmeal Raisin Cookies|oatmeal raisin cookie]] (prepared in advance) *[[Cookbook:Peanut Butter and Jelly Sandwich|Peanut Butter and Jelly Sandwich]] *[[Cookbook:Beans on toast|Beans on toast]] 8 minutes to cook and eat *peanut butter and yellow cheese sandwich {{DEFAULTSORT:}} *Oreos and milk *Chocolate spread on toast *cheese toasties *takeaway *cereal and milk *instant mac 'n' cheese *pot noodle *pancakes *oatmeal *"Pizza" toast *Frozen TV Dinners *Ramen Noodles *Canned soup (Maybe with grilled cheese sandwich?) *Egg and cheese omelette Or sandwhich (add bacon or ham if available) *Instant noodles *Cookies and Milk *Nutella toast * [[Category:Meals and courses]] 6pm00gzmpr283j08mo0gz2zf6pglf5m GCSE Science/Acids & Bases, Salts and Electrolysis 0 57482 4635389 3294204 2026-05-12T09:17:13Z ~2026-28695-02 3584895 Included a more comprehensive definition of acids and shed more lite on the property of taste. 4635389 wikitext text/x-wiki {{formatting}} ==Acids== * Acids from animal and plant material are called Organic acids. * Acids that chemists have found ways of creating are Mineral acids. * Solutions of acids can be either dilute or concentrated. * An acid is a substance that releases hydrogen ions when dissolved in water. * According to the Brønsted-Lowry Theory, an acid is an H+ ion (or proton) donor. Properties: * '''Taste'''. Most dilute acids have a sour taste. This is true of the three common mineral acids sulphuric, hydrochloric and nitric, and many others. The sour taste of many unripe fruits, lemons and milk is caused by the acids in them. * Acids change the colour of indicators: Acids turn blue litmus paper red. * Acids react with metals to produce hydrogen and salt of the metal. : > Some metals react slowly, for example copper, and some react very fast, such as sodium. ::Metal + acid -> metal salt + hydrogen ::Zinc + Sulphuric Acid -> Zinc Sulphate + Hydrogen ::Zn (s) + H<sub>2</sub>SO<sub>4</sub> (aq) -> H<sub>2</sub> (g) + ZnSO<sub>4</sub> (aq) : > Metal replaces the hydrogen contained in acid. * Acids react with carbonates to give carbon dioxide, a salt and water. ::Magnesium Carbonate + Hydrochloric Acid -> Carbon Dioxide + Magnesium Chloride + Water ::MgCO<sub>3</sub> (s) + 2HCl (aq) -> CO<sub>2</sub> (g) + MgCl<sub>2</sub> (aq) + H<sub>2</sub>O * Acids neutralize bases to form a salt and water only. * Acids have H<sup>+</sup> ions which combine with OH<sup>-</sup> ions in bases to form H<sub>2</sub>O as a result of the neutralization reaction. ==Bases== * A base is a substance that reacts with an acid to form a salt and water only. ::Acid + Base -> Salt + Water ::Calcium Hydroxide + Nitric acid -> Calcium nitrate + Water * Alkalis are soluble bases ::Sodium Hydroxide + hydrochloric acid -> Sodium Chloride + Water ::NaOH (aq) + HCl (aq) -> NaCl (aq) + H<sub>2</sub>O (l) ::Limewater is an alkali (calcium hydroxide). It goes milky white when Carbon Dioxide is bubbled through it. The precipitate is Calcium Carbonate. ::Carbon Dioxide + Calcium Hydroxide -> Calcium Carbonate + water Properties: * Bases neutralize acids to form salt and water only. * Soluble bases change the colour of indicators (e.g. turns red litmus paper blue) * Soluble bases feel soapy (they convert some oil on your skin into soap). Decreasing agents; convert oil and grease into soap. * A solution of an alkali in water contains hydroxide ions OH<sup>-</sup> (aq). Because most metal hydroxides are insoluble, an alkali added to a solution of a metal salt will precipitate an insoluble metal hydroxide. === Weak and Strong Acids === * Acids that contain more hydrogen ions (ionize to a larger extent) react faster (e.g. HCl) * This is a strong acid (nearly all acid molecules form ions) * In weak acids, only some of the acid molecules form ions * Strong acids have lower pH numbers than weak acids of the same concentration ::{| |''Strong Acids'' || ''Weak Acids'' |- |Hydrochloric Acid || Ethanoic Acid |- |Sulphuric Acid || Citric Acid |- |Nitric Acid || Carbonic Acid |} === Weak and Strong Alkalis === * A strong alkali exists almost completely as ions in solution. * A weak alkali, only some of the molecules will form ions in solution ::{| |''Strong Alkalis'' || ''Weak Alkalis'' |- |Sodium Hydroxide || Ammonia |- |Potassium Hydroxide|| |- |Calcium Hydroxide || |} == pH/Universal Indicator paper == * pH is the level of acidity or alkalinity in an aqueous solution or a liquid. * Universal Indicator turns different colors in strongly acidic and weakly acidic solutions. * It comes as both a liquid and as a solution. * Acids have a pH value of less than 7. * Alkalis have a pH value of more than 7. * Neutral Substances have a value of pH 7. === Other Indicators === ::{| | ''Indicator'' || ''Acidic Colour'' || ''Neutral Colour'' || ''Alkaline Colour'' |- |Litmus || Red || Purple || Blue |- |Phenolphtalein || Colorless || Colorless || Pink |- |Methyl Orange || Red || Yellow || Yellow |} == Acidity in Soil == * Most plants grow best when the pH of the soil is close to 7. * If the soil is too acidic, or too alkaline, plants will grow badly or not at all. * Chemicals are added to the soil to adjust the pH level. * Most often, soil is too acidic so it is treated with quicklime (calcium oxide), slaked lime (calcium hydroxide) or chalk (calcium carbonate). These are all cheap bases. == TYPES OF OXIDES == === Metallic/Basic Oxides === * Basic Oxide + Alkali -> no visible reaction * Basic Oxide + Acid -> Salt + Water Only * Basic Oxide + Water -> alkalis * CaO, MgO, CuO, Na2O, K2O * Oxides of P + K form peroxides on heating, others decompose. === Non-Metallic/Acidic Oxide === * Acidic Oxide + Alkali à Salt -> water only [SO<sub>3</sub>(s) + 2NaOH(aq) -> Na<sub>2</sub>SO<sub>4</sub> (aq) + H<sub>2</sub>O (l)] * Acidic Oxide + Acid -> no visible reaction [NO<sub>2</sub> + HCl -> no reaction] * Acidic Oxide + Water -> Acid [2NO<sub>2</sub> + H<sub>2</sub>O -> HNO<sub>3</sub> + HNO<sub>2</sub>] *exception: mixed anhydride * Exception: 2NO<sub>2</sub> + 2NaOH -> NaNO<sub>3</sub> + NaNO<sub>2</sub> + H<sub>2</sub>O *mixed anhydride * SO<sub>2</sub>, SO<sub>3</sub>, NO<sub>2</sub>, P<sub>2</sub>O<sub>5</sub> (pentaoxide), P<sub>2</sub>O<sub>3</sub> === Neutral Oxide === * Non-metallic oxides (but not acidic) * CO (Carbon Monoxide), NO (Nitrogen Monoxide), N<sub>­2</sub>O (Dinitrogen Oxide), H<sub>2</sub>O (Water) * No reaction with anything === Amphoteric Oxides (both basic/acidic) === * Ampho Oxide + Acid -> Salt + Water only * Ampho Oxide + Alkali (+ water) -> Complex Salt * ZnO (s) + 2NaOH (aq) -> H<sub>2</sub>O -> Na<sub>2</sub>Zn(OH)<sub>4</sub> (Sodium Zincate) * Al<sub>2</sub>O<sub>3</sub> + 2NaOH + 3H<sub>2</sub>O -> 2NaAl(OH)<sub>4</sub> (Sodium Aluminate) * PbO + 2NaOH + H<sub>2</sub>O -> Na<sub>2</sub>Pb(OH)<sub>4</sub> (Sodium Plumbate) === Preparation of Basic Oxides === * For Pb, Cu, Zn, Fe, Al, HEAT THE METALLIC nitrate, hydroxide or carbonate (a) 2Cu(NO3)2 (s) -∆-> 2CUO (s) + 4NO2(g) + O2 (g) *identifiable with brown nitrogen dioxide gas (b) Cu(OH)2 (s) -∆-> CuO (s) + H2O (g/l) (c) CuCO3 (s) -∆-> CuO (s) + CO2 (g) == Salts == * Substance formed when either all or part of the hydrogen ions in an acid is replaced by a metallic or ammonium ion. * Made when acid is neutralized by base (water is also formed) * Anhydrous – salts with no water * Hydrated – salts with a fixed % of water (water of crystallization or water of hydration) – important for shape and color of salt * Soluble salts dissolve to leave a clear solution * Insoluble salt precipitate {| | ''Soluble'' || ''Insoluble'' |- |All chlorides || Silver chloride |- | || Lead (II) Chloride |- | All sulphates || Barium Sulphate |- | || Calcium Sulphate |- | || Lead (II) Sulphate |- |All Nitrates || |- |Sodium Carbonate || |- |Potassium Carbonate || All Carbonates |- |All Ethanoates || |- |Sodium Salts || |- |Potassium Salts || |- |Ammonium Salts || |} === Preparation of Soluble Salt === * Acid + Metal -> Salt + Hydrogen Warm acid, add metal in excess and wait till no more hydrogen is evolved * Acid + Metal Oxide -> Salt + Water Add excess of metal oxide to acid. Wait till solution no longer turns blue litmus red * Acid + Metal carbonate -> salt + water + carbon dioxide Add excess of metal carbonate to acid. Wait until no more CO2 evolved * Acid + Alkali -> Salt + Water * Solid is added in excess to make sure no acid has been left over After the above has been conducted, the excess solid in solution is filtered out. The filtrate is left to evaporate on the water bath. When crystals form on the rod, it can be taken off. Solution cools to crystals. Then solution can be separated by filtering, washing crystals with distilled water and then leaving crystals to dry. === Preparation of Insoluble Salt === * All insoluble salts will go through double decomposition reaction * More reactive metals will displace less reactive metals in solution Lead (II) Iodide, is an insoluble salt, will be prepared from Sodium Iodide. Lead (II) Nitrate is added to the solution (all nitrates soluble in water). A precipitate of Lead (II) Iodide forms as Sodium displaces Lead. NaI (aq) + Pb (NO3­)2 (aq) -> PbI2 (s) + 2NaNO3 (aq) The solution with the precipitate is filtered and washed with distilled water to dissolve any NaNO­3 still present. Residue is dried with over or dessicator to obtain insoluble salt. == QUALITATIVE ANALYSIS TO FIND THE COMPOSITION OF A SUBSTANCE == :{| | ''Cation'' || ''NaoH (aq)'' || ''NH3 (aq)'' |- |Aluminium (Al3+) || white ppt. soluble in excess || white ppt. insoluble excess |- |Ammonium (NH4+) || ammonia produced on warming with NaOH || |- |Calcium (Ca2+) || white ppt. insoluble in excess || no ppt. or slight white |- |Copper (Cu2+) || light blue ppt. insoluble in excess || light blue ppt. soluble excess to give dark blue solution |- |Iron (II) (Fe2+) || green ppt. insoluble in excess || green ppt. insoluble in excess |- |Iron (III) (Fe3+) || red-brown ppt. insoluble excess || red-brown ppt. insoluble in excess |- |Zinc (Zn2+) || white ppt. soluble in excess, giving colourless soln. || white ppt. soluble in excess, giving colourless solution. |} :{| |''Anion'' || ''Test'' || ''Test Result'' |- |Cabonate (CO32‑) || add dilute acid + limewater || effervescence, CO2 produced |- |Chloride (Cl-) || add dilute nitric acid and then silver nitrate. || white ppt. |- |Iodide (I-) || acidify with dilute nitric acid, then add aqueous lead (II) nitrate || yellow ppt. |- |Nitrate (NO3-) || add aqueous sodium hydroxide, Al Foil, warm carefully. || ammonia produced |- |Sulphate (SO2-4) || acidify, add barium nitrate or barium || white ppt. |} {{BookCat}} rp9w207rq69wtw9mh737pmo057z1d54 Java Programming/Exceptions 0 58123 4635234 4025367 2026-05-11T12:45:14Z ~2026-28460-82 3583596 e 4635234 wikitext text/x-wiki <noinclude>{{Displaytitle|title=Exceptions}} {{Nav}} {{Java Programming/ExceptionsTopic/Nav}} {{Java Programming/Topics/Nav}} __NOTOC__ </noinclude> The ideal time to catch an error is at compile time, before you even try to run the program. However, not all errors can be detected at compile time. The rest of the problems must be handled at run time through some formality that allows the originator of the error to pass appropriate information to a recipient who will know how to handle the difficulty properly. Improved error recovery is one of the most powerful ways that you can increase the robustness of your code. Error recovery is a fundamental concern for every program you write, but it's especially important in Java, where one of the primary goals is to create program components for others to use. ''To create a robust system, each component must be robust''. By providing a consistent error-reporting model using exceptions, Java allows components to reliably communicate problems to client code. ==Flow of code execution== In Java, there are two main flows of code executions. * Normal main sequential code execution, the program doing what it meant to accomplish. * Exception handling code execution, the main program flow was interrupted by an error or some other condition that prevent the continuation of the normal main sequential code execution. ; Exception : Exceptions are Java's way of error handling. Whenever an unexpected condition occurs, an exception can be thrown with an exception object as a parameter. It means that the normal program control flow stops and the search for a {{java:catch}} block begins. If that is not found at the current method level the search continues at the caller method level, until a matching {{java:catch}} block is found. If none is found the exception will be handled by the JVM, and usually the java program terminates. :When a {{java:catch}} "matching" block is found, that block will be executed, the exception object is passed to the block as a parameter. Then normal program execution continues after the {{java:catch}} block. ''See Java [[Java Programming/Keywords/try|exception handling syntax]].'' ; Exception Object : This is the object that is "thrown" as a parameter from the error, and passed to the {{java:catch}} block. Exception object encapsulates the information about the error's location and its nature. All Exception objects must be inherited from the <code>java.lang.Throwable</code>. See the [[#figure-1|UML diagram]] below. {{Java/Illustration |number=<span id="figure-1">6.1</span> |caption=Java exception classes |image=[[Image:Java exception classes.svg|center]] }} Exercise as it relates to Disease ; Matching rule : A thrown exception object can be caught by the {{java:catch}} keyword and specifying the exception object's class or its super-class. ; Naming convention : It is good practice to add Exception to all exception classes. The name of the exception should be meaningful, and should represent the problem. For example, <code>CustomerNotFoundException</code> may indicate that a customer was not found. <noinclude>{{Nav}} {{Status|100%|e}}{{AI-generated}} [[nl:Programmeren in Java/Exceptions]] </noinclude> higumixtot862osk374vayztlybhr03 4635236 4635234 2026-05-11T13:02:38Z ~2026-28460-82 3583596 1 4635236 wikitext text/x-wiki <noinclude>{{Displaytitle|title=Exceptions}} {{Nav}} {{Java Programming/ExceptionsTopic/Nav}} {{Java Programming/Topics/Nav}} __NOTOC__ </noinclude> The ideal time to catch an error is at compile time, before you even try to run the program. However, not all errors can be detected at compile time. The rest of the problems must be handled at run time through some formality that allows the originator of the error to pass appropriate information to a recipient who will know how to handle the difficulty properly. Improved error recovery is one of the most powerful ways that you can increase the robustness of your code. Error recovery is a fundamental concern for every program you write, but it's especially important in Java, where one of the primary goals is to create program components for others to use. ''To create a robust system, each component must be robust''. By providing a consistent error-reporting model using exceptions, Java allows components to reliably communicate problems to client code. ==Flow of code execution== In Java, there are two main flows of code executions. * Normal main sequential code execution, the program doing what it meant to accomplish. * Exception handling code execution, the main program flow was interrupted by an error or some other condition that prevent the continuation of the normal main sequential code execution. ; Exception : Exceptions are Java's way of error handling. Whenever an unexpected condition occurs, an exception can be thrown with an exception object as a parameter. It means that the normal program control flow stops and the search for a {{java:catch}} block begins. If that is not found at the current method level the search continues at the caller method level, until a matching {{java:catch}} block is found. If none is found the exception will be handled by the JVM, and usually the java program terminates. :When a {{java:catch}} "matching" block is found, that block will be executed, the exception object is passed to the block as a parameter. Then normal program execution continues after the {{java:catch}} block. ''See Java [[Java Programming/Keywords/try|exception handling syntax]].'' ; Exception Object : This is the object that is "thrown" as a parameter from the error, and passed to the {{java:catch}} block. Exception object encapsulates the information about the error's location and its nature. All Exception objects must be inherited from the <code>java.lang.Throwable</code>. See the [[#figure-1|UML diagram]] below. {{Java/Illustration |number=<span id="figure-1">6.1</span> |caption=Java exception classes |image=[[Image:Java exception classes.svg|center]] }} Exercise as it relates to Disease ; Matching rule : A thrown exception object can be caught by the {{java:catch}} keyword and specifying the exception object's class or its super-class. ; Naming convention : It is good practice to add Exception to all exception classes. The name of the exception should be meaningful, and should represent the problem. For example, <code>CustomerNotFoundException</code> may indicate that a customer was not found. <noinclude>{{Nav}} {{Status|100%|e}}{{AI-generated}}{{AI-generated}} [[nl:Programmeren in Java/Exceptions]] </noinclude> oq97bs0stcg8lno72lbm83ox0xvd7x5 4635258 4635236 2026-05-11T14:55:14Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edits by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by DustDFG 4025367 wikitext text/x-wiki <noinclude>{{Displaytitle|title=Exceptions}} {{Nav}} {{Java Programming/ExceptionsTopic/Nav}} {{Java Programming/Topics/Nav}} __NOTOC__</noinclude> The ideal time to catch an error is at compile time, before you even try to run the program. However, not all errors can be detected at compile time. The rest of the problems must be handled at run time through some formality that allows the originator of the error to pass appropriate information to a recipient who will know how to handle the difficulty properly. Improved error recovery is one of the most powerful ways that you can increase the robustness of your code. Error recovery is a fundamental concern for every program you write, but it's especially important in Java, where one of the primary goals is to create program components for others to use. ''To create a robust system, each component must be robust''. By providing a consistent error-reporting model using exceptions, Java allows components to reliably communicate problems to client code. ==Flow of code execution== In Java, there are two main flows of code executions. * Normal main sequential code execution, the program doing what it meant to accomplish. * Exception handling code execution, the main program flow was interrupted by an error or some other condition that prevent the continuation of the normal main sequential code execution. ; Exception : Exceptions are Java's way of error handling. Whenever an unexpected condition occurs, an exception can be thrown with an exception object as a parameter. It means that the normal program control flow stops and the search for a {{java:catch}} block begins. If that is not found at the current method level the search continues at the caller method level, until a matching {{java:catch}} block is found. If none is found the exception will be handled by the JVM, and usually the java program terminates. :When a {{java:catch}} "matching" block is found, that block will be executed, the exception object is passed to the block as a parameter. Then normal program execution continues after the {{java:catch}} block. ''See Java [[Java Programming/Keywords/try|exception handling syntax]].'' ; Exception Object : This is the object that is "thrown" as a parameter from the error, and passed to the {{java:catch}} block. Exception object encapsulates the information about the error's location and its nature. All Exception objects must be inherited from the <code>java.lang.Throwable</code>. See the [[#figure-1|UML diagram]] below. {{Java/Illustration |number=<span id="figure-1">6.1</span> |caption=Java exception classes |image=[[Image:Java exception classes.svg|center]] }} ; Matching rule : A thrown exception object can be caught by the {{java:catch}} keyword and specifying the exception object's class or its super-class. ; Naming convention : It is good practice to add Exception to all exception classes. The name of the exception should be meaningful, and should represent the problem. For example, <code>CustomerNotFoundException</code> may indicate that a customer was not found. <noinclude>{{Nav}} {{Status|100%}} [[nl:Programmeren in Java/Exceptions]] </noinclude> 13c0opqiouaqzkvjqf2madsis88mlgf Tagalog/Nouns and markers 0 60582 4635373 4635210 2026-05-12T05:08:23Z JamesTor2egosa 3582451 /* Case and Case Markers */ 4635373 wikitext text/x-wiki This lesson will teach you about the usage of nouns and markers in Tagalog. ==Pluralization== ===In Common Nouns=== [[w:common noun|Common nouns]] in Tagalog are usually pluralized by placing '''''mgá''''' directly before the noun. ''Mgá'' is pronounced as [maˈŋa], where the stress is on the second syllable. Examples: {| class="wikitable" |- ! colspan="2"|Singular || colspan="2"|Plural |- | babae || ''woman'' || '''''mgá''''' babae || ''women'' |- | pusà || ''cat'' || '''''mgá''''' pusà || ''cats'' |- | paáralán || ''school'' || '''''mgá''''' paáralán || ''schools'' |- | lapis || ''pencil'' || '''''mgá''''' lapis || ''pencils'' |} However, '''mga''' is often omitted in the following circumstances: * When the noun is quantified by a number *: ''dalawáng'' (mgá) babae — two women * When the noun is described by a quantitative adjective *: ''maraming'' (mgá) pusà — many cats *: ''iiláng'' (mgá) lapis — a few pencils * When the noun is described by a pluralized adjective (''characterized by the <u>reduplication</u> of the adjectival root'') *: ''ma<u>la</u>lakíng'' (mgá) paáralán — big schools *: ''ma<u>ga</u>gandáng'' (mgá) babae — beautiful ladies While adding ''mgá'' in such situations is not grammatically incorrect, it comes off as redundant as the number or adjective itself already implies plurality. Note that when ''mgá'' appears before a number or time expression, it means “about” or “around”: * ''mgá'' limá — about five * ''mgá'' alas-dós — around two o’clock * ''mgá'' Paskó — around Christmas ===In Proper Nouns=== [[w:proper noun|Proper nouns]] could also take ''mga''. Examples: * ''mgá'' Pilipino — Filipinos * ''mgá'' taga-Cebu — Cebuanos; people from Cebu * ''mgá'' [[w:Jollibee|Jollibee]] — Jollibee (fastfood) branches * ''mgá'' [[w:Red Horse Beer|Red Horse]] — Red Horse bottles When used with family names, it refers to the members of that family as a whole, as in English. * ''mga'' Panganiban — the Panganibans; Panganiban family * ''mga'' [[w:Aquino family|Aquino]] — the Aquinos; Aquino family When used with names of people, ''mga'' groups people with the same name * ''mga'' Marites — people who are named Marites * ''mga'' Juan at Pedro — people who are named Juan and Pedro Although when addressing or referring to people by name, either ''sina'', ''nina'', or ''kina'' is used instead, without ''mgá'' (''see [[#Tagalog/Nouns and markers_Case Markers|Case markers]] for more''). * ''sina'' Maria at Jose ay mag-asawa — Mary and Joseph are a married couple ==Case and Case Markers== Tagalog nouns and noun phrases are preceded by little words known as ''case markers''. These markers help indicate the [[w:thematic relation|grammatical role]] of a noun or noun phrase in a sentence – roles such as the doer, object, and receiver of the action, among others. ===Grammatical Roles=== The following table shows examples of grammatical roles of nouns in a given sentence. Note the use of ''case markers'' which are written in '''bold''' and <u>underlined</u>. {| class="wikitable" |- ! Grammatical role → !! style="background: gray; color: white;" | ''(Verb)'' !! Doer !! Object !! Receiver !! Location |- | '''Noun/Noun Phrase''' || style="background: gray; color: white;" | ''binigyán''|| <u>'''ni'''</u> Ana || <u>'''ng'''</u> pera || <u>'''ang'''</u> kanyáng anák || <u>'''sa'''</u> tabí ng bahay |- | '''Gloss''' || style="background: gray; color: white;" | ''given (to)'' || ''(by) Ana'' || ''money'' || ''her child''|| ''beside the house'' |- | '''Translation''' ||colspan="7"| ''Ana gave her child some money, beside the house'' |} In this lesson, standardized names for these grammatical roles are used: #'''Agent''': the doer or experiencer of the action. #'''Patient''': the person or thing that undergoes, is affected by, or is directly involved in the action; often the object in English. #'''Beneficiary''': the person or thing for whom, for whose benefit, or to whom the action is done. #'''Location''': the place where the action happens, where it is directed, or where its result is located. #'''Instrument''': the tool, means, or body part used to carry out the action. #'''Reason''': the cause, motive, or reason for which the action is done. Note that the ''agent'' and ''patient'' are grouped as '''core''' participants of a verb, while the ''beneficiary'', ''location'', ''instrument'', and ''reason'' are its '''oblique''' participants. ===Case=== ''[[w:grammatical case|Case]]'' helps us determine the grammatical role of a noun or noun phrase in a sentence. In Tagalog, case is marked not through changing the word itself (''[[w:Inflection|inflection]]''), but through the use of separate words called ''case markers''. There are three [[w:grammatical case|cases]] in Tagalog, namely: #'''''ang''-case''', also called ''direct'', ''pivot'', ''focus'', or ''topic'' case; at times, although less preferably, known as the ''absolutive'' or ''nominative'' case #'''''ng''-case''', also called ''indirect'' or ''genitive'' case; less preferably known as the ''ergative'' or ''accusative'' case #'''''sa''-case''', also called ''oblique'' case Different grammars use different terms for these cases, which are listed above. In this lesson, they will be called ''ang-'', ''ng-'', and ''sa-case'' to avoid confusion – so called from the ''common singular'' forms of their respective case markers. ===Case Markers=== ''Case markers'' are typically short words (''[[w:grammatical particle|particles]]'') that directly precede the noun or noun phrase they mark case for. Aside from case distinction, these markers are also divided into two types: #'''''personal''''' markers, used before personal names (''names of people and animals'') and terms of address; ex., '''''si''' [[w:Walt Disney|Walt Disney]]'' #'''''common''''' markers, used before common nouns AND proper nouns that are not personal names; ex., '''''ang''' kompanya'' (''[the] company''), '''''ang''' [[w:The Walt Disney Company|Disney]]'' Additionally, ''personal markers'' have a separate plural form characterized by the ''-na'' ending. On the other hand, ''common markers'' remain unchanged, where the particle ''mga'' is used to pluralize the noun or noun phrase. Below is a chart of the case markers. Note that ''mga'' is pronounced as [maˈŋa], and ''ng'' as [naŋ]. {| border="1" cellpadding="2" !colspan="2"|&nbsp; !ang-case !ng-case !sa-case |- |rowspan="2"|'''Common''' |'''Singular''' |ang |ng |sa |- |'''Plural''' |ang mga |ng mga |sa mga |- |rowspan="2"|'''Personal''' |'''Singular''' |si |ni |kay |- |'''Plural''' |sina |nina |kina |} ===Pivot and Non-pivot cases=== To better understand how case works in Tagalog, it is important to grasp the concept of a ''pivot'', which is a central feature of the language<ref>especially in relation to the [[w:Symmetrical alignment|Austronesian alignment]] which Tagalog inherited from [[w:Proto-Austronesian|Proto-Austronesian]], and shared with other related languages of the Philippines, Taiwan, Borneo, and Madagascar</ref>: verbs typically form a ''special relationship'' with a select noun or noun phrase in a given sentence – that noun is known as the '''''pivot'''''<ref>also called the ''direct'' or, less preferably, the ''focus'' noun – as ''"[[w:Focus (linguistics)|focus]]"'' could mean a different feature that is also used in Tagalog grammar</ref> and is marked by the ''ang-case''. The grammatical role of the ''pivot'' noun phrase depends on how the verb is conjugated by ''trigger''<ref>the reverse could also be said true: that the ''trigger'' of the verb is determined by the grammatical role that the ''pivot'' intends to encapsulate</ref> (''see [[#Tagalog/Nouns and markers_Ang-case|Ang-case]] subsection for specifics''). The choice of a ''pivot'' mainly depends on what noun or noun phrase the speaker wants to make central in the sentence, and the verb’s ''trigger'' complements that choice. All other nouns and noun phrases that are not the ''pivot'' of any verb, and thus not marked with the ''ang-case'', are '''''non-pivot''''': * If the ''non-pivot'' noun phrase is a core participant of the action (''agent or patient''), it is marked by the ''ng-case''. * If the ''non-pivot'' noun phrase is neither agent or patient, but rather an oblique participant of the action (''beneficiary, location, instrument, reason'') then it is marked by the ''sa-case''. {| border="1" cellpadding="2" !rowspan=2 | Pivot !colspan=2 | Non-pivot |- !align=center|Core !align=center|Oblique |- |'''''ang-case''''' |'''''ng-case''''' |'''''sa-case''''' |} ===Ang-case=== The '''''ang-case''''' marks the ''pivot'' noun or noun phrase of the sentence. The ''ang''-case therefore specifically: * marks the '''agent''' (doer or experiencer) of the action when the verb is conjugated in the ''agent-trigger'' : {| class="wikitable" |- ! ''Agent-trigger Verb'' !! Agent (Doer) !! Patient (Object) !! Beneficiary (Receiver) |- | ''b'''um'''ilí''|| style="background: yellow;" | '''si''' Ana || ''ng mga'' damít || ''para sa'' kanyáng anák |- | ''bought'' || style="background: yellow;" | ''Ana'' || ''clothes'' || ''for her child'' |- | colspan="6"| Translation: ''Ana bought clothes for her child'', or, ''Ana bought her child some clothes'' |} * marks the '''patient''' (object or undergoer) of the action when the verb is conjugated in the ''patient-trigger'' : {| class="wikitable" |- ! ''Patient-trigger Verb'' !! Agent (Doer) !! Patient (Object) !! Beneficiary (Receiver) |- | ''b'''in'''ilí''|| ''ni'' Ana || style="background: yellow;" | '''ang mga''' damít || ''para sa'' kanyáng anák |- | ''bought'' || ''by Ana'' || style="background: yellow;" | ''clothes'' || ''for her child'' |- | colspan="6"| Translation: ''The clothes were bought by Ana for her child'' |} * marks the '''beneficiary''' (or recipient) of the action when the verb is conjugated in the ''benefactive-trigger'' : {| class="wikitable" |- ! ''Benefactive-trigger Verb'' !! Agent (Doer) !! Patient (Object) !! Location !! Beneficiary (Receiver) |- | '''''i'''b'''in'''ilí'' / ''b'''in'''il'''hán'''''|| ''ni'' Ana || ''ng mga'' damít || ''sa'' Divisoria || style="background: yellow;" | '''ang''' kanyáng anák |- | ''bought (for)'' || ''by Ana'' || ''clothes'' || ''at the [[w:Divisoria|Divisoria]]'' || style="background: yellow;" | ''her child'' |- | colspan="6"| Translation: ''Ana bought clothes at the Divisoria for her child'', or more faithfully, ''Her (Ana's) child was bought clothes for at the Divisoria by Ana'' |} * marks the '''location''' (or direction) of the action when the verb is conjugated in the ''locative-trigger'' : {| class="wikitable" |- ! ''Locative-trigger Verb'' !! Agent (Doer) !! Patient (Object) !! Location !! Beneficiary (Receiver) |- | ''b'''in'''il'''hán''''' / '''''pinag'''bil'''hán'''''|| ''ni'' Ana || ''ng mga'' damít || style="background: yellow;" | '''ang''' Divisoria || ''para sa'' kanyáng anák |- | ''bought (at)'' || ''by Ana'' || ''clothes'' || style="background: yellow;" | ''[[w:Divisoria|Divisoria]]'' || ''for her child'' |- | colspan="6"| Translation: ''Ana bought clothes from the Divisoria for her child'', or more faithfully, ''The Divisoria was the place clothes where bought by Ana for her child'' |} * marks the '''instrument''' (or means) of the action when the verb is conjugated in the ''instrument-trigger'' : {| class="wikitable" |- ! ''Instrumental-trigger Verb'' !! Agent (Doer) !! Patient (Object) !! Instrument (Means) !! Beneficiary (Receiver) |- | '''''ipinam'''bilí''|| ''ni'' Ana || ''ng mga'' damít || style="background: yellow;" | '''ang''' pera ng kanyáng asawa || ''para sa'' kaniláng anák |- | ''was used to buy'' || ''by Ana'' || ''clothes'' || style="background: yellow;" | ''her spouse's money'' || ''for their child'' |- | colspan="6"| Translation: ''Ana bought clothes for her child using her spouse's money'', or more faithfully, ''Her (Ana's) spouse's money was used by Ana to buy clothes for their child'' |} * marks the '''reason''' (or cause) of the action when the verb is conjugated in the ''reason-trigger'' : {| class="wikitable" |- ! ''Reason-trigger Verb'' !! Agent (Doer) !! Reason (Cause) |- | '''''ikina'''tuwâ''|| ''ni'' Maria || style="background: yellow;" | '''ang mga''' damít |- | ''was the reason for being glad'' || ''Maria'' || style="background: yellow;" | ''clothes'' |- | colspan="6"| Translation: ''Maria was glad about the clothes'', or, ''The clothes made Maria glad'' |} In other words, the ''ang''-case noun may be the agent, patient, location, beneficiary, instrument, or reason of the action, depending on the conjugation of the verb. Note that for every verb, there can only be one ''pivot'' noun or noun phrase. If a sentence has two or more verbs, the sentence may have a single ''pivot'' common to those verbs, or separate ones for each. ====Ang-case markers==== The markers for the ''ang-case'' include "''si''" for names of people and "''ang''" for everything else. '''''Ang''''' is often translated by native speakers<ref>especially those not well-versed in the mechanics of Tagalog grammar</ref> with the English definite article "''the''". Though there are instances where this might seem true, it is not always the case — as ''ang'' could also be found in indefinite phrases (using ''isá'' "one", where in English we would use ''a/an''). * '''ang''' lalaki — ('''the''') man * '''ang isáng''' lalaki — '''a''' man The association with "''the''" may be attributed to the fact that ''ang''-case nouns are grammatically prominent, implying that the noun is specific and definite. (''See [[#Tagalog/Nouns and markers_Definiteness|Definiteness]] for more'') ===Ng-case=== The ''ng-case'' marks a non-focused core noun phrase. It may mark the actor in some verb forms, the object/patient in other verb forms, or possession. ===Sa-case=== The ''sa-case'' marks oblique relationships, such as location, direction, recipient, beneficiary, time, or reference. ===Examples=== '''Dumating''' ang ''lalaki''.<br> "The ''man'' '''arrived'''." '''Nakita''' ni Juan si Maria.<br> "John '''saw''' Maria." '''Pupunta''' sina Elena at Roberto sa bahay ni Miguel.<br> "Elena and Roberto '''will go''' to Miguel's house." '''Nasaan''' ang mga ''libro''?<br> "'''Where are''' the ''books''?" '''Kay''' ''Tatay'' ang susi.<br> "''Father'' '''has''' the keys" ==Definiteness== ---- [[Tagalog|^ Table of Contents ^]] | [[Tagalog/Ligatures|<<Ligatures]] | '''Nouns and Markers''' | [[Tagalog/Prefixes and suffixes|Prefixes and Suffixes>>]] {{BookCat}} m4b2wozfpydf274dkwpf12cd4ndijvk Java Programming/Keywords/goto 0 82074 4635248 3241560 2026-05-11T13:41:21Z ~2026-28460-82 3583596 1 4635248 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635255 4635248 2026-05-11T14:55:14Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by Strange quark 3241560 wikitext text/x-wiki {{java:goto}} is a '''reserved keyword''', presently not being used. {{BookCat|filing=deep}} ivp0tlrwz0apwi0rzt7qj6dh4xje7i9 Java Programming/Keywords/const 0 82512 4635242 4440472 2026-05-11T13:18:26Z ~2026-28460-82 3583596 1 4635242 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635243 4635242 2026-05-11T13:19:37Z Quinlan83 3290607 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by Tanbiruzzaman 3241547 wikitext text/x-wiki {{java:const}} is a '''reserved keyword''', presently not being used. In other programming languages, such as C, const is often used to declare a constant. However, in Java, {{java:final}} is used instead. {{BookCat|filing=deep}} o5w9f04l1u464l230v1pa73i7bh8r9f Java Programming/Keywords/short 0 84809 4635244 3241575 2026-05-11T13:22:37Z ~2026-28460-82 3583596 1 4635244 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635256 4635244 2026-05-11T14:55:14Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by Strange quark 3241575 wikitext text/x-wiki {{java:short}} is a keyword. It defines a 16 bit signed integer [[Java Programming/Primitive Types|primitive type.]] Syntax: {{java:short}} <variable-name> = <integer-value>; For example: {{java|code=short age = 65;}} See also: * [[Java Programming/Primitive Types]] {{BookCat|filing=deep}} h7e3g43idg9pujv0sm6kn0678akwlco MATLAB Programming/Inserting Newlines into Plot Labels 0 88760 4635237 3333691 2026-05-11T13:11:11Z ~2026-28409-68 3583631 changed [] for {} in example 4635237 wikitext text/x-wiki [[/cell|Cell arrays]] are the easiest way to generate new lines when using the functions [[/xlabel | xlabel]], [[/ylabel | ylabel]], [[/zlabel | zlabel]], [[/text | text]], [[/title | title]], and [[/gtext | gtext]]. However, cell arrays do not always work (see next section). When displaying text on plots, "\n" is typically interpreted as '\' followed by 'n' instead of the [[w:Newline | newline]] character. To generate multiple lines, use cell arrays. This is done by separating each [[/string | string]] line of text with a comma and enclosing all comma-separated strings in curly braces as follows. >> title({'First line','Second line'}) Sometimes it is nice to put the value of a variable and a newline into the plot title. You can do this like so: n = 4; x = -n:1:n; y = x.^2; plot(x,y) title( { 'plot of x squared', 10, 'from x = ', num2str(-n), ' to x = ', num2str(n) } ) The 10 outside the single quotes is the ascii value for a newline. You don't have to use the char() function, just the number will work. The output should look like this: plot of x squared from x = -4 to x = 4 {{BookCat}} im2yx6vmw55xjex4lpeacyqeytf3qcm Computer Programming/Hello world 0 97058 4635351 4614485 2026-05-12T01:13:22Z Cedar101 113694 /* DCL batch */ syntaxhighlight 4635351 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="mirc">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="mirc">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="mirc">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="mirc">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="ring"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="winbatch"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} 2gnuufl0rzw1k8hqvjjil6zr0rvnq8p 4635352 4635351 2026-05-12T01:17:42Z Cedar101 113694 /* mIRC Script */ fix syntaxhighlight errors 4635352 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="ring"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="winbatch"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} juwlnzx1udoo38kvx7wjtoqyyozvv35 4635353 4635352 2026-05-12T01:19:38Z Cedar101 113694 /* Objective C */ - 4635353 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="ring"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="winbatch"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} p0ioek91vb42w5qtt7r7ch6mng0y58g 4635354 4635353 2026-05-12T01:22:59Z Cedar101 113694 /* Ring */ fix syntaxhighlight error 4635354 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="winbatch"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} 0rwcvn0layqpoqk523zlva28cdxzhyn 4635355 4635354 2026-05-12T01:31:57Z Cedar101 113694 /* Zdzich */ lang="text" 4635355 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} fl9zfurnkjzpxd2bx3gzuvqnvghrciq 4635356 4635355 2026-05-12T01:34:46Z Cedar101 113694 /* DUNNBOL1 */ font-size: 90%; 4635356 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} ro8iaknubdq22fds8efzct169dl7vgr 4635357 4635356 2026-05-12T01:38:26Z Cedar101 113694 fix <syntaxhighlight> error 4635357 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="gwbasic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="lolcode"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="rockstar"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} trcmwdyaa2dz4wxi25osadfbyvfy725 4635358 4635357 2026-05-12T01:58:22Z Cedar101 113694 fix <syntaxhighlight> errors 4635358 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="text"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} 68h91kmj99l8h07it0ux7q6ft85ajxd 4635359 4635358 2026-05-12T02:02:23Z Cedar101 113694 /* Ya programming language */ lang="c++" 4635359 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="text"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <print>Hello, world!</print> === Ya programming language === <syntaxhighlight lang="c++"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} pdvbu944beipdyj9y0an9pl0ewddp32 4635360 4635359 2026-05-12T02:03:07Z Cedar101 113694 /* XS programming language */ <syntaxhighlight> 4635360 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === [[w:en:Esoteric_programming_language#Rockstar|Rockstar]] === <syntaxhighlight lang="text"> Shout "Hello, world!" </syntaxhighlight> === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <syntaxhighlight lang="xml"> <print>Hello, world!</print> </syntaxhighlight> === Ya programming language === <syntaxhighlight lang="c++"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} 1l7wdker5wfssgl9jsiaq4v1tcr9xus 4635362 4635360 2026-05-12T02:06:28Z Cedar101 113694 /* Rockstar */ adding enwiki link 4635362 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;<nowiki>}}</nowiki> \f0\fs20 Hello, world! } === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === Rockstar === [[w:en:Screaming in music|Shout]] "Hello, world!" === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <syntaxhighlight lang="xml"> <print>Hello, world!</print> </syntaxhighlight> === Ya programming language === <syntaxhighlight lang="c++"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} das9y2y0eyo4p9i20c98ot1vybxhgot 4635363 4635362 2026-05-12T02:09:47Z Cedar101 113694 /* RTF */ syntaxhighlight 4635363 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="euphoria"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === <syntaxhighlight lang="tex"> {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;}} \f0\fs20 Hello, world! } </syntaxhighlight> === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === Rockstar === [[w:en:Screaming in music|Shout]] "Hello, world!" === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <syntaxhighlight lang="xml"> <print>Hello, world!</print> </syntaxhighlight> === Ya programming language === <syntaxhighlight lang="c++"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} akhhm4sm73iqmd4ydwafqwpyp4xdeng 4635364 4635363 2026-05-12T02:13:01Z Cedar101 113694 /* GTK+ 2.x (in Euphoria) */ fix syntaxhighlight error 4635364 wikitext text/x-wiki {{split}} {{wikipedia|Hello world program}} The following is a list of '''Hello, world!''' programs. ''Hello, world!'' programs make the text "Hello, world!" appear on a computer screen. It is usually the first program encountered when learning a programming language. Otherwise, it's a basic sanity check for an installation of a new programming language. If "Hello World" does not run, one must not try to develop complex programs before fixing the issues with the installation. For even more languages have a look at the [http://helloworldcollection.de Hello World Collection]. == 4DOS batch == ''It should be noted that the 4DOS/4NT batch language is a superset of the MS-DOS batch language. '' <syntaxhighlight lang="dos"> @echo Hello, world! </syntaxhighlight> == Ingres 4GL == message "Hello, world!" with style = popup; == ABAP/4 - SAP AG == <syntaxhighlight lang="abap"> REPORT ZHELLO. START-OF-SELECTION. WRITE "Hello, world!". </syntaxhighlight> == ABAP Objects (NetWeaver 7) == ''The example below makes use of the singleton pattern and outputs the text in a message box instead of a classic list output.'' <syntaxhighlight lang="abap"> REPORT ZHELLO. CLASS lcl_hello DEFINITION CREATE PRIVATE FINAL. PUBLIC SECTION. CLASS-DATA self TYPE REF TO lcl_hello READ-ONLY. CLASS-METHODS class_constructor. METHODS say_hello. PRIVATE SECTION. CONSTANTS con_hello_world TYPE c LENGTH 13 VALUE 'Hello, World!'. ENDCLASS. CLASS lcl_hello IMPLEMENTATION. METHOD class_constructor. CREATE OBJECT lcl_hello=>self. ENDMETHOD. METHOD say_hello. MESSAGE con_hello_world TYPE 'I'. ENDMETHOD. ENDCLASS. START-OF-SELECTION. lcl_hello=>self->say_hello( ). </syntaxhighlight> == ABC == WRITE "Hello, world!" == ActionScript == === ActionScript 1.0 and 2.0 === This will output to the ''output'' window only, which an end user would not see. <syntaxhighlight lang="actionscript">trace("Hello, world!");</syntaxhighlight> This version will be visible to the end user. <syntaxhighlight lang="actionscript">var helloWorld:TextField = this.createTextField( "helloWorld", this.getNextHighestDepth(), 1, 1, 100, 20 ); helloWorld.text = "Hello, world!";</syntaxhighlight> === ActionScript 3 === <syntaxhighlight lang="actionscript3"> package { public class HelloWorld { public function HelloWorld() { trace("Hello, world!"); } } } </syntaxhighlight> == Ada == <syntaxhighlight lang="ada"> with Ada.Text_IO; procedure Hello is begin Ada.Text_IO.Put_Line ("Hello, world!"); end Hello; </syntaxhighlight> == ALGOL 68 == The ALGOL 68 standard requires that ''reserved-words'', ''types'' and ''operators'' are in a different typeface. Hence programs are typically published in either '''bold''' or an <u>underline</u> typeface, e.g.: '''begin''' printf($"Hello, world!"l$) '''end''' In the popular upper-case stropping convention for bold words: <syntaxhighlight lang="text"> BEGIN printf($"Hello, world!"l$) END </syntaxhighlight> or using a ''wikitext like'' quote stropping, this is especially suitable on computers with only 6 bits per character (hence only have UPPERCASE): <syntaxhighlight lang="text"> 'BEGIN' PRINTF($"HELLO, WORLD!"L$) 'END' </syntaxhighlight> or minimally using the "brief symbol" form of '''begin''' and '''end'''. <syntaxhighlight lang="text">( printf($"Hello, world!"l$) )</syntaxhighlight> == AmigaE == PROC main() WriteF('Hello, world!'); ENDPROC == AMX NetLinx == This program sends the message out via the Diagnostics Interface after start-up. program_name = 'Hello' define_start send_string 0,'Hello World!' == ANT == <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE project> <project default="helloworld"> <target name="helloworld"> <echo message="Hello, World!" /> </target> </project> </syntaxhighlight> == APL == <syntaxhighlight lang="apl"> ∇R←HWΔPGM [1] R←'HELLO WORLD!' ∇ </syntaxhighlight> *The Del on the first line begins function definition for the program named HWΔPGM. It is a niladic function (no parameters, as opposed to monadic or dyadic) and it will return an explicit result which allows other functions or APL primitives to use the returned value as input. *The line labeled 1 assigns the text vector 'Hello, world!!' to the variable R *The last line is another Del which ends the function definition. When the function is executed by typing its name the APL interpreter assigns the text vector to the variable R, but since we have not used this value in another function, primitive, or assignment statement the interpreter returns it to the terminal, thus displaying the words on the next line below the function invocation. The session would look like this HWΔPGM Hello, world!! While not a program, if you simply supplied the text vector to the interpreter but did not assign it to a variable it would return it to the terminal as output. Note that user input is automatically indented 6 spaces by the interpreter while results are displayed at the beginning of a new line. 'Hello, world!' Hello, world!! == AppleScript == <syntaxhighlight lang="applescript">return "Hello, world!"</syntaxhighlight> or: <syntaxhighlight lang="applescript">display dialog "Hello, world!"</syntaxhighlight> == ASP == <syntaxhighlight lang="aspx-vb"><% Response.Write("Hello, world!") %></syntaxhighlight> :or simply: <syntaxhighlight lang="aspx-vb"><%= "Hello, world!" %></syntaxhighlight> === ASP.NET === <syntaxhighlight lang="csharp"> // in the page behind using C# protected void Page_Load(object sender, EventArgs e) { Response.Write("Hello, world!"); } </syntaxhighlight> <syntaxhighlight lang="vbnet"> ' in the page behind using VB.NET Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Response.Write("Hello, world!") End Sub </syntaxhighlight> <syntaxhighlight lang="aspx-cs"> // ASPX Page Template <asp:Literal ID="Literal1" runat="server" Text="Hello World!"></asp:Literal> </syntaxhighlight> or <syntaxhighlight lang="aspx-cs"> <asp:Label ID="Label1" runat="server" Text="Hello World"></asp:Label> </syntaxhighlight> or Hello World! == Assembly language == === Accumulator-only architecture: DEC PDP-8, PAL-III assembler === ''See the [[w:PDP-8#String_output|example]] program in the Wikipedia [[w:PDP-8|PDP-8]] article''. === First successful uP/OS combinations: Intel 8080/Zilog Z80, CP/M, RMAC assembler === <syntaxhighlight lang="nasm"> bdos equ 0005H ; BDOS entry point start: mvi c,9 ; BDOS function: output string lxi d,msg$ ; address of msg call bdos ret ; return to CCP msg$: db 'Hello, world!$' end start </syntaxhighlight> === Popular home computer: ZX Spectrum, Zilog Z80, HiSoft GENS assembler === <syntaxhighlight lang="nasm"> 10 ORG #8000 ; Start address of the routine 20 START LD A,2 ; set the output channel 30 CALL #1601 ; to channel 2 (main part of TV display) 40 LD HL,MSG ; Set HL register pair to address of the message 50 LOOP LD A,(HL) ; De-reference HL and store in A 60 AND A ; Null terminator? 70 RET Z ; If so, return 80 RST #10 ; Print the character in A 90 INC HL ; HL points at the next char to be printed 100 JR LOOP 110 RET 120 MSG DEFM "Hello, world!" 130 DEFB 13 ; carriage return 140 DEFB 0 ; null terminator </syntaxhighlight> === Accumulator + index register machine: MOS Technology 6502, CBM KERNEL, MOS assembler syntax === <syntaxhighlight lang="ca65"> A_CR = $0D ;carriage return BSOUT = $FFD2 ;kernel ROM sub, write to current output device ; LDX #$00 ;starting index in .X register ; LOOP LDA MSG,X ;read message text BEQ LOOPEND ;end of text ; JSR BSOUT ;output char INX BNE LOOP ;repeat ; LOOPEND RTS ;return from subroutine ; MSG .BYT 'Hello, world!',A_CR,$00 </syntaxhighlight> === Accumulator/Index microcoded machine: Data General Nova, RDOS === ''See the [[w:Data General Nova#Hello world program|example]] section of the Nova article.'' === Expanded accumulator machine: Intel x86, DOS, TASM === <syntaxhighlight lang="nasm"> MODEL SMALL IDEAL STACK 100H DATASEG MSG DB 'Hello, world!', 13, '$' CODESEG Start: MOV AX, @data MOV DS, AX MOV DX, OFFSET MSG MOV AH, 09H ; DOS: output ASCII$ INT 21H MOV AX, 4C00H INT 21H END Start </syntaxhighlight> === ASSEMBLER x86 (DOS, MASM) === <syntaxhighlight lang="nasm"> .MODEL Small .STACK 100h .DATA db msg 'Hello, world!$' .CODE start: mov ah, 09h lea dx, msg ; or mov dx, offset msg int 21h mov ax,4C00h int 21h end start </syntaxhighlight> === ASSEMBLER x86 (DOS, FASM) === <syntaxhighlight lang="nasm"> ; FASM example of writing 16-bit DOS .COM program ; Compile: "FASM HELLO.ASM HELLO.COM" org $100 use16 mov ah,9 mov dx,xhello int $21 ; DOS call: text output mov ah,$4C int $21 ; Return to DOS xhello db 'Hello world !!!$' </syntaxhighlight> === Expanded accumulator machine: Intel x86, Microsoft Windows, FASM === Example of making 32-bit PE program as raw code and data: <syntaxhighlight lang="nasm"> format PE GUI entry start section '.code' code readable executable start: push 0 push _caption push _message push 0 call [MessageBox] push 0 call [ExitProcess] section '.data' data readable writeable _caption db 'Win32 assembly program',0 _message db 'Hello, world!',0 section '.idata' import data readable writeable dd 0,0,0,RVA kernel_name,RVA kernel_table dd 0,0,0,RVA user_name,RVA user_table dd 0,0,0,0,0 kernel_table: ExitProcess dd RVA _ExitProcess dd 0 user_table: MessageBox dd RVA _MessageBoxA dd 0 kernel_name db 'KERNEL32.DLL',0 user_name db 'USER32.DLL',0 _ExitProcess dw 0 db 'ExitProcess',0 _MessageBoxA dw 0 db 'MessageBoxA',0 section '.reloc' fixups data readable discardable </syntaxhighlight> Using FASM import macro, unicode (MessageBoxW is one of few unicode functions 'supported' by Windows 9x/ME) and section sharing, no relocation (not required for 32-bit Windows NT executables, recommended for DOS-based Windows, '''required''' for x64), no heap - Not a beginners example but only 1024 instead of 3072 bytes: <syntaxhighlight lang="nasm"> format PE GUI 4.0 heap 0 entry start include 'win32a.inc' section '.text' code import readable executable data library kernel, 'KERNEL32.DLL',\ user,'USER32.DLL' import kernel,\ ExitProcess, 'ExitProcess' import user,\ MessageBoxW, 'MessageBoxW' start: xor ebx, ebx push ebx push ebx push _message push ebx call [MessageBoxW] push ebx call [ExitProcess] _message du 'Hello, world!' ,0 section '.reloc' fixups data readable discardable</syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, FASM === <syntaxhighlight lang="nasm"> format ELF executable entry _start _start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, msg_len int 80h mov ebx, 0 mov eax, 1 int 80h msg db 'Hello, world!', 0xA msg_len = $-msg </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GAS === <syntaxhighlight lang="asm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .global _start _start: movl $len,%edx movl $msg,%ecx movl $1,%ebx movl $4,%eax int $0x80 movl $0,%ebx movl $1,%eax int $0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, NASM === <syntaxhighlight lang="nasm"> section .data msg db 'Hello, world!',0xA len equ $-msg section .text global _start _start: mov edx,len mov ecx,msg mov ebx,1 mov eax,4 int 0x80 mov ebx,0 mov eax,1 int 0x80 </syntaxhighlight> === Expanded accumulator machine: Intel x86, Linux, GLibC, NASM === <syntaxhighlight lang="nasm"> extern printf ; Request symbol "printf". global main ; Declare symbol "main". section .data str: DB "Hello World!", 0x0A, 0x00 section .text main: PUSH str ; Push string pointer onto stack. CALL printf ; Call printf. POP eax ; Remove value from stack. MOV eax,0x0 ; \_Return value 0. RET ; / </syntaxhighlight> === General-purpose fictional computer: MIX, MIXAL === TERM EQU 19 console device no. (19 = typewriter) ORIG 1000 start address START OUT MSG(TERM) output data at address MSG HLT halt execution MSG ALF "HELLO" ALF " WORL" ALF "D " END START end of program === General-purpose fictional computer: MMIX, MMIXAL === string BYTE "Hello, world!",#a,0 string to be printed (#a is newline and 0 terminates the string) Main GETA $255,string get the address of the string in register 255 TRAP 0,Fputs,StdOut put the string pointed to by register 255 to file StdOut TRAP 0,Halt,0 end process === General-purpose-register CISC: DEC PDP-11 === ==== RT-11, MACRO-11==== <syntaxhighlight lang="asm"> .MCALL .REGDEF,.TTYOUT,.EXIT .REGDEF HELLO: MOV #MSG,R1 MOVB (R1)+,R0 BEQ EXIT LOOP: .TTYOUT BR LOOP EXIT: .EXIT MSG: .ASCIZ /Hello, world!/ .END HELLO </syntaxhighlight> ==== Variant for Elektronika BK using BIOS function, MICRO-11 ==== <syntaxhighlight lang="nasm"> MOV #TXT,R1 ;Moving string address to R1 CLR R2 ;String length=0, means null will be the termination character EMT 20 ;Print the string HALT TXT: .ASCIZ /Hello, world!/ .END </syntaxhighlight> === CISC Amiga (Workbench 2.0): Motorola 68000 === <syntaxhighlight lang="nasm"> include lvo/exec_lib.i include lvo/dos_lib.i ; open DOS library movea.l 4.w,a6 lea dosname(pc),a1 moveq #36,d0 jsr _LVOOpenLibrary(a6) movea.l d0,a6 ; actual print string lea hellostr(pc),a0 move.l a0,d1 jsr _LVOPutStr(a6) ; close DOS library movea.l a6,a1 movea.l 4.w,a6 jmp _LVOCloseLibrary(a6) dosname dc.b 'dos.library',0 hellostr dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Atari: Motorola 68000 === <syntaxhighlight lang="nasm"> ;print move.l #Hello,-(A7) move.w #9,-(A7) trap #1 addq.l #6,A7 ;wait for key move.w #1,-(A7) trap #1 addq.l #2,A7 ;exit clr.w -(A7) trap #1 Hello dc.b 'Hello, world!',0 </syntaxhighlight> === CISC Sharp X68000 (Human68K): Motorola 68000 === <syntaxhighlight lang="nasm"> pea (strign) ; push string address onto stack dc.w $FF09 ; call DOS "print" by triggering an exception addq.l #4,a7 ; restore the stack pointer dc.w $FF00 ; call DOS "exit" strign: dc.b "Hello, world!",13,10,0 </syntaxhighlight> === CISC on advanced multiprocessing OS: DEC VAX, VMS, MACRO-32 === <syntaxhighlight lang="nasm"> .title hello .psect data, wrt, noexe chan: .blkw 1 iosb: .blkq 1 term: .ascid "SYS$OUTPUT" msg: .ascii "Hello, world!" len = . - msg .psect code, nowrt, exe .entry hello, ^m<> ; Establish a channel for terminal I/O $assign_s devnam=term, - chan=chan blbc r0, end ; Queue the I/O request $qiow_s chan=chan, - func=#io$_writevblk, - iosb=iosb, - p1=msg, - p2=#len ; Check the status and the IOSB status blbc r0, end movzwl iosb, r0 ; Return to operating system end: ret .end hello </syntaxhighlight> === Mainframe: IBM z/Architecture series using BAL === HELLO CSECT The name of this program is 'HELLO' USING *,12 Tell assembler what register we are using SAVE (14,12) Save registers LR 12,15 Use Register 12 for this program WTO 'Hello, world!' Write To Operator RETURN (14,12) Return to calling party END HELLO This is the end of the program === RISC processor: ARM, RISC OS, BBC BASIC's in-line assembler === <syntaxhighlight lang="asm"> .program ADR R0, message SWI "OS_Write0" SWI "OS_Exit" .message EQUS "Hello, world!" EQUB 0 ALIGN </syntaxhighlight> or the even smaller version (from qUE); SWI "OS_WriteS":EQUS "Hello, world!":EQUB0:ALIGN:MOV PC,R14 === RISC processor: MIPS architecture === <syntaxhighlight lang="mips"> .data msg: .asciiz "Hello, world!" .align 2 .text .globl main main: la $a0,msg li $v0,4 syscall jr $ra </syntaxhighlight> === RISC processor: PowerPC, Mac OS X, GAS === <syntaxhighlight lang="nasm"> .data msg: .ascii "Hello, world!\n" len = . - msg .text .globl _main _main: li r0, 4 ; write li r3, 1 ; stdout addis r4, 0, ha16(msg) ; high 16 bits of address addi r4, r4, lo16(msg) ; low 16 bits of address li r5, len ; length sc li r0, 1 ; exit li r3, 0 ; exit status sc </syntaxhighlight> === Sigma 6/7/8/9 METASYMBOL === <syntaxhighlight lang="asm"> SYSTEM BPM START M:PRINT (MESS,HW) M:EXIT HW TEXTC 'HELLO WORLD' END START </syntaxhighlight> == AutoHotkey == <syntaxhighlight lang="autohotkey">MsgBox, Hello, world!</syntaxhighlight> (The comma after the command name is optional.) == AutoIt == <syntaxhighlight lang="autoit">MsgBox(0,'','Hello, world!')</syntaxhighlight> == Avenue (scripting language for ArcView GIS) == MsgBox("Hello, world!","aTitle") == AWK == <syntaxhighlight lang="awk">BEGIN { print "Hello, world!" }</syntaxhighlight> == B == This is the first known Hello, world! program ever written:[https://web.archive.org/web/20080420171147/http://cm.bell-labs.com/cm/cs/who/dmr/bintro.html] <syntaxhighlight lang="c"> main( ) { extrn a, b, c; putchar(a); putchar(b); putchar(c); putchar('!*n'); } a 'hell'; b 'o, w'; c 'orld'; </syntaxhighlight> == Baan Tools == Also known as Triton Tools on older versions. On Baan ERP you can create a program on 3GL or 4GL mode. ===3GL Format=== function main() { message("Hello, world!") } === 4GL Format === choice.cont.process: on.choice: message("Hello, world!") On this last case you should press the ''Continue'' button to show the message. == Bash or sh == <syntaxhighlight lang="bash">echo 'Hello, world!'</syntaxhighlight> or <syntaxhighlight lang="bash">printf 'Hello, world!\n'</syntaxhighlight> or using the C preprocessor <syntaxhighlight lang="bash"> #!/bin/bash #define cpp # cpp $0 2> /dev/null | /bin/bash; exit $? #undef cpp #define HELLO_WORLD echo "hello, world" HELLO_WORLD | tr a-z A-Z </syntaxhighlight> ==BASIC== <!-- Note to editors: please do NOT add sections for BASIC dialects which are able to process the ANSI/ISO examples listed in the "General" section. Doing so is redundant and may confuse readers. --> === General === The following example works for any ANSI/ISO-compliant BASIC implementation, as well as most implementations built into or distributed with microcomputers in the 1970s and 1980s (usually some variant of Microsoft BASIC): <syntaxhighlight lang="basic"> 10 PRINT "Hello, world!" 20 END </syntaxhighlight> Note that the "END" statement is optional in many implementations of BASIC. Some implementations could also execute instructions in an immediate mode when line numbers are omitted. The following examples work without requiring a RUN instruction. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" </syntaxhighlight> <syntaxhighlight lang="qbasic"> ? "Hello, world!" </syntaxhighlight> Later implementations of BASIC allowed greater support for structured programming and did not require line numbers for source code. The following example works when RUN for the vast majority of modern BASICs. <syntaxhighlight lang="qbasic"> PRINT "Hello, world!" END </syntaxhighlight> Again, the "END" statement is optional in many BASICs. === BlitzBasic === <syntaxhighlight lang="blitzbasic"> Print "Hello, world!" WaitKey </syntaxhighlight> === DarkBASIC === <syntaxhighlight lang="qbasic">PRINT "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="qbasic"> TEXT 0,0,"Hello, world!" WAIT KEY </syntaxhighlight> Note: In the "classic" Dark Basic the WAIT KEY command is optional as the console goes up when the program has finished. === FreeBasic === <syntaxhighlight lang="basic"> PRINT "Hello World" SLEEP END </syntaxhighlight> or <syntaxhighlight lang="basic"> PRINT "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> ? "Hello World" </syntaxhighlight> or <syntaxhighlight lang="basic"> 'without a newline ? "Hello World"; </syntaxhighlight> === CoolBasic === <syntaxhighlight lang="blitzbasic"> AddText "Hello, world!" DrawScreen WaitKey </syntaxhighlight> === GW-BASIC === <syntaxhighlight lang="basic"> 10 PRINT "Hello, World!" 20 END </syntaxhighlight> === Liberty BASIC === To write to the main window: <syntaxhighlight lang="cbmbas">print "Hello, world"</syntaxhighlight> Or drawn in a graphics window: <syntaxhighlight lang="cbmbas"> nomainwin open "Hello, world!" for graphics as #main print #main, "place 50 50" print #main, "\Hello, world!" print #main, "flush" wait </syntaxhighlight> === Microsoft Small Basic === <syntaxhighlight lang="vbnet">TextWindow.WriteLine("Hello, world!")</syntaxhighlight> === PBASIC === <syntaxhighlight lang="qbasic">DEBUG "Hello, world!", CR</syntaxhighlight> or, the typical microcontroller Hello, world! program equivalent with the only output device present being a light-emitting diode (LED) (in this case attached to the seventh output pin): <syntaxhighlight lang="qbasic"> DO HIGH 7 'Make the 7th pin go high (turn the LED on) PAUSE 500 'Sleep for half a second LOW 7 ' Make the 7th pin go low (turn the LED off) PAUSE 500 'Sleep for half a second LOOP END </syntaxhighlight> === StarOffice/OpenOffice Basic === <syntaxhighlight lang="vbscript"> sub main print "Hello, world!" end sub </syntaxhighlight> === PureBasic === <syntaxhighlight lang="basic"> OpenConsole() PrintN("Hello, world!") Input() </syntaxhighlight> or <syntaxhighlight lang="basic">MessageRequester("Hello, World","Hello, World")</syntaxhighlight> or <syntaxhighlight lang="basic">Debug "Hello, World"</syntaxhighlight> === '''QB64''' === PRINT "Hello, World" END Same for QBasic === TI-BASIC === On TI calculators of the TI-80 through TI-86 range: :Disp "Hello, world! (note the optional ending quotes) :Output(X,Y,"Hello, world! (note the optional ending parenthesis) :Text(X,Y,"Hello, world! (writes to the graph rather than home screen) :Text(-1,X,Y,"Hello, world! (only on the 83+ and higher, provides larger text, home screen size) :"Hello, world! (last line of program only) Note: "!" character is not on the keypad. It can be accessed from "Catalog" menu, "Probability" menu, or "Math" menu (as factorial notation). On TI-89/TI-89 Titanium/TI-92(+)/Voyage 200 calculators: :hellowld() :Prgm :Disp "Hello, world!" :EndPrgm === Visual Basic === <syntaxhighlight lang="vbscript"> Public Sub Main() Debug.Print "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Public Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> or <syntaxhighlight lang="vbscript"> Private Sub Form_Activate() Print "Hello, world!" End Sub </syntaxhighlight> Alternatively, copy this into a New Form: <syntaxhighlight lang="vbnet"> Private Sub Form_Click() Form1.Hide Dim HelloWorld As New Form1 HelloWorld.Width = 2500: HelloWorld.Height = 1000: HelloWorld.Caption = "Hello, world!": HelloWorld.CurrentX = 500: HelloWorld.CurrentY = 75 HelloWorld.Show: HelloWorld.Font = "Tahoma": HelloWorld.FontBold = True: HelloWorld.FontSize = 12: HelloWorld.Print "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET === <syntaxhighlight lang="vbnet"> Module HelloWorldApp Sub Main() System.Console.WriteLine("Hello, world!") End Sub End Module </syntaxhighlight> === PICK/BASIC, DATA/BASIC, MV/BASIC === In addition to the ANSI syntax at the head of this article, most Pick operating system flavors of Dartmouth BASIC support extended syntax allowing cursor placement and other terminfo type functions for VDT's X, Y positioning (colon ":" is the concatenation instruction):<syntaxhighlight lang="basic"> PRINT @(34,12) : "Hello, world!" </syntaxhighlight> Will display the string "Hello, world!" roughly centered in a 80X24 CRT. Other functions:<syntaxhighlight lang="basic"> PRINT @(-1) : @(34,12) : "Hello, world!"</syntaxhighlight> Will clear the screen before displaying the string "Hello, world!" roughly centered in a 80X24 CRT. Syntax variants: CRT "Hello, world!" Supporting the "@" functions above, the CRT statement ignores previous PRINTER statements and always sends output to the screen. Some Pick operating system environments such as OpenQM support the DISPLAY variant of PRINT. This variant in addition to the "@" functions maintains pagination based upon the settings of the TERM variable: DISPLAY "Hello, world!" == Batch (MS-DOS) == <syntaxhighlight lang="dosbatch"> @echo Hello World! </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off set hellostring=Hello World! echo %hellostring% </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo off echo Hello World! pause exit </syntaxhighlight> or <syntaxhighlight lang="dosbatch"> @echo Hello World! pause exit </syntaxhighlight> === As a CGI file === <syntaxhighlight lang="dosbatch"> @echo off echo Content-type: text/plain >> sample.cgi echo. >> sample.cgi echo. >> sample.cgi echo Hello, world! >> sample.cgi </syntaxhighlight> == bc == "Hello, world!" or, with the newline <syntaxhighlight lang="bc"> print "Hello, world!\n" </syntaxhighlight> == BCPL == GET "LIBHDR" LET START () BE $( WRITES ("Hello, world!*N") $) == BITGGAL AgileDog == T 1 "Hello, World" 0 == BITGGAL Jihwaja == J( 1 TM 5 ZV 3 "Hello, world" ) == BLISS == %TITLE 'HELLO_WORLD' MODULE HELLO_WORLD (IDENT='V1.0', MAIN=HELLO_WORLD, ADDRESSING_MODE (EXTERNAL=GENERAL)) = BEGIN LIBRARY 'SYS$LIBRARY:STARLET'; EXTERNAL ROUTINE LIB$PUT_OUTPUT; GLOBAL ROUTINE HELLO_WORLD = BEGIN LIB$PUT_OUTPUT(%ASCID %STRING('Hello, world!')) END; END ELUDOM == BlitzMax == <syntaxhighlight lang="blitzmax"> SuperStrict Graphics 640, 480, 0, 60 Local running:Int = 1 While running Cls DrawText "Hello World!", 1, 1 Flip If GetChar() running = 0 EndIf Wend End </syntaxhighlight> == boo == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="boo">print "Hello, world!"</syntaxhighlight> == Burning Sand 2 == WRITE ELEMENT:Earth 210 230 40 CENTER TEXT "Hello World!" == C == <syntaxhighlight lang="c"> #include <stdio.h> int main() { printf("Hello, world!\n"); return 0; } </syntaxhighlight> === ANSI C === <syntaxhighlight lang="c"> #include <stdio.h> int main(void) { printf("Hello, World!\n"); return 0; } </syntaxhighlight> == Caché Server Pages (CSP) == <syntaxhighlight lang="html"> Class Test.Hello Extends %CSP.Page [ ProcedureBlock ] { ClassMethod OnPage() As %Status { &html<<html> <head> </head> <body>> Write "Hello, world!",! &html<</body> </html>> Quit $$$OK } } </syntaxhighlight> == Calprola == This program will work on the Avasmath 80 online programmable calculator. #BTN A1 #PRI "HELLO WORLD!" #END == C/AL - MBS Navision == OBJECT Codeunit 50000 HelloWorld { PROPERTIES { OnRun=BEGIN MESSAGE(Txt001); END; } CODE { VAR Txt001@1000000000 : TextConst 'ENU=Hello, world!'; BEGIN { Hello, world! in C/AL (Microsoft Business Solutions-Navision) } END. } } == Casio FX-9750 == This program will work on the fx-9750 graphing calculator and compatibles. "Hello, world!"<big>&crarr;</big> or Locate 1,1,"Hello, world!"<big>&crarr;</big> == CCL == call echo("Hello, world!") == Ch == The [[#C|above C code]] can run in Ch as examples. The simple one in Ch is: <syntaxhighlight lang="c"> printf("Hello, world!\n"); </syntaxhighlight> == Chuck == <<<"Hello World">>>; == Chrome == <span style="font-weight:bold">namespace</span> HelloWorld; <span style="font-weight:bold">interface</span> <span style="font-weight:bold">type</span> HelloClass = <span style="font-weight:bold">class</span> <span style="font-weight:bold">public</span> <span style="font-weight:bold">class method</span> Main; <span style="font-weight:bold">end;</span> <span style="font-weight:bold">implementation</span> <span style="font-weight:bold">class method</span> HelloClass.Main; <span style="font-weight:bold">begin</span> System.Console.WriteLine(<span style="color:#FF0000">'Hello, world!'</span>); <span style="font-weight:bold">end;</span> <span style="font-weight:bold">end.</span> == CIL == <syntaxhighlight lang="csharp"> .assembly Hello {} .assembly extern mscorlib {} .method static void Main() { .entrypoint .maxstack 1 ldstr "Hello, world!" call void [mscorlib]System.Console::WriteLine(string) ret } </syntaxhighlight> == CintieFramework (VisualBasic.NET) == <syntaxhighlight lang="xml"> <Script> <References> <Reference>System.dll</Reference> </References> <Code Language="VisualBasic"> <![CDATA[ Public Class Plugin Public Function MainF(ByVal Ob As Object) As String 'Script Code Return "Hello, World!" End Function End Class ]]> </Code> </Script> </syntaxhighlight> == Clean == <syntaxhighlight lang="clean"> module hello Start = "Hello, world!" </syntaxhighlight> == Clipper == <syntaxhighlight lang="clipper"> ? "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> @1,1 say "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="clipper"> Qout("Hello, world") </syntaxhighlight> == CLIST == PROC 0 WRITE Hello, world! == Clojure == <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> == CLU == start_up = proc () po: stream := stream$primary_output () stream$putl (po, "Hello, world!") end start_up == COBOL == <syntaxhighlight lang="cobol"> IDENTIFICATION DIVISION. PROGRAM-ID. HELLO-WORLD. PROCEDURE DIVISION. DISPLAY "Hello, world!". STOP RUN. </syntaxhighlight> The above is a very abbreviated and condensed version, which omits the author name and source and destination computer types. == CoffeeScript == CoffeeScript is a language that compiles into JavaScript. Like JavaScript, it does not have native (built in) input or output routines, instead relying on the facilities provided by its host environment. Using an alert that uses a standard Web browser's window object (window.alert) <syntaxhighlight lang="CoffeeScript"> alert 'Hello, world!' </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console, or [[wikipedia:Node.js|Node.js]] console <syntaxhighlight lang="CoffeeScript"> console.log 'Hello, world!' </syntaxhighlight> == ColdFusion (CFML) == <syntaxhighlight lang="cfm"><cfoutput>Hello, world!</cfoutput></syntaxhighlight> or <syntaxhighlight lang="cfm">Hello, world!</syntaxhighlight> == COMAL == <syntaxhighlight lang="comal"> PRINT "Hello, world!" </syntaxhighlight> == Concurrent Euclid == <syntaxhighlight lang="text"> var hello: module include '%IO1' initially imports(var IO) begin IO.PutString('Hello, world!') end end module </syntaxhighlight> == Common Lisp == <syntaxhighlight lang="lisp">(princ "Hello, world!")</syntaxhighlight> == Cube == Function | Main WriteLine | "Hello, world" End | Main The '|' represents the separation of the two text fields in the Cube standard IDE. == C++ == <syntaxhighlight lang="cpp"> #include <iostream> int main() { std::cout << "Hello, World!" << std::endl; return 0; } </syntaxhighlight> === C++23 === <syntaxhighlight lang="cpp"> import std; void main() { std::println("Hello"); return 0; } </syntaxhighlight> === C++/CLI === <syntaxhighlight lang="cpp"> int main() { System::Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> === C++, Managed (.NET) === <syntaxhighlight lang="cpp"> #using <mscorlib.dll> using namespace System; int wmain() { Console::WriteLine("Hello, world!"); return 0; } </syntaxhighlight> == C# == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' In C# 10.0, the following would suffice: <syntaxhighlight lang="csharp"> Console.WriteLine("Hello, world!"); </syntaxhighlight> In C# 2.0, the code is much larger: <syntaxhighlight lang="csharp"> using System; internal static class HelloWorld { private static void Main() { Console.WriteLine("Hello, world!"); } } </syntaxhighlight> == D == <syntaxhighlight lang="d"> import std.stdio ; void main () { writefln("Hello, world!"); } </syntaxhighlight> Tango version: <syntaxhighlight lang="d"> import tango.io.Stdout; void main() { Stdout ("Hello, world!").newline; } </syntaxhighlight> == Dart == <syntaxhighlight lang="dart"> main() { print('Hello, world!'); } </syntaxhighlight> Or, <syntaxhighlight lang="dart"> void main() { print('Hello, world!'); } </syntaxhighlight> == DC, an arbitrary precision calculator == [Hello, world!]p or 1468369091346906859060166438166794P In the second example, DC stores the decimal number as a sequence of bits, and then the "P" tells DC to interpret those bits as a string and print it. == DCL batch == <syntaxhighlight lang="console"> $ write sys$output "Hello, world!" </syntaxhighlight> == Delphi == <syntaxhighlight lang="Delphi">{$APPTYPE CONSOLE} begin Write('Hello, world!'); end.</syntaxhighlight> == DIV == <syntaxhighlight lang="pascal"> PROGRAM hello; BEGIN write(0, 0, 0, 0, "Hello, world!"); LOOP FRAME; END END </syntaxhighlight> == DOLL == this::operator() { import system.cstdio; puts("Hello, world!"); } == Dream Maker == mob Login() ..() world << "Hello, world!" == Dylan == <syntaxhighlight lang="dylan"> module: hello format-out("Hello, world!\n"); </syntaxhighlight> == EAScripting == set disp to "Hello, world!" set dispto to item unit 5 //5 = default screen release disp into dispto. This would be a pure system call import system ea.helloworld wait == Ed and Ex (Ed extended) == a Hello, world!! . p == Ecstasy (xtclang) == <syntaxhighlight lang="java"> module HelloWorld { void run() { @Inject Console console; console.print("Hello World!"); } } </syntaxhighlight> == Eiffel == <syntaxhighlight lang="eiffel"> class HELLO_WORLD create make feature make is do io.put_string("Hello, world!%N") end -- make end -- class HELLO_WORLD </syntaxhighlight> == Elixir == <syntaxhighlight lang="elixir"> IO.puts "Hello, world!" </syntaxhighlight> == Elm == <syntaxhighlight lang="elm"> import Html exposing (text) main = text "Hello, World!" </syntaxhighlight> == Erlang == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="erlang"> -module(hello). -export([hello/0]). hello() -> io:format("Hello, world!~n"). </syntaxhighlight> == Euphoria == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == Factor == <syntaxhighlight lang="factor"> "Hello, world!" print </syntaxhighlight> or gui version <syntaxhighlight lang="factor"> "Hello, world!" <label> "Hi" open-window </syntaxhighlight> == Falcon == printl( "Hello world" ) == Ferite == uses "console"; Console.println("Hello, world!"); == filePro == @once: mesgbox "Hello, world!" ; exit == Fjölnir == "halló" < main { main -> stef(;) stofn skrifastreng(;"Halló, veröld!"), stofnlok } * "GRUNNUR" ; == FOCAL == type "Hello, world!",! or t "Hello, world!",! == Focus == -TYPE Hello, world! == Forte TOOL == begin TOOL HelloWorld; includes Framework; HAS PROPERTY IsLibrary = FALSE; forward Hello; -- START CLASS DEFINITIONS class Hello inherits from Framework.Object has public method Init; has property shared=(allow=off, override=on); transactional=(allow=off, override=on); monitored=(allow=off, override=on); distributed=(allow=off, override=on); end class; -- END CLASS DEFINITIONS -- START METHOD DEFINITIONS ------------------------------------------------------------ method Hello.Init begin super.Init(); task.Part.LogMgr.PutLine('Hello, world!'); end method; -- END METHOD DEFINITIONS HAS PROPERTY CompatibilityLevel = 0; ProjectType = APPLICATION; Restricted = FALSE; MultiThreaded = TRUE; Internal = FALSE; LibraryName = 'hellowor'; StartingMethod = (class = Hello, method = Init); end HelloWorld; == Forth == <syntaxhighlight lang="factor"> : HELLO ( -- ) ." Hello, world!" CR ; HELLO </syntaxhighlight> or instead of compiling a new routine, one can type directly in the Forth interpreter console CR ." Hello, world!" CR == Fortran == === Fortran 77 === <syntaxhighlight lang="fortran"> 00 program hello write(*,*) 'Hello World!' stop end </syntaxhighlight> === Fortran 90/95 === <syntaxhighlight lang="fortran"> program hello write(*,*) 'Hello, World!' end program hello </syntaxhighlight> == F# == <syntaxhighlight lang="fsharp">printfn "Hello, world!"</syntaxhighlight> == Fril == ?((pp "Hello, world!")) or pp "Hello, world!" == Frink == println["Hello, world!"] == Gambas == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' PUBLIC SUB Main() Print "Hello, world!" END == GEMBase 4GL == procedure_form hello begin_block world print "Hello, world!" end_block end_form == GeneXus == Msg("Hello World") == GML (Game Maker Language) == In the draw event of some object: <syntaxhighlight lang="text"> draw_text(x,y,"Hello, world!") </syntaxhighlight> Or to show a splash screen message: <syntaxhighlight lang="text"> show_message("Hello, world!") </syntaxhighlight> == Go (from Google) == <syntaxhighlight lang="go"> package main import "fmt" func main() { fmt.Println("Hello, world!") } </syntaxhighlight> ==GraalScript== === GraalScript 1 === if (created) { echo Hello, world!; } === GraalScript 2 === function onCreated() { echo("Hello, world!"); } == Groovy == <syntaxhighlight lang="groovy">println "Hello, world!"</syntaxhighlight> == Harbour == ? "Hello, world!" or @1,1 say "Hello, world!" or Qout("Hello, world") ==Haskell== <syntaxhighlight lang="haskell">main = putStrLn "Hello, world!"</syntaxhighlight> == Haxe == <syntaxhighlight lang="actionscript"> class HelloWorldApp { static function main() { trace("Hello, world!"); } } </syntaxhighlight> == Heron == program HelloWorld; functions { _main() { print_string("Hello, world!"); } } end == HP 33s == (Handheld Hewlett-Packard RPN-based scientific calculator.) LBL H SF 10 EQN RCL H RCL E RCL L RCL L RCL O R/S RCL W RCL O RCL R RCL L RDL D ENTER R/S == HP-41 & HP-42S == [[File: 20240330-hewlettPackard41CX-helloWorld.ogg|thumb|An HP‑41CX pocket calculator prints Hello World.]] (Handheld Hewlett-Packard RPN-based alphanumeric engineering calculators.) 01 LBL<sup>T</sup>HELLO 02 <sup>T</sup>Hello, world! 03 PROMPT == HyperTalk (Apple HyperCard's scripting programming language) == <syntaxhighlight lang="applescript"> put "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="applescript"> Answer "Hello, world!" </syntaxhighlight> == Icon == <syntaxhighlight lang="unicon"> procedure main() write("Hello, world!") end </syntaxhighlight> == IDL == <syntaxhighlight lang="idl"> print,"Hello, world!" </syntaxhighlight> == Io == <syntaxhighlight lang="io"> "Hello, world!" println </syntaxhighlight> or <syntaxhighlight lang="io"> writeln("Hello, world!") </syntaxhighlight> ==Inform== === Inform 5/6 === <syntaxhighlight lang="inform6"> [ Main; "Hello, world!"; ]; </syntaxhighlight> === Inform 7 === <syntaxhighlight lang="inform7"> Hello World is a room. The printed name is "Hello, world!" </syntaxhighlight> == Iptscrae == ON ENTER { "Hello, " "world!" & SAY } ==J== <syntaxhighlight lang="j">'Hello, world!' NB. echoes the string in interactive mode, doesn't work in script</syntaxhighlight> <syntaxhighlight lang="j">'Hello World!' 1!:2(2) NB. prints it to (2) - screen, (4) - stdout</syntaxhighlight> == Jal == include 16f877_20 include hd447804 hd44780_clear hd44780 = "H" hd44780 = "e" hd44780 = "l" hd44780 = "l" hd44780 = "o" hd44780 = " " hd44780 = "W" hd44780 = "o" hd44780 = "r" hd44780 = "l" hd44780 = "d" hd44780 = "!" == Java == ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' <syntaxhighlight lang="java"> class HelloWorld { public static void main(String[] args) { System.out.println("Hello, world!"); } } </syntaxhighlight> === Java byte-code === (disassembler output of <code>javap -c HelloWorld</code>) <syntaxhighlight lang="java"> public class HelloWorld extends java.lang.Object{ public HelloWorld(); Code: 0: aload_0 1: invokespecial #1; //Method java/lang/Object."<init>":()V 4: return public static void main(java.lang.String[]); Code: 0: getstatic #2; //Field java/lang/System.out:Ljava/io/PrintStream; 3: ldc #3; //String Hello, world! 5: invokevirtual #4; //Method java/io/PrintStream.println:(Ljava/lang/String;)V 8: return } </syntaxhighlight> === Java byte-code Jasmin Syntax === <syntaxhighlight lang="jasmin"> .class HelloWorld .super java/lang/Object .method public static main([Ljava/lang/String;)V .limit stack 2 getstatic java/lang/System/out Ljava/io/PrintStream; ldc "Hello, world!" invokevirtual java/io/PrintStream/println(Ljava/lang/String;)V return .end method </syntaxhighlight> == JavaFX Script == JavaFX Script was a scripting language formerly called F3 for Form Follows Function. It was discontinued by Oracle in 2010. <syntaxhighlight lang="java"> Frame { title: "Hello World JavaFX" width: 200 content: Label { text: "Hello World" } visible: true } </syntaxhighlight> This program can also be written in this way: <syntaxhighlight lang="java"> var win = new Frame(); win.title = "Hello World JavaFX"; win.width = 200; var label = new Label(); label.text = "Hello World"; win.content = label; win.visible = true; </syntaxhighlight> A simple console output version would be: <syntaxhighlight lang="java"> import java.lang.System; System.out.println("Hello World"); </syntaxhighlight> Or even simpler (with a built-in function): <syntaxhighlight lang="java">println("Hello World");</syntaxhighlight> == JavaScript == JavaScript does not have native (built in) input or output routines. Instead it relies on the facilities provided by its host environment. Using a standard Web browser's document object <syntaxhighlight lang="JavaScript"> document.write('Hello, World!'); </syntaxhighlight> or with an alert, using a standard Web browser's window object (window.alert) <syntaxhighlight lang="JavaScript"> alert('Hello, world!'); </syntaxhighlight> or, from the Mozilla command line implementation <syntaxhighlight lang="JavaScript"> print('Hello, world!'); </syntaxhighlight> or, from the [http://en.wikipedia.org/wiki/Windows_Scripting_Host Windows Script Host] <syntaxhighlight lang="JavaScript"> WScript.Echo('Hello, world!'); </syntaxhighlight> or, from [[wikipedia:Firebug_(web_development)|Firebug]], [[wikipedia:Apple Safari|Apple Safari]], or [[wikipedia:Google Chrome|Google Chrome]] debug console <syntaxhighlight lang="Javascript"> console.log('Hello, world!'); </syntaxhighlight> == JCL (mainframe Job Control Language) == <syntaxhighlight lang="jcl"> //HERIB JOB ,'HERIBERT OTTEN',PRTY=12 //* HELLO WORLD FOR MVS //HALLO EXEC PGM=IEBGENER //SYSIN DD DUMMY //SYSPRINT DD SYSOUT=* //SYSUT2 DD SYSOUT=T //SYSUT1 DD * HELLO WORLD! /* // </syntaxhighlight> == Joy == "Hello, world!\n" putchars . == JSP == <syntaxhighlight lang="jsp"> <%@ page contentType="text/html;charset=WINDOWS-1252"%> <HTML> <BODY> <% out.println(" Hello, world!"); %> </BODY> </HTML> </syntaxhighlight> or just <syntaxhighlight lang="jsp"> <% out.println("Hello, world!"); %> </syntaxhighlight> or literally Hello, world! ==Julia== <syntaxhighlight lang="julia"> println("Hello, world!") </syntaxhighlight> == K == <syntaxhighlight lang="k"> `0:"Hello, world!\n" </syntaxhighlight> == ksi == <syntaxhighlight lang="text"> `plain 'Hello World!' #echo # </syntaxhighlight> ==Kotlin== <syntaxhighlight lang="kotlin"> fun main() { println("Hello World!") } </syntaxhighlight> == Kogut== WriteLine "Hello, world!" == KPL (Kids Programming Language) == Program HelloWorld Method Main() ShowConsole() ConsoleWriteLine("Hello, world!") End Method End Program == Lasso == <syntaxhighlight lang="lasso"> Output: 'Hello, world!'; </syntaxhighlight> or <syntaxhighlight lang="lasso"> Output('Hello, world!'); </syntaxhighlight> or simply 'Hello, world!'; == Lexico Mobile (in Spanish) == tarea muestre "Hola mundo !" or clase Saludo derivada_de Form publicos mensajes Saludo copie "Hola mundo !" en saludo.Text == Linden Scripting Language == Linden Scripting Language is the scripting language used within Second Life <syntaxhighlight lang="lsl"> default { state_entry() { llSetText("Hello, World!" , <0,0,0> , 1.0); //or... llSay(0,"Hello, World!"); } } </syntaxhighlight> ==Linotte== Livre : HelloWorld Paragraphe : Affichage Actions : "Hello, World !" ! == Lisaac == <syntaxhighlight lang="smalltalk"> Section Header + name := HELLO_WORLD_PROGRAM; Section Public - main <- ( "Hello world!\n".print; ); </syntaxhighlight> == Lisp == Lisp has many dialects that have appeared over its almost fifty-year history. === Common Lisp === <syntaxhighlight lang="lisp">(format t "Hello, world!~%")</syntaxhighlight> or <syntaxhighlight lang="lisp">(write-line "Hello, world!")</syntaxhighlight> or in the REPL: <syntaxhighlight lang="lisp">"Hello, world!"</syntaxhighlight> (As a string (enclosed in quotes) it evaluates to itself, so is printed.) === Scheme === <syntaxhighlight lang="scheme">(display "Hello, world!\n")</syntaxhighlight> === Clojure === <syntaxhighlight lang="clojure">(println "Hello, world!")</syntaxhighlight> === Emacs Lisp === <syntaxhighlight lang="elisp">(print "Hello, world!")</syntaxhighlight> or: <syntaxhighlight lang="elisp">(message "Hello, world!")</syntaxhighlight> === AutoLisp === <syntaxhighlight lang="cadlisp">(print "Hello, world!")</syntaxhighlight> === XLISP === <syntaxhighlight lang="lisp">(print "Hello, world!")</syntaxhighlight> === Arc === <syntaxhighlight lang="lisp">(prn "Hello, world!")</syntaxhighlight> === Pils === <syntaxhighlight lang="lisp">(out "Hello, world!")</syntaxhighlight> == Logo == print [Hello, world!] or pr [Hello, world!] In MSWLogo only <nowiki>messagebox [Hi] [Hello, world!]</nowiki> == LPC == <syntaxhighlight lang="cpp"> void create() { write("Hello, world!\n"); } </syntaxhighlight> == Lua == <syntaxhighlight lang="lua">io.write("Hello, world!\n")</syntaxhighlight> or <syntaxhighlight lang="lua">return "Hello, World!"</syntaxhighlight> or <syntaxhighlight lang="lua">print("Hello, world")</syntaxhighlight> === LuaDEV (PSP and Wii) === <syntaxhighlight lang="lua"> screen.print(10,10,"Hello, world!") </syntaxhighlight> == M (MUMPS) == W "Hello, world!" == Macsyma, Maxima == <syntaxhighlight lang="maxima"> print("Hello, world!")$ </syntaxhighlight> == Maple == <syntaxhighlight lang="maple"> print("Hello, world!"); </syntaxhighlight> == Mathematica == <syntaxhighlight lang="mathematica"> Print["Hello, world!"] </syntaxhighlight> or simply: "Hello, world!" == MATLAB / GNU Octave == <syntaxhighlight lang="matlab">disp('Hello, world!')</syntaxhighlight> or <syntaxhighlight lang="matlab">fprintf('Hello, world!\n')</syntaxhighlight> or with a GUI <syntaxhighlight lang="matlab"> figure('Position',[100 100 200 200],'MenuBar','none','Name','Hello World'); uicontrol('Style','text','Position',[15 100 150 15],'String','Hello world'); </syntaxhighlight> or <syntaxhighlight lang="matlab">msgbox('Hello World!')</syntaxhighlight> == Maude == fmod HELLOWORLD is protecting STRING . op helloworld : -> String . eq helloworld = "Hello, world!" . endfm red helloworld . == Max == max v2; #N vpatcher 10 59 610 459; #P message 33 93 63 196617 Hello, world!!; #P newex 33 73 45 196617 loadbang; #P newex 33 111 31 196617 print; #P connect 1 0 2 0; #P connect 2 0 0 0; #P pop; == Maya Embedded Language == <syntaxhighlight lang="perl">print( "Hello, world!\n" );</syntaxhighlight> == Mesham == var x:String::allocated[on[0]]; x:="Hello World"; // allocated on process 0 only proc 1 { // This is displayed by process 1, auto communication done to achieve this print[x]; } == M4 == Hello, world! ==Microbit== [[File:Hello world microbit.png]] ==mIRC Script== ===aliases=== <syntaxhighlight lang="text">helloworld echo Hello, world!</syntaxhighlight> ===remote=== <syntaxhighlight lang="text">alias helloworld echo Hello, world!</syntaxhighlight> ===popups=== <syntaxhighlight lang="text">Hello World:echo Hello, world!</syntaxhighlight> ===command line=== <syntaxhighlight lang="text">echo Hello, world!</syntaxhighlight> == Model 204 == BEGIN PRINT 'Hello, world!' END == Modula-2 == <syntaxhighlight lang="modula2"> MODULE Hello; FROM InOut IMPORT WriteLn, WriteString; BEGIN WriteString ("Hello, world!"); WriteLn END Hello. </syntaxhighlight> == Monkey == <syntaxhighlight lang="monkey"> Strict Function Main:Int() Print "Hello World!" Return 0 End </syntaxhighlight> == MOO == ''This requires that you be the player or a wizard:'' <syntaxhighlight lang="moo"> notify(player, "Hello, world!"); </syntaxhighlight> ''This is specific to the implementation of the core used for the moo, but works on most well known moos, such as LambdaCore or JH-Core:'' <syntaxhighlight lang="moo"> player:tell("Hello, world!"); </syntaxhighlight> == Mouse == "Hello, World!" $ == MPI == <syntaxhighlight lang="c" enclose="div"> #include <stdio.h> #include <time.h> #include <string.h> #include "mpi.h" int main ( int argc, char * argv[] ) { const int maximum_message_length = 100; const int master_rank = 0; char message[maximum_message_length+1]; MPI_Status status; /* Info about receive status */ int my_rank; /* This process ID */ int num_procs; /* Number of processes in run */ int source; /* Process ID to receive from */ int destination; /* Process ID to send to */ int tag = 0; /* Message ID */ int mpi_error; /* Error code for MPI calls */ int icount; char processor_name[MPI_MAX_PROCESSOR_NAME]; int name_length; // Initialize the MPI execution environment. mpi_error = MPI_Init ( &argc, &argv ); if ( mpi_error != MPI_SUCCESS ) { fprintf ( stderr, "Error: %s: Unable to initialize MPI execution environment\nAborting ...\n", argv[0] ); return ( 1 ); } // Even though we capture the error value from the MPI calls, we will // not deal with any error except the last one. mpi_error = MPI_Comm_rank ( MPI_COMM_WORLD, &my_rank ); mpi_error = MPI_Comm_size ( MPI_COMM_WORLD, &num_procs ); if ( my_rank != master_rank ) { mpi_error = MPI_Get_processor_name (processor_name, &name_length ); sprintf ( message, "Greetings from process #%d running on %s\n", \ my_rank, processor_name ); destination = master_rank; mpi_error = MPI_Send ( message, strlen(message) + 1, MPI_CHAR, \ destination, tag, MPI_COMM_WORLD ); } else { for ( source = 0; source < num_procs; source++ ) { if ( source != master_rank ) { mpi_error = MPI_Recv ( message, maximum_message_length + 1, \ MPI_CHAR, source, tag, MPI_COMM_WORLD, &status ); printf ( "%s \n", message ); } } } mpi_error = MPI_Finalize(); if ( MPI_SUCCESS != mpi_error ) return ( mpi_error ); else return ( 0 ); } </syntaxhighlight> == M# Fictional Computer Language == === Script === main(std:string >>arg<< / OS.GetArg) { std:stream >>CONSOLE<< / OS.Console; CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}); // H e l l o , W o r l d // } === Command WI === # # DEFINE g >>CONSOLE<< / OS.Console # % proc CONSOLE:Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) === Command WoI === # @ Write([byte]{0048, 0065, 006C, 006C, 006F, 002C, 0058, 006F, 0072, 006C, 0064}) == MS-DOS batch == ''(with the standard command.com interpreter. The @ symbol is optional and prevents the system from repeating the command before executing it. The @ symbol must be omitted on versions of MS-DOS prior to 3.0.). It's very common for batchfiles to start with two lines of "@echo off" and "cls".'' <syntaxhighlight lang="dosbatch"> @echo Hello, world! </syntaxhighlight> '' For MS-DOS 3.0 or lower'' <syntaxhighlight lang="dosbatch"> @echo off cls echo Hello, world! </syntaxhighlight> == MUF == : main me @ "Hello, world!" notify ; == Natural == WRITE 'Hello, world!' END or WRITE 'Hello, world!'. == Neko == $print("Hello, world!!\n"); == Nemerle== The easiest way to get Nemerle print "Hello, world!" would be that: <syntaxhighlight lang="nemerle"> System.Console.WriteLine("Hello, world!"); </syntaxhighlight> however, in bigger applications the following code would be probably more useful: <syntaxhighlight lang="nemerle"> using System.Console; module HelloWorld { Main():void { WriteLine("Hello, world!"); } } </syntaxhighlight> == Nim == <syntaxhighlight lang="nim"> echo "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="nim"> echo("Hello, world!") </syntaxhighlight> == NXT 2.1 (the Lego Robot program) == [[File:Hello_world_NXT_2.1.png]] == Oberon == Oberon is both the name of a programming language and an operating system. Program written for the Oberon operating system: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Oberon, Texts; VAR W: Texts.Writer; PROCEDURE World*; BEGIN Texts.WriteString(W, "Hello, world!"); Texts.WriteLn(W); Texts.Append(Oberon.Log, W.buf) END World; BEGIN Texts.OpenWriter(W) END Hello. </syntaxhighlight> Freestanding Oberon program using the standard Oakwood library: <syntaxhighlight lang="cp"> MODULE Hello; IMPORT Out; BEGIN Out.String("Hello, world!"); Out.Ln END Hello. </syntaxhighlight> == Obix == system.console.write_line ( "Hello, world!" ) == ObjectGears == Message to the user in the form: OGForm.SetInfo('Hello world!'); Entry into the log: OG.Log.Write('Hello world!'); == Objective-C == === Procedural C Version === <syntaxhighlight lang="objc"> #import <stdio.h> int main (int argc, const char *argv[]) { printf ("Hello, world!\n"); return 0; } </syntaxhighlight> === Object-Oriented C Version === <syntaxhighlight lang="objc"> #import <stdio.h> #import <objc/Object.h> @interface Hello : Object { } - hello; @end @implementation Hello - hello { printf("Hello, world!\n"); } @end int main(void) { id obj; obj = [Hello new]; [obj hello]; [obj free]; return 0; } </syntaxhighlight> === OPENSTEP/Cocoa Version === <syntaxhighlight lang="objc"> #import <Foundation/Foundation.h> int main (int argc, const char * argv[]) { NSLog(@"Hello, world!"); return 0; } </syntaxhighlight> == OCaml == <syntaxhighlight lang="ocaml">print_endline "Hello, world!" ;;</syntaxhighlight> == occam == #USE "course.lib" PROC hello.world(CHAN OF BYTE screen!) out.string("Hello, world!*n", 0, screen!) : or without using '''course.lib''' PROC hello.world(CHAN OF BYTE screen!) SEQ screen ! 'H' screen ! 'e' screen ! 'l' screen ! 'l' screen ! 'o' screen ! ',' screen ! ' ' screen ! 'w' screen ! 'o' screen ! 'r' screen ! 'l' screen ! 'd' screen ! '!' screen ! '*n' : == OpenScript == -- in a popup window request "Hello world" == OPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. PROC hello: PRINT "Hello, world!" ENDP == OPS5 == <syntaxhighlight lang="lisp"> (object-class request ^action) (startup (strategy MEA) (make request ^action hello) ) (rule hello (request ^action hello) (write |Hello, world!| (crlf)) ) </syntaxhighlight> == OPS83 == module hello (main) { procedure main( ) { write() |Hello, world!|, '\n'; }; }; == Oz == <syntaxhighlight lang="text">{Browse 'Hello, world!'}</syntaxhighlight> == Parrot assembly language == <syntaxhighlight lang="perl6"> print "Hello, world!\n" end </syntaxhighlight> == Parrot intermediate representation == <syntaxhighlight lang="perl6"> .sub hello :main print "Hello, world!!\n" .end </syntaxhighlight> == Pascal == <syntaxhighlight lang="pascal"> begin write('Hello, world!'); end. </syntaxhighlight> == PAWN == <span style="color:blue;">main</span>() { <span style="color:blue;">print</span>(<span style="color:#666566;">"Hello, World!"</span>); } or <span style="color:blue;">main</span>() { <span style="color:blue;">new</span> string[<span style="color:#00FFFF;">14</span>]; <span style="color:blue;">format</span> string(<span style="color:blue;">sizeof</span>(string), <span style="color:#666566;">"Hello, World!</span>); <span style="color:blue;">print</span>(string); } == Perl == === As PL file === <syntaxhighlight lang="perl"> print "Hello, world!\n"; </syntaxhighlight> (the semicolon is optional) or <syntaxhighlight lang="perl"> package Hello; sub new() { bless {} } sub Hello() { print "Hello, world! \n" } package main; my $hello = Hello->new(); $hello->Hello(); </syntaxhighlight> ===As CGI file=== <syntaxhighlight lang="perl"> #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<H1>Hello World!</H1>"; </syntaxhighlight> == Phix == <syntaxhighlight lang="text">puts(1, "Hello, world!")</syntaxhighlight> == PHP == PHP is a templating language and will echo any text not within PHP tags directly, so the simplest form is: <syntaxhighlight lang="php">Hello, world!</syntaxhighlight> Using actual PHP statements, it can be written: <syntaxhighlight lang="php"> <?php echo 'Hello, world!'; ?> </syntaxhighlight> or use short-hand echoing, syntaxed as such: <syntaxhighlight lang="php"><? echo "Hello, world!"?></syntaxhighlight> this will also work: <syntaxhighlight lang="php"><?= "Hello, world!" ?></syntaxhighlight> == Pike == <syntaxhighlight lang="pike"> int main() { write("Hello, world!\n"); return 0; } </syntaxhighlight> == PILOT == T:Hello, world! == PL/SQL == <syntaxhighlight lang="plpgsql"> set serveroutput on size 1000000; -- this is a SQL*Plus command to enable the output buffer begin dbms_output.put_line('Hello, world!'); end; </syntaxhighlight> == PL/I == <syntaxhighlight lang="rexx"> Test: proc options(main); put list('Hello, world!'); end Test; </syntaxhighlight> == PostScript == ''See also [[#Page description languages|page description language section]].'' <syntaxhighlight lang="postscr"> (Hello, world!\n) print </syntaxhighlight> == PowerShell == <syntaxhighlight lang="powershell">"Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">Write-Host "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">echo "Hello, world!"</syntaxhighlight> or <syntaxhighlight lang="powershell">[System.Console]::WriteLine("Hello, world!")</syntaxhighlight> or <syntaxhighlight lang="powershell"> [void][System.Reflection.Assembly]::LoadWithPartialName('System.Windows.Forms') [System.Windows.Forms.MessageBox]::Show("Hello, World!") </syntaxhighlight> == Processing == println("Hello, world!"); == Progress 4GL == <syntaxhighlight lang="progress"> display "Hello, world!". </syntaxhighlight> == Prolog == <syntaxhighlight lang="prolog">:- write('Hello, world!'),nl.</syntaxhighlight> == Pure Data == #N canvas 0 0 300 300 10; #X obj 100 100 loadbang; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; #X connect 1 0 2 0; == Python == === As a script/module === ==== Python 2 and earlier ==== <syntaxhighlight lang="python2"> print "Hello, world!" </syntaxhighlight> ==== Python 3 ==== <syntaxhighlight lang="python"> print("Hello, world!") </syntaxhighlight> This also works on Python 2.4 or later, but in an unintuitive way. In Python 3, it calls the <code>print</code> function with the string <code>"Hello, world!"</code>. In Python 2, it executes the <code>print</code> statement with the expression <code>("Hello, world!")</code>, which evaluates to the string <code>"Hello, world!"</code>. ==== Any Python version ==== <syntaxhighlight lang="python"> import sys sys.stdout.write("Hello, world!\n") </syntaxhighlight> In Python 2.6 or later: <syntaxhighlight lang="python"> from __future__ import print_function print("Hello, world!") </syntaxhighlight> ==== Two easter eggs ==== <syntaxhighlight lang="python"> import __hello__ import __phello__ </syntaxhighlight> ==== Using Curves ==== <syntaxhighlight lang="python"> from math import cos, sin def f(x): return int(round(96.75 + -21.98*cos(x*1.118) + 13.29*sin(x*1.118) + -8.387*cos(2*x*1.118)\ + 17.94*sin(2*x*1.118) + 1.265*cos(3*x*1.118) + 16.58*sin(3*x*1.118)\ + 3.988*cos(4*x*1.118) + 8.463*sin(4*x*1.118) + 0.3583*cos(5*x*1.118)\ + 5.878*sin(5*x*1.118))) print("".join([chr(f(x)) for x in range(12)])) </syntaxhighlight> === In the REPL === 'Hello, world!' (with quotation marks) can be attained through: <syntaxhighlight lang="python"> 'Hello, world!' </syntaxhighlight> === As CGI file === <syntaxhighlight lang="python"> #!/usr/local/bin/python print("Content-type: text/html\n\n") print("Hello World!") </syntaxhighlight> === Flask === As Python's Flask web microframework <syntaxhighlight lang="python"> from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" app.run() </syntaxhighlight> ==R== <syntaxhighlight lang="rsplus">print('Hello, world!')</syntaxhighlight> == Raku == <syntaxhighlight lang="perl6">"Hello, world!".say</syntaxhighlight> or <syntaxhighlight lang="perl6">say "Hello, world!";</syntaxhighlight> or <syntaxhighlight lang="perl6">print "Hello, world!\n";</syntaxhighlight> ==Rebol== ''See also [[#Graphical user interfaces (GUIs)|GUI section]].'' print "Hello, world!" ==Red== ''See also [[#Red_2|GUI section]].'' print "Hello, world!" == Redcode == <syntaxhighlight lang="redcode"> ; Should work with any MARS >= ICWS-86 ; with 128x64 gfx core Start MOV 0,2455 MOV 0,2458 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2459 MOV 0,2460 MOV 0,2465 MOV 0,2471 MOV 0,2471 MOV 0,2471 MOV 0,2479 MOV 0,2482 MOV 0,2484 MOV 0,2484 MOV 0,2484 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2486 MOV 0,2488 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2493 MOV 0,2497 MOV 0,2556 MOV 0,2559 MOV 0,2560 MOV 0,2565 MOV 0,2570 MOV 0,2575 MOV 0,2578 MOV 0,2585 MOV 0,2588 MOV 0,2589 MOV 0,2592 MOV 0,2593 MOV 0,2596 MOV 0,2597 MOV 0,2603 MOV 0,2605 MOV 0,2608 MOV 0,2667 MOV 0,2670 MOV 0,2671 MOV 0,2676 MOV 0,2681 MOV 0,2686 MOV 0,2689 MOV 0,2696 MOV 0,2699 MOV 0,2700 MOV 0,2703 MOV 0,2704 MOV 0,2707 MOV 0,2708 MOV 0,2714 MOV 0,2716 MOV 0,2719 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2778 MOV 0,2779 MOV 0,2779 MOV 0,2779 MOV 0,2782 MOV 0,2787 MOV 0,2792 MOV 0,2795 MOV 0,2802 MOV 0,2805 MOV 0,2806 MOV 0,2809 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2810 MOV 0,2812 MOV 0,2818 MOV 0,2820 MOV 0,2823 MOV 0,2882 MOV 0,2885 MOV 0,2886 MOV 0,2891 MOV 0,2896 MOV 0,2901 MOV 0,2904 MOV 0,2911 MOV 0,2912 MOV 0,2913 MOV 0,2914 MOV 0,2917 MOV 0,2918 MOV 0,2919 MOV 0,2922 MOV 0,2928 MOV 0,2930 MOV 0,2933 MOV 0,2992 MOV 0,2995 MOV 0,2996 MOV 0,3001 MOV 0,3006 MOV 0,3011 MOV 0,3014 MOV 0,3021 MOV 0,3022 MOV 0,3023 MOV 0,3024 MOV 0,3027 MOV 0,3028 MOV 0,3030 MOV 0,3032 MOV 0,3038 MOV 0,3040 MOV 0,3103 MOV 0,3106 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3107 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3108 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3109 MOV 0,3111 MOV 0,3111 MOV 0,3111 MOV 0,3120 MOV 0,3121 MOV 0,3124 MOV 0,3124 MOV 0,3124 MOV 0,3126 MOV 0,3129 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3130 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3131 MOV 0,3135 JMP 0 </syntaxhighlight> == REFAL == $ENTRY GO{=<Prout 'Hello, world!'>;} == Revolution == (This works the same for Transcript or xTalk) === Printed in the message box === <pre> put "Hello, World!" </pre> === Shown within a dialog box === <pre> answer "Hello, world!" </pre> === Printed on the main window interface === <syntaxhighlight lang="applescript"> create field "myField" set the text of field "myField" to "Hello, world!" </syntaxhighlight> === As CGI file === <pre> #!revolution on startup put "Content-Type: text/plain" & cr & cr put "Hello World!" end startup </pre> == REXX, ARexx, NetRexx, and Object REXX == <syntaxhighlight lang="rexx"> /* a starting comment is needed in mainframe versions */ say "Hello, world!" </syntaxhighlight> == Ring == <syntaxhighlight lang="text"> see "hello world!" </syntaxhighlight> == RPG == === Free-Form Syntax === /FREE DSPLY 'Hello, world!'; *InLR = *On; /END-FREE === Traditional Syntax === With this syntax, a constant has to be used because the message must be placed in positions 12 to 25, between apostrophes. d TestMessage c Const( 'Hello, world!' ) c TestMessage DSPLY c EVAL *InLR = *On == RPG Code == ===Message Window=== Using the internal message window, a simple Hello, world! program can be rendered thus: mwin("Hello, world!") wait() ===On Screen Text=== An additional way to render text is by using the built in text() function. text(1,1,"Hello, world!") wait() == RPL == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. (On Hewlett-Packard HP-28, HP-48 and HP-49 series graphing calculators.) << CLLCD "Hello, world!" 1 DISP 0 WAIT DROP >> <!-- note: FREEZE not used since it is not present in the HP-28 --> == RT Assembler == _name Hello~World! pause Hello~World! exit _end == Ruby == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="ruby"> puts 'Hello, world!' </syntaxhighlight> or <syntaxhighlight lang="ruby"> 'Hello, world!'.each { |s| print s } </syntaxhighlight> or <syntaxhighlight lang="ruby"> class String def say puts self end end 'Hello, world!'.say </syntaxhighlight> == Rust == <syntaxhighlight lang="rust"> fn main() { println!("Hello, world!"); } </syntaxhighlight> == S (and R) == <syntaxhighlight lang="splus">print("Hello, world")</syntaxhighlight> or <syntaxhighlight lang="splus">message("Hello, world")</syntaxhighlight> == S-Lang == message("Hello, world!"); ==SAS== <syntaxhighlight lang="sas"> %put Hello, world!; </syntaxhighlight> == Sather == class HELLO_WORLD is main is #OUT+"Hello, world!\n"; end; end; == Scala == <syntaxhighlight lang="scala"> object HelloWorld extends App { println("Hello, world!") } </syntaxhighlight> ''App'' was introduced since Scala 2.1, and ''Application'' was deprecated since Scala 2.9.0. Use ''Application'' instead of ''App'' for versions below 2.1. == SCAR == <syntaxhighlight lang="pascal"> program HelloWorld; begin WriteLn('Hello world!'); end. </syntaxhighlight> == Scheme == <syntaxhighlight lang="Scheme"> (display "Hello, World!") (newline) </syntaxhighlight> == Scratch == [[File:scratchhello.jpg]] == sed == (Note: requires at least one line of input) <syntaxhighlight lang="bash"> sed -ne '1s/.*/Hello, world!/p' </syntaxhighlight> == Seed7 == <pre> $ include "seed7_05.s7i"; const proc: main is func begin writeln("Hello, world"); end func; </pre> == Self == 'Hello, world!' print. == sense script == out('Hello, world!'); == ShadowScript == 'set up initial variables struct.follow { cpu.fan.speed(500.rpm) cpu.max.process(100) } < logic.handle(0) int main() int var() array.max(100000000) > 'open and write the text in a free handle window open mainwin(io<std>) as free(1) { write.free(1).("Hello",&sym," world",&sym)(&sym<",">&sym<"!"> apply.free(1) to text } 'reset the fan, cpu, and vars < logic(std) fan(std.auto) cpu.max(auto) unint main() unint var() un.array.max(std) > 'end end .end/ == Simula == BEGIN OutText("Hello, world!"); OutImage; END == Smalltalk == <syntaxhighlight lang="smalltalk">Transcript show: 'Hello, world!'</syntaxhighlight> alternative: <syntaxhighlight lang="smalltalk">StdoutStream nextPutLine: 'Hello, world'</syntaxhighlight> == SML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SNOBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == Span == class Hello { static public main: args { Console << "Hello, world!\n"; } } == SPARK == <syntaxhighlight lang="ada"> with Spark_IO; --# inherit Spark_IO; --# main_program; procedure Hello_World --# global in out Spark_IO.Outputs; --# derives Spark_IO.Outputs from Spark_IO.Outputs; is begin Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hello, world!", 0); end Hello_World; </syntaxhighlight> == Spin == Spin is the high level language from Parallax Inc. used to program their Propeller multi-core micro-controllers. The program assumes that the software UART object, provided with the Propeller IDE, is used to deliver the message over a serial line. CON _clkmode = xtal1 + pll16x _xinfreq = 5_000_000 OBJ console : "FullDuplexSerial" PUB start console.start(31, 30, 0, 115_200) console.str(string("Hello, world!", 13)) == SPITBOL == <syntaxhighlight lang="snobol"> OUTPUT = "Hello, world!" END </syntaxhighlight> == SPSS Syntax == ECHO "Hello, world!". == SSPL == 1.0 print Hello, World! end == Standard ML == <syntaxhighlight lang="sml">print "Hello, world!\n";</syntaxhighlight> == SQL == <syntaxhighlight lang="sql"> SELECT 'Hello, world!' </syntaxhighlight> or (for EnterpriseDB's Stored Procedure Language (SPL)) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. Oracle dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!' FROM dual;</syntaxhighlight> or (for Oracle's PL/SQL proprietary procedural language) <syntaxhighlight lang="plpgsql"> BEGIN DBMS_OUTPUT.ENABLE(1000000); DBMS_OUTPUT.PUT_LINE('Hello, world!'); END; </syntaxhighlight> or (e.g. MySQL or PostgreSQL dialect) <syntaxhighlight lang="sql">SELECT 'Hello, world!';</syntaxhighlight> or (for PostgreSQL's PL/pgSQL Procedural language) <syntaxhighlight lang="plpgsql"> CREATE FUNCTION hello_world() RETURNS text AS $$ BEGIN RETURN 'Hello, world!'; END $$ LANGUAGE plpgsql; </syntaxhighlight> or (e.g. T-SQL dialect) <syntaxhighlight lang="tsql">PRINT 'Hello, world!'</syntaxhighlight> or (for KB-SQL dialect) <syntaxhighlight lang="sql"> select Null from DATA_DICTIONARY.SQL_QUERY FOOTER ''or HEADER or DETAIL or FINAL event'' write "Hello, world!" </syntaxhighlight> == STARLET == RACINE: HELLO_WORLD. NOTIONS: HELLO_WORLD : ecrire("Hello, world!"). == Stata == Define program in script (.do-file) or at command line: <syntaxhighlight lang="do"> capture program drop hello /*Define Hello, world! program*/ program define hello di "Hello, world!" end hello /*run Hello, world! program*/ </syntaxhighlight> Or, interactively at the command line: di "Hello, world!" == SuperCollider == <syntaxhighlight lang="sc"> "Hello, world!".postln; </syntaxhighlight> or, for interactive prompt, "Hello, world!" == Supernova == I want window and the window title is hello world. == Swift == <syntaxhighlight lang="swift"> println("Hello, world!") // Swift 1.x print("Hello, world!") // Swift 2.x </syntaxhighlight> == TACL == #OUTPUT Hello, world! == Tcl (Tool command language) == ''See also [[#Graphical user interfaces (GUIs)|GUI section]]''. <syntaxhighlight lang="tcl">puts "Hello, world!"</syntaxhighlight> == Template Toolkit == [% GET "Hola mundo!"; %] Or the English version: [% GET "Hello world!"; %] == Thyme == <syntaxhighlight lang="text"> print ("Hello, world!") </syntaxhighlight> == TOM (rewriting language) == <syntaxhighlight lang="java"> public class HelloWorld { %include { string.tom } public final static void main(String[] args) { String who = "world"; %match(String who) { "World" -> { System.out.println("Hello, " + who + "!"); } _ -> { System.out.println("Don't panic"); } } } </syntaxhighlight> == TSQL == <syntaxhighlight lang="tsql"> Declare @Output varchar(16) Set @Output='Hello, world!' Select 'Output' = @Output </syntaxhighlight> or, simpler variations: <syntaxhighlight lang="tsql"> Select 'Hello, world!' Print 'Hello, world!' </syntaxhighlight> == TTCN-3 == module hello_world { control { log("Hello, world!"); } } == Turing == put "Hello world!" == UNIX-style shell == <syntaxhighlight lang="bash"> echo 'Hello, world!' </syntaxhighlight> or using an inline 'here document' <syntaxhighlight lang="bash"> cat <<'DELIM' Hello, world! DELIM </syntaxhighlight> or <syntaxhighlight lang="bash"> printf '%s' $'Hello, world!\n' </syntaxhighlight> or for a curses interface: <syntaxhighlight lang="bash"> dialog --msgbox 'Hello, world!' 0 0 </syntaxhighlight> == Vala == <syntaxhighlight lang="vala">using GLib; public int main(string[] args) { stdout.printf("Hello, world!\n"); return 0; }</syntaxhighlight> == Verilog == <syntaxhighlight lang="verilog"> module main(); initial begin #0 $display("Hello, world!!"); #1 $finish; end endmodule </syntaxhighlight> or (a little more complicated) <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #5 clk=1; #1 $finish; end endmodule </syntaxhighlight> <syntaxhighlight lang="verilog"> module hello(clk); input clk; always @(posedge clk) $display("Hello, world!!"); endmodule module main(); reg clk; hello H1(clk); initial begin #0 clk=0; #23 $display("--23--"); #100 $finish; end always #5 clk=~clk; endmodule </syntaxhighlight> == VHDL == <syntaxhighlight lang="vhdl"> use std.textio.all; entity Hello is end Hello; architecture Hello_Arch of Hello is begin p : process variable l:line; begin write(l, String'("Hello, world!")); writeline(output, l); wait; end process; end Hello_Arch; </syntaxhighlight> == Visual Basic Script == <syntaxhighlight lang="vbscript">WScript.Echo "Hello, world!"</syntaxhighlight> OR as a VBscript file <syntaxhighlight lang="vbscript">MsgBox "Hello, world!"</syntaxhighlight> == Visual Prolog == <syntaxhighlight lang="visualprolog"> #include @"pfc\console\console.ph" goal console::init(), stdio::write("Hello, world!"). </syntaxhighlight> == VRML (Virtual Reality Modeling Language) == <syntaxhighlight lang="C++"> #X3D V3.3 utf8 Shape { geometry Text { string [ "hello, world" ] } } </syntaxhighlight> == Web Assembly == <syntaxhighlight lang="wat"> (module (type $type0 (func (result i32))) (table 0 anyfunc) (memory 1) (export "memory" memory) (export "hello" $func0) (func $func0 (result i32) i32.const 16 ) (data (i32.const 16) "Hello World\00" ) ) </syntaxhighlight> == X# == sub:main load:mscorlib.dll push:Hello, World! invoke:mscorlib.dll:System.Console:Write:1 endsub == X3D (Extensible 3D) == <syntaxhighlight lang="XML"> <X3D profile='Immersive' version='3.3'> <Scene> <Shape> <Text string='"hello, world"'/> </Shape> </Scene> </X3D> </syntaxhighlight> == XC == XC is a C like language from XMOS Ltd offering features supporting Communicating Sequential Processes on their multi-threaded, multi-core processors. This example shows some of those features. <syntaxhighlight lang="c" enclose="div"> #include <platform.h> #define BIT_RATE 115200 #define BIT_TIME XS1_TIMER_HZ / BIT_RATE // A one bit output port with buffering out port:1 buffered uart_tx = PORT_UART_TX; // Thread implements serial transmitter using the ports timer. void console (chanend c, out port:1 buffered TXD) { unsigned time; char byte; while (1) { c :> byte; // Read byte from the consol output channel. TXD <: 0 @ time; // Set start bit and save IO time stamp. for (int j = 0; j < 8; j += 1) // Data bits. { time += BIT_TIME; // Time of next bit. TXD @ time <: >> byte; // Shift out next bit on time. } time += BIT_TIME; // Two stop bits TXD @ time <: 1; time += BIT_TIME; TXD @ time <: 1; } } // Thread issues greeting message to the console void greeter(chanend c) { char msg[] = "Hello World!\n"; int i; while (1) // Repeatedly send message to console output channel. { for (i = 0; i < sizeof(msg) - 1; i++) { c <: msg[i]; // Output a byte to the channel. } } } int main() { chan c; // Communication channel between threads. par // Parallel execution of block statements. { on stdcore[0]: console(c, uart_tx); // Run console output thread on core 0. on stdcore[1]: greeter(c); // Run greeter thread or core 1. } return 0; } </syntaxhighlight> == XL == use XL.UI.CONSOLE WriteLn "Hello, world!" or import IO = XL.UI.CONSOLE IO.WriteLn "Hello, world!" == XMLmosaic == <syntaxhighlight lang="xml"> <Class> <Type>XMLmosaic Class</Type> <Method> <Name id="1">Main</Name> <Code id="1">void Main() { Console.WriteLine('Hello World!'); } </Code> </Method> <Counter> <Count>1</Count> </Counter> </Class> </syntaxhighlight> == Yorick == write, "Hello, world!"; Note: The semicolon is optional. == Zdzich == Programming language with commands in Polish. [http://www.jelcyn.com/dos/zdzich.htm Webpage] <syntaxhighlight lang="text"> pisz Hello World! koniec </syntaxhighlight> ==Graphical user interfaces (GUIs)== ===ActionScript (Adobe Flash)=== <syntaxhighlight lang="actionscript"> this.createTextField("hello_txt",0,10,10,100,20); this.hello_txt.text="Hello, world!"; </syntaxhighlight> === AppleScript === <syntaxhighlight lang="applescript"> display dialog "Hello, world!" buttons {"OK"} default button 1 </syntaxhighlight> === boo === <syntaxhighlight lang="boo"> import System.Drawing import System.Windows.Forms f = Form() f.Controls.Add(Label(Text: "Hello, world!", Location: Point(40,30))) f.Controls.Add(Button(Text: "Ok", Location: Point(50, 55), Click: {Application.Exit()})) Application.Run(f) </syntaxhighlight> Functional equivalent of C# program below. === C# === In C# 10, using the <code>MessageBox</code> class, with top-level statements enabled (default), the code is only one line: <syntaxhighlight lang="csharp"> MessageBox.Show("Hello, world!"); </syntaxhighlight> Alternatively, one could write the dialog box from the scratch: <syntaxhighlight lang="csharp"> public class HelloWorldForm : Form { public static void Main() { Application.EnableVisualStyles(); Application.Run(new HelloWorldForm()); } public HelloWorldForm() { Label label = new Label(); label.Text = "Hello, world!"; label.Location = new Point(40, 30); this.Controls.Add(label); Button button = new Button(); button.Text = "OK"; button.Location = new Point(50, 55); this.Controls.Add(button); button.Click += new EventHandler(button_Click); } private void button_Click(Object sender, EventArgs e) { Application.Exit(); } } </syntaxhighlight> === Clarion === The simplest way to achieve this is with the built in message function that is similar to the windows messageBox(). PROGRAM MAP END CODE MESSAGE('Hello, world!!','Clarion') RETURN A more real world example uses a Clarion structure to declare a window and the Clarion Accept loop to process events from that window. PROGRAM MAP HelloProcedure PROCEDURE() END CODE HelloProcedure() RETURN HelloProcedure PROCEDURE() Window WINDOW('Clarion for Windows'),AT(,,222,116),FONT('Tahoma',8,,FONT:regular),ICON('Hey.ICO'), | SYSTEM,GRAY STRING('Hello, world!!'),AT(91,22),USE(?String1) BUTTON('Close'),AT(92,78,37,14),USE(?CloseBtn),LEFT END CODE OPEN(Window) ACCEPT CASE ACCEPTED() OF ?CloseBtn POST(EVENT:CloseWindow) END END CLOSE(Window) RETURN === Cocoa or GNUStep (In Objective C)=== <syntaxhighlight lang="objc"> #import <Cocoa/Cocoa.h> @interface hello : NSObject { } @end @implementation hello -(void)awakeFromNib { NSBeep(); // we don't need this but it's conventional to beep // when you show an alert NSRunAlertPanel(@"Message from your Computer", @"Hello, world!", @"Hi!", nil, nil); } @end </syntaxhighlight> === Curl === {curl 3.0, 4.0 applet} {curl-file-attributes character-encoding = "utf-8"} Hello, world! === Delphi, Kylix === <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin ShowMessage('Hello, world!'); end. </syntaxhighlight> or <syntaxhighlight lang="delphi"> program Hello_World; uses QDialogs; begin MessageDlg ('Hello, world!', mtInformation, [mbOk], 0); end. </syntaxhighlight> === Erlang === <syntaxhighlight lang="erlang"> -module(hello_world). -export([hello/0]). hello() -> S = gs:start(), Win = gs:create(window, S, [{width, 100}, {height, 50}]), gs:create(label, Win, [{label, {text, "Hello, world!"}}]), gs:config(Win, {map, true}), receive {gs, Win, destroy, _, _} -> gs:stop() end, ok. </syntaxhighlight> One way of invoking this would be to enter <kbd>hello_world:hello().</kbd> in the Erlang shell; another would be to run from a command line: erl -noshell -run hello_world hello -run init stop === Euphoria === MS-Windows only - basic. <syntaxhighlight lang="text"> include msgbox.e if message_box("Hello, world!", "Hello", 0) then end if </syntaxhighlight> MS-Windows only - using Win32Lib library <syntaxhighlight lang="text"> include win32lib.ew createForm({ ";Window; Hello", ";Label; Hello, world!" }) include w32start.ew </syntaxhighlight> === F# === Using WindowsForms, at the F# interactive prompt: <syntaxhighlight lang="fsharp">let _ = System.Windows.Forms.MessageBox.Show("Hello, world!");;</syntaxhighlight> === FLTK2 (in C++) === <syntaxhighlight lang="cpp"> #include <fltk/Window.h> #include <fltk/Widget.h> #include <fltk/run.h> using namespace fltk; int main(int argc, char **argv) { Window *window = new Window(300, 180); window->begin(); Widget *box = new Widget(20, 40, 260, 100, "Hello, world!"); box->box(UP_BOX); box->labelfont(HELVETICA_BOLD_ITALIC); box->labelsize(36); box->labeltype(SHADOW_LABEL); window->end(); window->show(argc, argv); return run(); } </syntaxhighlight> === G (LabVIEW) === PUBLIC SUB Main() Message.Info("Hello, world!") END === Gtk# (in C#) === <syntaxhighlight lang="csharp"> using Gtk; using GtkSharp; using System; class Hello { static void Main() { Application.Init (); Window window = new Window(""); window.DeleteEvent += cls_evn; Button close = new Button ("Hello, world!"); close.Clicked += new EventHandler(cls_evn); window.Add(close); window.ShowAll(); Application.Run (); } static void cls_evn(object obj, EventArgs args) { Application.Quit(); } } </syntaxhighlight> === GTK+ 2.x (in Euphoria) === <syntaxhighlight lang="text"> include gtk2/wrapper.e Info(NULL,"Hello","Hello, world!") </syntaxhighlight> === IOC/OCL (in IBM VisualAge for C++) === <syntaxhighlight lang="cpp"> #include <iframe.hpp> void main() { IFrameWindow frame("Hello, world!"); frame.showModally() } </syntaxhighlight> === Java === ==== Swing ==== <syntaxhighlight lang="java"> import javax.swing.*; class HelloWorld { public static void main(final String[] args) { JFrame frame = new JFrame(); frame.add(new JLabel("Hello World", SwingConstants.CENTER)); frame.setSize(200, 100); frame.setLocationRelativeTo(null); frame.setVisible(true); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } } </syntaxhighlight> ==== JavaFX and FXML files ==== <syntaxhighlight lang="java"> package example; public class FXMLDocumentController extends Application implements Initializable { @Override public void start(Stage stage) throws Exception { Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); Scene scene = new Scene(root); stage.setScene(scene); stage.show(); } @FXML private Label label; @Override public void initialize(URL url, ResourceBundle rb) { label.setText("Hello World!"); } public static void main(String[] args) { launch(args); } } </syntaxhighlight> <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <?import java.lang.*?> <?import java.util.*?> <?import javafx.scene.*?> <?import javafx.scene.control.*?> <?import javafx.scene.layout.*?> <AnchorPane id="AnchorPane" prefHeight="200" prefWidth="320" xmlns:fx="http://javafx.com/fxml/1" fx:controller="example.FXMLDocumentController"> <children> <Label layoutX="126" layoutY="80" minHeight="16" minWidth="69" fx:id="label" /> </children> </AnchorPane> </syntaxhighlight> ==== GTK (java-gnome) ==== <syntaxhighlight lang="java"> import org.gnome.gdk.*; class GdkSimple extends Window { public GdkSimple() { setTitle("Example"); connect((DeleteEvent)(source, event) -> { Gtk.mainQuit(); return false; }); add(new Label("Hello World")); setDefaultSize(250, 150); setPosition(WindowPosition.CENTER); show(); } public static void main(String[] args) { Gtk.init(args); new GdkSimple(); Gtk.main(); } } </syntaxhighlight> === K === This creates a window labeled "Hello, world!" with a button labeled "Hello, world!". <syntaxhighlight lang="k"> hello:hello..l:"Hello, world!" hello..c:`button `show$`hello </syntaxhighlight> === Microsoft Foundation Classes (in C++) === <syntaxhighlight lang="cpp"> #include <afx.h> #include <afxwin.h> class CHelloWin : public CWnd { protected: DECLARE_MESSAGE_MAP() afx_msg void OnPaint(void) { CPaintDC dc(this); dc.TextOut(15, 3, TEXT("Hello, world!"), 13); } }; BEGIN_MESSAGE_MAP(CHelloWin, CWnd) ON_WM_PAINT() END_MESSAGE_MAP() class CHelloApp : public CWinApp { virtual BOOL InitInstance(); }; CHelloApp theApp; LPCTSTR wndClass; BOOL CHelloApp::InitInstance() { CWinApp::InitInstance(); CHelloWin* hello = new CHelloWin(); m_pMainWnd = hello; wndClass = AfxRegisterWndClass(CS_VREDRAW | CS_HREDRAW, 0, (HBRUSH)::GetStockObject(WHITE_BRUSH), 0); hello->CreateEx(0, wndClass, TEXT("Hello MFC"), WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 120, 50, NULL, NULL); hello->ShowWindow(SW_SHOW); hello->UpdateWindow(); return TRUE; } </syntaxhighlight> === Adobe Flex MXML === <syntaxhighlight lang="mxml"> <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Label text="Hello, world!"/> </mx:Application> </syntaxhighlight> === NSIS === This creates a message box saying "Hello, world!". <syntaxhighlight lang="nsis"> OutFile "HelloWorld.exe" Name "Hello, world!" Caption "Hello, world!" Section Hello, world! SectionEnd Function .onInit MessageBox MB_OK "Hello, world!" Quit FunctionEnd </syntaxhighlight> === OCaml === '' Uses lablgtk '' <syntaxhighlight lang="ocaml"> let () = let window = GWindow.window ~title:"Hello" ~border_width:10 () in window#connect#destroy ~callback:GMain.Main.quit; let button = GButton.button ~label:"Hello World" ~packing:window#add () in button#connect#clicked ~callback:window#destroy; window#show (); GMain.Main.main () </syntaxhighlight> === OPL === (On Psion Series 3 and later compatible PDAs.) PROC guihello: ALERT("Hello, world!","","Exit") ENDP or PROC hello: dINIT "Window Title" dTEXT "","Hello, world!" dBUTTONS "OK",13 DIALOG ENDP === Pure Data === Patch as ASCII-art: [Hello, world!( | [print] Patch as sourcecode: #N canvas 0 0 300 300 10; #X msg 100 150 Hello, world!; #X obj 100 200 print; #X connect 0 0 1 0; === Python === ==== Tkinter ==== <syntaxhighlight lang="python"> from Tkinter import Tk, Label root = Tk() Label(root, text="Hello, world!").pack() root.mainloop() </syntaxhighlight> Using PyQt: <syntaxhighlight lang="python"> import sys from PyQt4.QtCore import * from PyQt4.QtGui import * app = QApplication(sys.argv) label = QLabel("Hello, World!") label.show() sys.exit(app.exec_()) </syntaxhighlight> ==== PyGTK ==== <syntaxhighlight lang="python"> from gtk import * label = Label("Hello, world!") label.show() window = Window() window.add(label) window.show() main() </syntaxhighlight> ==== Pygame ==== <syntaxhighlight lang="python"> import pygame import sys pygame.init() screen = pygame.display.set_mode((512, 256), 0, 32) f = pygame.font.SysFont(None, 32) t = f.render("Hello, world!", True, (255, 255, 255)) tR = t.get_rect() screen.blit(t, tR) while True: for event in pygame.event.get(): if event.type == pygame.QUIT: pygame.quit() sys.exit() pygame.display.update() </syntaxhighlight> ==== Kivy ==== Kivy multi-platform framework <syntaxhighlight lang="python"> import kivy from kivy.app import App from kivy.uix.label import Label class MyApp(App): def build(self): return Label(text='Hello world') MyApp().run() </syntaxhighlight> === Qt toolkit (in C++) === <syntaxhighlight lang="cpp"> #include <QApplication> #include <QMessageBox> int main(int argc, char * argv[]) { QApplication app(argc, argv); QMessageBox::information(0, "Qt4", "Hello World!"); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <qapplication.h> #include <qpushbutton.h> #include <qwidget.h> #include <iostream> class HelloWorld : public QWidget { Q_OBJECT public: HelloWorld(); virtual ~HelloWorld(); public slots: void handleButtonClicked(); QPushButton *mPushButton; }; HelloWorld::HelloWorld() : QWidget(), mPushButton(new QPushButton("Hello, world!", this)) { connect(mPushButton, SIGNAL(clicked()), this, SLOT(handleButtonClicked())); } HelloWorld::~HelloWorld() {} void HelloWorld::handleButtonClicked() { std::cout << "Hello, world!" << std::endl; } int main(int argc, char *argv[]) { QApplication app(argc, argv); HelloWorld helloWorld; app.setMainWidget(&helloWorld); helloWorld.show(); return app.exec(); } </syntaxhighlight> or <syntaxhighlight lang="cpp"> #include <QApplication> #include <QPushButton> #include <QVBoxLayout> int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; QVBoxLayout *layout = new QVBoxLayout(window); QPushButton *hello = new QPushButton("Hello, world!", window); //connect the button to quitting hello->connect(hello, SIGNAL(clicked()), &app, SLOT(quit())); layout->addWidget(hello); layout->setMargin(10); layout->setSpacing(10); window->show(); return app.exec(); } </syntaxhighlight> === Rebol === <syntaxhighlight lang="smalltalk"> view layout [text "Hello, world!"] </syntaxhighlight> === Red === <syntaxhighlight lang="smalltalk"> view [text "Hello, world!"] </syntaxhighlight> === Robotic (MegaZeux) === * "Hello, world!" end === RPL === (On Hewlett-Packard HP-48G and HP-49G series calculators.) <!-- HP-48: G qualifier necessary since MSGBOX function does not exist on the earlier S/SX models, but is included in the G/GX/G+/GII models --> << "Hello, world!" MSGBOX >> === RTML === '''Hello''' () TEXT "Hello, world!" === Ruby with WxWidgets === <syntaxhighlight lang="ruby"> require 'wxruby' class HelloWorldApp < Wx::App def on_init ourFrame = Wx::Frame.new(nil, -1, "Hello, world!").show ourDialogBox = Wx::MessageDialog.new(ourFrame, "Hello, world!", "Information:", \ Wx::OK|Wx::ICON_INFORMATION).show_modal end end HelloWorldApp.new.main_loop </syntaxhighlight> === Ruby with GTK+ === <syntaxhighlight lang="ruby"> require 'gtk2' Gtk.init window = Gtk::Window.new window.signal_connect("delete_event") { Gtk.main_quit; false } button = Gtk::Button.new("Hello, world!") button.signal_connect("clicked") { Gtk.main_quit; false } window.add(button) window.show_all Gtk.main </syntaxhighlight> === Ruby with Tk === <syntaxhighlight lang="ruby"> require 'tk' window = TkRoot.new { title 'Hello, world!' } button = TkButton.new(window) { text 'Hello, world!' command proc { exit } pack } Tk.mainloop </syntaxhighlight> === Smalltalk === Evaluate in a workspace: <syntaxhighlight lang="smalltalk">Dialog confirm: 'Hello, world!'</syntaxhighlight> Using the Morphic GUI toolkit of Squeak Smalltalk: <syntaxhighlight lang="smalltalk"> ('Hello, world!' asMorph openInWindow) submorphs second color: Color black </syntaxhighlight> Using wxSqueak: <syntaxhighlight lang="smalltalk">Wx messageBox: 'Hello, world!'</syntaxhighlight> ===SWT with Java=== <syntaxhighlight lang="java"> import org.eclipse.swt.SWT; import org.eclipse.swt.layout.RowLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Label; public class SWTHello { public static void main (String [] args) { Display display = new Display (); final Shell shell = new Shell(display); RowLayout layout = new RowLayout(); layout.justify = true; layout.pack = true; shell.setLayout(layout); shell.setText("Hello, world!"); Label label = new Label(shell, SWT.CENTER); label.setText("Hello, world!"); shell.pack(); shell.open (); while (!shell.isDisposed ()) { if (!display.readAndDispatch ()) display.sleep (); } display.dispose (); } } </syntaxhighlight> === Tk === label .l -text "Hello, world!" pack .l and the same in one line pack [label .l -text "Hello, world!"] === Tcl with Tk === <syntaxhighlight lang="tcl"> package require Tk tk_messageBox -message "Hello, world!" </syntaxhighlight> or <syntaxhighlight lang="tcl"> package require Tk pack [button .b -text "Hello, world!" -command exit] </syntaxhighlight> === Ubercode === Ubercode 1 class Hello public function main() code call Msgbox("Hello", "Hello, world!") end function end class === Uniface === message "Hello, world!" === Virtools === <syntaxhighlight lang="cpp"> void main () { String s = "Hello World."; bc.OutputToConsole (s); } </syntaxhighlight> === VBA === <syntaxhighlight lang="VBscript"> Sub Main() MsgBox "Hello, world!" End Sub </syntaxhighlight> === Visual Basic .NET 2003/2005 === <syntaxhighlight lang="vbnet"> Private Sub Form_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load MessageBox.Show("Hello, world!") Me.Close() End Sub </syntaxhighlight> Note that the previous example will only work when the code is entered as part of a Form Load Event, such as the one created by default when generating a new project in the Visual Studio programming environment. Equivalently, the following code is roughly equivalent to the traditional Visual Basic 6 code by disabling the Application Framework and setting 'Sub Main' as the entry point for the application: <syntaxhighlight lang="vbnet"> Public Module MyApplication Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> or using a class; <syntaxhighlight lang="vbnet"> Public Class MyApplication Shared Sub Main() MessageBox.Show("Hello, world!") End Sub End Class </syntaxhighlight> === Visual Prolog (note box) === <syntaxhighlight lang="visualprolog"> #include @"pfc\vpi\vpi.ph" goal vpiCommonDialogs::note("Hello, world!"). </syntaxhighlight> === Windows API (in C) === This uses the Windows API to create a full window containing the text. <syntaxhighlight lang="c" enclose="div"> /* Name: Win32 example Copyright: GLP Author: Ryon S. Hunter Date: 20/03/07 17:11 Description: This is an example of what a Win32 hello world looks like. */ #include <windows.h> #define APPTITLE "Win32 - Hello world" BOOL InitInstance(HINSTANCE,int); ATOM MyRegisterClass(HINSTANCE); LRESULT CALLBACK WinProc(HWND,UINT,WPARAM,LPARAM); LRESULT CALLBACK WinProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { PAINTSTRUCT ps; COLORREF c = RGB( 0, 0, 0 ); HDC hdc; RECT rt; switch(message) { case WM_DESTROY: // Exit the window? Ok PostQuitMessage(0); break; case WM_PAINT: GetClientRect( hWnd, &rt ); hdc = BeginPaint( hWnd, &ps ); DrawText( hdc, "Hello world!", sizeof( "Hello world!" ), &rt, DT_CENTER ); EndPaint( hWnd, &ps ); break; } return DefWindowProc(hWnd,message,wParam,lParam); } ATOM MyRegisterClass(HINSTANCE hInstance) { WNDCLASSEX wc; wc.cbSize = sizeof( WNDCLASSEX ); wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = (WNDPROC)WinProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = 0; wc.hIcon = NULL; wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH); wc.lpszMenuName = NULL; wc.lpszClassName = APPTITLE; wc.hIconSm = NULL; return RegisterClassEx(&wc); } BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) { HWND hWnd; hWnd = CreateWindow( // Create a win32 window APPTITLE, APPTITLE, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, 500, 400, NULL, NULL, hInstance, NULL); if(!hWnd) return FALSE; ShowWindow( hWnd, nCmdShow ); UpdateWindow( hWnd ); return TRUE; } int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow ) { MSG msg; MyRegisterClass(hInstance); if(!InitInstance( hInstance,nCmdShow) ) return 1; while( GetMessage( &msg, NULL, 0, 0 ) ) { TranslateMessage( &msg ); DispatchMessage( &msg ); } return msg.wParam; } </syntaxhighlight> === Xojo === In the Open event handler of the default window: <syntaxhighlight lang="vbnet"> MsgBox("Hello world!") </syntaxhighlight> === XUL === <syntaxhighlight lang="xml"> <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/" type="text/css"?> <window id="yourwindow" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <label value="Hello, World!"/> </window> </syntaxhighlight> === Maple === <syntaxhighlight lang="mupad"> with(Maplets): with(Maplets[Elements]): maplet := Maplet( [["Hello world!"]] ): Display( maplet ); </syntaxhighlight> == Document formats == === ASCII === The following sequence of characters, expressed in hexadecimal notation (with carriage return and newline characters at end of sequence): 48 65 6C 6C 6F 2C 20 77 6F 72 6C 64 21 0D 0A The following sequence of characters, expressed as binary numbers (with cr/nl as above, and the same ordering of bytes): 00-07: 01001000 01100101 01101100 01101100 01101111 00101100 00100000 01110111 08-0E: 01101111 01110010 01101100 01100100 00100001 00001101 00001010 == Page description languages == === XHTML 1.1 === (Using UTF-8 character set.) <syntaxhighlight lang="html"> <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> === HTML === ====Simple==== <syntaxhighlight lang="html"> <html> <body> Hello, world! </body> </html> </syntaxhighlight> ====Informal==== The &lt;html&gt; and &lt;body&gt; tags are not necessary for informal testing. Simply write it as text without tags. <syntaxhighlight lang="html"> Hello, world! </syntaxhighlight> ====HTML 4.01 Strict (full)==== <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Hello, world!</title> </head> <body> <p>Hello, world!</p> </body> </html> </syntaxhighlight> The first paragraph of the W3C Recommendation on [http://www.w3.org/TR/html4/struct/global.html The global structure of an HTML document] also features this example. ====HTML 4.01 Strict (smallest)==== This is the smallest legal version, leaving out all optional tags <syntaxhighlight lang="html"> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Strict//EN"> <title>Hello, world!</title> <p>Hello, world! </syntaxhighlight> ==== HTML 5 ==== <syntaxhighlight lang="html"> <!DOCTYPE html> <html> <head> <title>Hello, World!</title> </head> <body> <h1>Hello, world!</h1> </body> </html> </syntaxhighlight> === Markdown === <pre> Hello, World! </pre> === MediaWiki/Wikitext === <pre> Hello, World! </pre> === PDF === <!-- taken from Portable Document Format Reference Manual, Version 1.3, Adobe Systems Incorporated, March 11, 1999 --> %PDF-1.0 1 0 obj << /Type /Catalog /Pages 3 0 R /Outlines 2 0 R >> endobj 2 0 obj << /Type /Outlines /Count 0 >> endobj 3 0 obj << /Type /Pages /Count 1 /Kids [4 0 R] >> endobj 4 0 obj << /Type /Page /Parent 3 0 R /Resources << /Font << /F1 7 0 R >>/ProcSet 6 0 R >> /MediaBox [0 0 612 792] /Contents 5 0 R >> endobj 5 0 obj << /Length 44 >> stream BT /F1 24 TF 100 100 Td (Hello, world!) Tj ET endstream endobj 6 0 obj [/PDF /Text] endobj 7 0 obj << /Type /Font /Subtype /Type1 /Name /F1 /BaseFont /Helvetica /Encoding /MacRomanEncoding >> endobj xref 0 8 0000000000 65535 f 0000000009 00000 n 0000000074 00000 n 0000000120 00000 n 0000000179 00000 n 0000000322 00000 n 0000000415 00000 n 0000000445 00000 n trailer << /Size 8 /Root 1 0 R >> startxref 553 %%EOF This is a valid PDF only if the text file has CRLF line endings. === PostScript === <syntaxhighlight lang="postscript"> % Displays on console. (Hello, world!) = </syntaxhighlight> <syntaxhighlight lang="postscript"> %! % Displays as page output. /Courier findfont 24 scalefont setfont 100 100 moveto (Hello, world!) show showpage </syntaxhighlight> === RTF === <syntaxhighlight lang="tex"> {\rtf1\ansi\deff0 {\fonttbl {\f0 Courier New;}} \f0\fs20 Hello, world! } </syntaxhighlight> === SVG === <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8" standalone="no"?> <svg xmlns="http://www.w3.org/2000/svg" width="200" height="100"> <text x="50" y="50">Hello, world!</text> </svg> </syntaxhighlight> === TeX === <syntaxhighlight lang="tex"> Hello, world! \bye </syntaxhighlight> === LaTeX 2&epsilon; === <syntaxhighlight lang="latex"> \documentclass{article} \begin{document} Hello, world! \end{document} </syntaxhighlight> === ConTeXt === <syntaxhighlight lang="tex"> \starttext Hello, world! \stoptext </syntaxhighlight> == Media-based scripting languages == === AviSynth === <syntaxhighlight lang="text"> BlankClip() Subtitle("Hello, world!") </syntaxhighlight> (Creates a video with default properties) === Lingo (Macromedia Director scripting language) === on exitFrame me put "Hello, world!" end Outputs the string to the message window if placed in a single movie frame. Alternatively, to display an alert box stating the message you could use on exitFrame me alert "Hello, world!" end === POV-Ray === <syntaxhighlight lang="pov"> #include "colors.inc" camera { location <3, 1, -10> look_at <3,0,0> } light_source { <500,500,-1000> White } text { ttf "timrom.ttf" "Hello, world!" 1, 0 pigment { White } } </syntaxhighlight> == Esoteric programming languages == This page shows the Hello, world! program in esoteric programming languages — that is, working programming languages that were designed as experiments or jokes and were not intended for serious use. === 0815 === <pre> <:48:x<:65:=<:6C:$=$=$$~<:03:+$<:2c:~$~<:c:x-$<:77: ~$~<:8:x-$~<:03:+$~<:06:x-$x<:0e:x-$=x<:43:x-$ </pre> === Alef++ === <syntaxhighlight lang="java"> use java.lang.*; main { System->out->println[ 'Hello, world!' ]; } </syntaxhighlight> === [http://esolangs.org/wiki/Arrow Arrow] === ■→→■↓■←■←■↓■→→■ /* makes H */ →→■↓■↑↑↑■ /* makes I */ === Befunge === <syntaxhighlight lang="befunge"> "!dlrow olleH">v : , ^_@ </syntaxhighlight> <syntaxhighlight lang="befunge"> v v"Hello, world!!"< > ^ > >:#v_@ ^ .< </syntaxhighlight> <syntaxhighlight lang="befunge"> 0"!dlrow olleH">,:#<_@ </syntaxhighlight> === Binary lambda calculus === As documented at http://www.ioccc.org/2012/tromp/hint.html (any of the 16 ASCII characters from ' ' to '/' can be used at the start) !Hello, world === BlooP, FlooP === From Eric Raymond's interpreter package (changed to use upper case as in the book). DEFINE PROCEDURE <nowiki>''HELLO-WORLD''</nowiki>[N]: BLOCK 0: BEGIN PRINT['Hello, world!']; BLOCK 0: END. === [[w:en:Brainfuck|brainfuck]] === <syntaxhighlight lang="bf">+++++ +++++ initialize counter (cell #0) to 10 [ use loop to set the next four cells to 70/100/30/10 > +++++ ++ add 7 to cell #1 > +++++ +++++ add 10 to cell #2 > +++ add 3 to cell #3 > + add 1 to cell #4 <<<< - decrement counter (cell #0) ] > ++ . print 'H' > + . print 'e' +++++ ++ . print 'l' . print 'l' +++ . print 'o' > ++ . print ' ' << +++++ +++++ +++++ . print 'W' > . print 'o' +++ . print 'r' ----- - . print 'l' ----- --- . print 'd' > + . print '!' > . print '\n' </syntaxhighlight> === Chef === [http://www.dangermouse.net/esoteric/chef_hello.html Hello, world! Souffle] by David Morgan-Mar. Hello World Souffle. This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person. Ingredients. 72 g haricot beans 101 eggs 108 g lard 111 cups oil 32 zucchinis 119 ml water 114 g red salmon 100 g dijon mustard 33 potatoes Method. Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Serves 1. Later Mike Worth wrote [http://www.mike-worth.com/2013/03/31/baking-a-hello-world-cake tastier and actually functional recipe]. Hello World Cake with Chocolate sauce. This prints hello world, while being tastier than Hello World Souffle. The main chef makes a " world!" cake, which he puts in the baking dish. When he gets the sous chef to make the "Hello" chocolate sauce, it gets put into the baking dish and then the whole thing is printed when he refrigerates the sauce. When actually cooking, I'm interpreting the chocolate sauce baking dish to be separate from the cake one and Liquify to mean either melt or blend depending on context. Ingredients. 33 g chocolate chips 100 g butter 54 ml double cream 2 pinches baking powder 114 g sugar 111 ml beaten eggs 119 g flour 32 g cocoa powder 0 g cake mixture Cooking time: 25 minutes. Pre-heat oven to 180 degrees Celsius. Method. Put chocolate chips into the mixing bowl. Put butter into the mixing bowl. Put sugar into the mixing bowl. Put beaten eggs into the mixing bowl. Put flour into the mixing bowl. Put baking powder into the mixing bowl. Put cocoa powder into the mixing bowl. Stir the mixing bowl for 1 minute. Combine double cream into the mixing bowl. Stir the mixing bowl for 4 minutes. Liquify the contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. bake the cake mixture. Wait until baked. Serve with chocolate sauce. chocolate sauce. Ingredients. 111 g sugar 108 ml hot water 108 ml heated double cream 101 g dark chocolate 72 g milk chocolate Method. Clean the mixing bowl. Put sugar into the mixing bowl. Put hot water into the mixing bowl. Put heated double cream into the mixing bowl. dissolve the sugar. agitate the sugar until dissolved. Liquify the dark chocolate. Put dark chocolate into the mixing bowl. Liquify the milk chocolate. Put milk chocolate into the mixing bowl. Liquify contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish. Refrigerate for 1 hour. === False === "Hello, World! " The newline before the terminating quote mark is necessary. === HQ9+ === H === INTERCAL programming language === <syntaxhighlight lang="fortran"> PLEASE DO ,1 <- #13 DO ,1 SUB #1 <- #238 DO ,1 SUB #2 <- #112 DO ,1 SUB #3 <- #112 DO ,1 SUB #4 <- #0 DO ,1 SUB #5 <- #64 DO ,1 SUB #6 <- #238 DO ,1 SUB #7 <- #26 DO ,1 SUB #8 <- #248 DO ,1 SUB #9 <- #168 DO ,1 SUB #10 <- #24 DO ,1 SUB #11 <- #16 DO ,1 SUB #12 <- #158 DO ,1 SUB #13 <- #52 PLEASE READ OUT ,1 PLEASE GIVE UP </syntaxhighlight> === LOLCODE === <syntaxhighlight lang="text"> HAI; CAN HAS STDIO?; VISIBLE "Hello, World!"; KTHXBYE; </syntaxhighlight> ===LOLGraphics=== HAI 3.4 0 100 IM IN UR CODE EXECUTIN UR KOMANDZ PLZ PRINT TEXT HELLO WORLD! IM OUTTA UR CODE === Malbolge programming language === (=<`:9876Z4321UT.-Q+*)M'&%$H"!~}|Bzy?=|{z<nowiki>]</nowiki>KwZY44Eq0/{mlk**hKs_dG5<nowiki>[</nowiki>m_BA{?-Y;;Vb'rR5431M}/.zHGwEDCBA@98\6543W10/.R,+O< hello === P programming language === "Hello, world!\n" === Perl === Not really an esoteric language, but this code uses [[w:Obfuscated_code|obfuscation]]: <syntaxhighlight lang="perl"> qq chop lc and print chr ord uc q chop uc and print chr ord q ne sin and print chr ord qw q le q and print chr ord q else and print chr ord q pop and print chr oct oct ord uc qw q bind q and print chr ord q q eq and print chr ord qw q warn q and print chr ord q pop and print chr ord q qr q and print chr ord q else and print chr ord qw q do q and print chr hex length q q semctl setpgrp chop q </syntaxhighlight> === [[w:en:Esoteric_programming_language#Piet|Piet]] === Piet programming language uses only colors. [[File:Hello world piet.png|thumb|none|203px|Hello world in piet (see from 41:40 minute on "The Art of Code" on YouTube)]] === Rockstar === [[w:en:Screaming in music|Shout]] "Hello, world!" === Shakespeare === <syntaxhighlight lang="moin"> The Infamous Hello World Program. Romeo, a young man with a remarkable patience. Juliet, a likewise young woman of remarkable grace. Ophelia, a remarkable woman much in dispute with Hamlet. Hamlet, the flatterer of Andersen Insulting A/S. Act I: Hamlet's insults and flattery. Scene I: The insulting of Romeo. [Enter Hamlet and Romeo] Hamlet: You lying stupid fatherless big smelly half-witted coward! You are as stupid as the difference between a handsome rich brave hero and thyself! Speak your mind! You are as brave as the sum of your fat little stuffed misused dusty old rotten codpiece and a beautiful fair warm peaceful sunny summer's day. You are as healthy as the difference between the sum of the sweetest reddest rose and my father and yourself! Speak your mind! You are as cowardly as the sum of yourself and the difference between a big mighty proud kingdom and a horse. Speak your mind. Speak your mind! [Exit Romeo] Scene II: The praising of Juliet. [Enter Juliet] Hamlet: Thou art as sweet as the sum of the sum of Romeo and his horse and his black cat! Speak thy mind! [Exit Juliet] Scene III: The praising of Ophelia. [Enter Ophelia] Hamlet: Thou art as lovely as the product of a large rural town and my amazing bottomless embroidered purse. Speak thy mind! Thou art as loving as the product of the bluest clearest sweetest sky and the sum of a squirrel and a white horse. Thou art as beautiful as the difference between Juliet and thyself. Speak thy mind! [Exeunt Ophelia and Hamlet] Act II: Behind Hamlet's back. Scene I: Romeo and Juliet's conversation. [Enter Romeo and Juliet] Romeo: Speak your mind. You are as worried as the sum of yourself and the difference between my small smooth hamster and my nose. Speak your mind! Juliet: Speak YOUR mind! You are as bad as Hamlet! You are as small as the difference between the square of the difference between my little pony and your big hairy hound and the cube of your sorry little codpiece. Speak your mind! [Exit Romeo] Scene II: Juliet and Ophelia's conversation. [Enter Ophelia] Juliet: Thou art as good as the quotient between Romeo and the sum of a small furry animal and a leech. Speak your mind! Ophelia: Thou art as disgusting as the quotient between Romeo and twice the difference between a mistletoe and an oozing infected blister! Speak your mind! [Exeunt] </syntaxhighlight> === SNUSP === /e+++++++++++++++++++++++++++++.\ ./\/\/\ /+++\!>.+++o.l.+++++++l/ #/?\ $H!\++++++\ + \comma.------------ .<w++++++++.\ /?\<!\-/ /++++++/ +/\ /.--------o/ \-/!.++++++++++/?\n /=\++++++\ +\\!=++++++\ \r+++.l------.d--------.>+.!\-/ \!\/\/\/\/ \++++++++++/ Modular SNUSP: /@@@@++++# #+++@@\ #-----@@@\n $@\H.@/e.+++++++l.l.+++o.>>++++.< .<@/w.@\o.+++r.++@\l.@\d.>+.@/.# \@@@@=>++++>+++++<<@+++++# #---@@/!=========/!==/ === Spoon (programming language) === 1111110010001011111111111101100000110100010100101111111111001000101111111111011000001101 0100101011111110010100010101110010100101111001000101111111111101100000110100010100111110 0100010000000000000011000001101000101001101101101101111100100010111110110000011010001010 0100100010101110010100000000000000000000010100000000000000000000000000010100100101001010 === Super NAND Time!! === 12 (32 35 37 38 42) 13 (35 37 38 39 43) 14 ((31 36 39 42 43)) 15 (31 33 34 35 38 40 43) 16 (37 39) 17 ((31 43)) 18 ((36 42 43)) 20 ((42(43))) 21 44 31 ((31)(44)) 32 (32(31)) 33 (33(32)) 34 (34(33)) 35 (35(34)) 36 (36(35)) 37 (37(36)) 38 (38(37)) 39 (39(38)) 40 (40(39)) 41 (41(40)) 42 (42(41)) 43 (43(42)) 44 1 ===Taxi programming language=== "Hello, World!" is waiting at the Writer's Depot. Go to Writer's Depot: west 1st left, 2nd right, 1st left, 2nd left. Pickup a passenger going to the Post Office. Go to the Post Office: north 1st right, 2nd right, 1st left. Go to the Taxi Garage: north 1st right, 1st left, 1st right. === T programming language === %begin @jump $main %main.0 @echo %msg %main.1 @end %main.count 2 %msg Hello, world! === This=That === x=Hello,world! x=print === Unlambda programming language === `r```````````.H.e.l.l.o. .w.o.r.l.di === Var'aq programming language === Note: actually prints "What do you want, universe?" in Klingon. ~ nuqneH { ~ 'u' ~ nuqneH disp disp } name nuqneH === Whitespace === Note that whitespace has been highlighted (<span style="background:#ffcccc">Space</span>, <span style="background:#ccffcc">Tab</span>) <!--NOTE: Please be careful when copying/editing the code below, some user agents may automatically insert line breaks for text wrapping, which will cause the code to run incorrectly.--> <!--There are BUGS in the code, beware!--> <span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;</span><span style="background:#ccffcc">&#9;&#9;&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> <span style="background:#ccffcc">&#9;</span> <span style="background:#ffcccc">&#32;&#32;&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> <span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;&#32;&#32;</span> empty-line <span style="background:#ffcccc">&#32;&#32;</span><span style="background:#ccffcc">&#9;</span> empty-line <span style="background:#ffcccc">&#32;&#32;&#32;</span><span style="background:#ccffcc">&#9;</span><span style="background:#ffcccc">&#32;</span> empty-line empty-line/EOF === XS programming language === <syntaxhighlight lang="xml"> <print>Hello, world!</print> </syntaxhighlight> === Ya programming language === <syntaxhighlight lang="c++"> @HelloWorld.Ya; using <stdio.h>; $int($char[][] args) main printf("Hello, %s!\n", args.Length > 1 ? args[1] : "World"); return 0; </syntaxhighlight> === DUNNBOL1 === A code language that draws in binary on a braille plotter. <pre style="font-size: 90%;"> BGN GRPLOT BIN DRAWPLOT 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0011100111001111111001110000000011100000000001111100000000001000001000011111000001111100000100000000011111110000 0001000010000100001000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001000001000100000100010000010000100000000010000001000 0001111110000111100000100000000001000000000010000010000000001001001000100000100011111110000100000000010000001000 0001000010000100000000100000000001000000000010000010000000001011101000100000100010000001000100000000010000001000 0001000010000100001000100000000001000000000010000010000000001100011000100000100010000000100100000000010000001000 0011100111001111111001111111100011111111000001111100000000001000001000011111000010000000100111111100011111110000 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 ENDDRAW END </pre> === SM === The OO language looks like C. <syntaxhighlight lang="php"> use System.Windows.Forms; class HelloWorld extends System.Windows.Forms { protected: String hw; construct HelloWorld() { this.hw = 'Hello, world!'; } public void function show() { MessageBox.show(this.hw, ''); } } </syntaxhighlight> === Skript+ === Copy this and paste in ChatGPT, on a new chat: <pre> Output: Hello, world! </pre> A longer version, which still prints "Hello, world!": <pre> CreateBuf: $Hello$ $Hello$: { [H] [e] [l] [l] [o] [,] [32] @ The ASCII value for space [w] [o] [r] [l] [d] [!] } OpenBuf: $Hello$ JoinAllChars: $Hello$ => $Hello2$ Output: $Hello2$ CloseBuf: $Hello$ </pre> Note: The first method is tested and it's working. I don't know about the second one! {{BookCat}} lrttziuwgalsf6nyvry6k5jhukj9jk9 Wikibooks:Reading room/Technical Assistance 4 112409 4635380 4631339 2026-05-12T08:10:38Z ArchiverBot 1227662 Bot: Archiving 1 thread (older than 50 days) to [[Wikibooks:Reading room/Archives/2026/March]] 4635380 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{Shortcut|WB:TECH}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Archives/%(year)d/%(monthname)s |algo = old(50d) |counter = 1 |minthreadstoarchive = 1 |key = bf05448a5bbfa2d2a4efbdad870e68a4 |minthreadsleft = 1 }} Welcome to the '''Technical Assistance reading room'''. Get assistance on questions related to [[w:MediaWiki|MediaWiki]] markup, CSS, JavaScript, and such as they relate to Wikibooks. '''This is not a general-purpose technical support room'''. To submit a ''bug notice or feature request'' for the MediaWiki software, visit [[phabricator:|Phabricator]]. To get more information about the ''MediaWiki software'', or to download your own copy, visit [[mw:|MediaWiki]] There are also two IRC channels for technical help: {{Channel|mediawiki}} for issues about the software, and {{channel|mediawiki-core}} for [[m:WMF|WMF]] server or configuration issues. {{clear}} [[Category:Reading room]] == Action Required: Update templates/modules for electoral maps (Migrating from P1846 to P14226) == Hello everyone, This is a notice regarding an ongoing data migration on Wikidata that may affect your election-related templates and Lua modules (such as <code>Module:Itemgroup/list</code>). '''The Change:'''<br /> Currently, many templates pull electoral maps from Wikidata using the property [[:d:Property:P1846|P1846]], combined with the qualifier [[:d:Property:P180|P180]]: [[:d:Q19571328|Q19571328]]. We are migrating this data (across roughly 4,000 items) to a newly created, dedicated property: '''[[:d:Property:P14226|P14226]]'''. '''What You Need To Do:'''<br /> To ensure your templates and infoboxes do not break or lose their maps, please update your local code to fetch data from [[:d:Property:P14226|P14226]] instead of the old [[:d:Property:P1846|P1846]] + [[:d:Property:P180|P180]] structure. A [[m:Wikidata/Property Migration: P1846 to P14226/List|list of pages]] was generated using Wikimedia Global Search. '''Deadline:'''<br /> We are temporarily retaining the old data on [[:d:Property:P1846|P1846]] to allow for a smooth transition. However, to complete the data cleanup on Wikidata, the old [[:d:Property:P1846|P1846]] statements will be removed after '''May 1, 2026'''. Please update your modules and templates before this date to prevent any disruption to your wiki's election articles. Let us know if you have any questions or need assistance with the query logic. Thank you for your help! [[User:ZI Jony|ZI Jony]] using [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 17:09, 3 April 2026 (UTC) <!-- Message sent by User:ZI Jony@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Technical_Village_Pumps_distribution_list&oldid=29905755 --> == plainlist and unbulleted list == Hi,<br> The plainlist and unbulleted list templates don't work in a sandbox. [[User:PeterEasthope/sandbox|PeterEasthope/sandbox]] for example. What is the simplest solution?<br> Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 17:04, 18 April 2026 (UTC) : The unbulleted list relies on a module, and the plainlist relies on a TemplateStyles CSS page. What were you trying to test on your sandbox? [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:47, 18 April 2026 (UTC) ::Aiming to make a list without bullets. Whether it works by a module or a template or some other device is probably not a significant concern. Certainly a list is needed rather than empty space. Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 21:29, 18 April 2026 (UTC) ::: The plain list works; the thing is, I believe the span class tags might be conflicting with that plain list, possibly... [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:11, 18 April 2026 (UTC) ::::Yes, thanks. Removed some span tags to test. Lines without span tags are displayed. If you see a way to have a background color for a string within a list, please let me know. Otherwise I think of making the list with line breaks rather than a template.<br> ::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 15:35, 19 April 2026 (UTC) == Is this CSS code necessary? == Is this line of CSS code on [[MediaWiki:Common.css]] necessary? What this does is that it removes the comment box when looking at the edit/book review interface. Is this currently needed? <syntaxhighlight lang="css"> /* Hack to remove comment box for FlaggedRevs, since we seem unable to remove it from configuration. */ #mw-fr-commentbox { display:none; } label[for="mw-fr-commentbox"]{display: none;} </syntaxhighlight> [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 21:18, 19 April 2026 (UTC) lbk8nboqi5s74ffg3bxtmy6x1mh14p8 Chess Opening Theory/1. e4/1...e5/2. Nf3/2...f6 0 129747 4635326 4613571 2026-05-11T18:26:50Z ~2026-28480-97 3584051 Changed Be7 to Be2, wasn't previously recorded correctly 4635326 wikitext text/x-wiki {{Chess Opening Theory/Position |Damiano defence |moves=1. e4 e5 2. Nf3 f6 |eco=[[Chess/ECOC|C40]] |parent=[[../|King's Knight Opening]] |responses=[[/3. Nxe5|3. Nxe5]] }} == 2...f6? · Damiano defence == Seeing the threat of Nf3, Black imagines they can protect their e pawn with 2...f6?. Unfortunately, f6's protection is only that: imaginary. [[/3. Nxe5|'''3. Nxe5''']] snaps off the pawn and opens up White's queen. Then if 3...fxe5? the typical refutation is 4. Qh5+! g6 5. Qxe5+ forking the king and Black's rook on h8. Black can set a trap with 3...Qe7, hoping that White only half-remembers the refutation and proceeds 4. Qh5+? anyway, but this time 4...g6 and White has nowhere to go. (5. Nxg6 Qxe4+ 6. Be2 Qxg6 and Black is up a knight for a pawn.) Instead White should simply retreat the knight and give back the pawn, and be happy with their development lead. 4. Nf3 Qxe4 5. Be2{{Chess/not|++}} === History === {{Chess/board|moves=1. e4 e5 2. Nf3 f6 3. Nxe5 Qe7 4. Nf3 d5 5. d3 dxe4 6. dxe4 Qxe4+ 7. Be2 Bf5 8. Nd4 Nc6 9. Nxf5 Qxf5 10. O-O Bd6 11. Bg4 Qb5 12. Nc3 Qc4|caption=13. Be2? in this position gave up Fischer's winning advantage.<ref name="Fischer" />|float=right|frame=1}} The ''Damiano'' whose name is saddled with this opening blunder is 16th century chess theoretician [[wikipedia:Pedro Damiano|Pedro Damiano]], who didn't endorse this opening but refuted it and recommended the more reputable [[../2...Nc6|2...Nc6]] instead. More flattering would be to call the reply 3. Nxe5! ''Damiano's gambit'' instead. Damiano is not the only chess legend to be tarred by association with this opening however. [[Wikipedia:Bobby Fischer|Bobby Fischer]] only drew to this opening as White in a simul in 1964. His opponent Robert McGregor played the 3...Qe7 line, which Fischer navigated correctly but he misplayed his advantage in the middle game and had to settle for a draw.<ref name="Fischer">{{Cite web |title=Bobby Fischer and Damiano's Defense |url=https://chessstuff.blogspot.com/2005/04/bobby-fischer-and-damianos-defense.html |last=Monokrousso |first=Dennis |date=2005-04-05 |access-date=2025-05-16 |website=Dennis M's Chess Site}}</ref> The Damiano defence is an instructive illustration of the weakness of the e8-h5 and e1-h4 diagonals. As [[wikipedia:Ben Finegold|Ben Finegold]] instructs us, "Never play f6/f3." It is hyperbole to say ''never'', but good practice to always think twice, three times before one does―and especially if one's king is still in the centre. == Theory table == {{ChessTable}} {{Chess/theory table |name1=Damiano defence |line1=3. Nxe5 fxe5? 4. Qh5+ g6 5. Qxe5+ Qe7 6. Qxh8 Qxe4+ 7. Kd1 Ne7 |eval1=+- |line2=3. ... ... 4. ... Ke7 5. Qxe5+ Kf7 6. Bc4+ d5 7. Bxd5+ Kg6 |eval2=+- |line3=3. ... Qe7 4. Nf3 Qxe4+ 5. Be2 d5 6. O-O Ne7 7. Nc3 Qe6 |eval3=± }} {{ChessMid}} == References == {{reflist}} {{wikipedia|Damiano Defence}} ==== External links ==== * Youtube: **{{cite book |author=Copeland,Sam|date=2019|title=Damiano's Defense Chess Opening Trap: Sac A Knight On Move Three!|url=https://www.youtube.com/watch?v=5umZsb0ndzw&t=10s}} **{{cite book |author=Perunovic, Miodrag|date=2019|title=Chess For Beginners: Killing Damiano's Defense|url=https://www.youtube.com/watch?v=CvmmsxISkCo}} **{{cite book |author=Rozman, Levy|date=2022|title=WORST OPENING In Chess...|url=https://www.youtube.com/shorts/IHkjxLo6jfM}} **{{cite book |author=Volclus|date=2022|title=WIN IN 3 - The Damiano Trap|url=https://www.youtube.com/watch?v=qGsNNhsWUdo}} [[fi:Shakki/rnbqkbnr;pppp1ppp;8;4p3;2B1P3;8;PPPP1PPP;RNBQK1NR b KQkq]] {{Chess Opening Theory/Footer}} 4ustrluns3s3n8z805amgeun0n35yin Wikibooks:Reading room/Administrative Assistance 4 140081 4635290 4635224 2026-05-11T16:58:08Z Kittycataclysm 3371989 /* Cs24jam2 reported by MathXplore */ Reply 4635290 wikitext text/x-wiki __NEWSECTIONLINK__ {{Discussion Rooms}} {{shortcut|WB:AN|WB:AA}} {{TOC left}} {{User:MiszaBot/config |archive = Wikibooks:Reading room/Administrative Assistance/Archives/%(year)d/%(monthname)s |algo = old(14d) |counter = 1 |minthreadstoarchive = 1 |minthreadsleft = 1 }} {{ombox|type=content|text='''To request a rename or usurpation''', go to the global request page at Meta [[meta:SRUC|here]].<br />''Please do not post those requests here!''}} {{Clear}} Welcome to the '''Administrative Assistance reading room'''. You can request assistance from [[WB:ADMIN|administrators]] for handling a variety of problems here and alert them about problems which may require special actions not normally used during regular content editing. Please be patient as administrators are often quite busy with either their own projects or trying to perform general maintenance and cleanup. You can deal with most vandalism yourself: [[Wikibooks:Dealing with vandalism|fix it]], then [[Wikibooks:Templates/User_notices|warn the user]]. If there is repeated vandalism by one user, lots of vandalism on a single page, or vandalism from many users, tell an admin here, or in [irc://irc.freenode.net/wikibooks #wikibooks] (say <code>!admin</code> to get attention). For more general questions and assistance that doesn't require an administrator, please use the [[WB:HELP|Assistance Reading Room]]. {{clear}} [[Category:Reading room]] == Kevinsteinfeldt reported by MathXplore == * {{userlinks|Kevinsteinfeldt}} Cross-wiki issues: Vandalism-only account <!-- USERREPORTED:/Kevinsteinfeldt/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 05:15, 28 April 2026 (UTC) : Globally locked by Count Count. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:57, 3 May 2026 (UTC) == Your username will be adjusted to "Mutesstud" due to technical restrictions reported by MathXplore == * {{userlinks|Your username will be adjusted to "Mutesstud" due to technical restrictions}} Vandalism <!-- USERREPORTED:/Your username will be adjusted to "Mutesstud" due to technical restrictions/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 07:02, 28 April 2026 (UTC) : Globally locked by M7. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:58, 3 May 2026 (UTC) == Degroot1 reported by MathXplore == * {{userlinks|Degroot1}} Spam <!-- USERREPORTED:/Degroot1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 10:47, 28 April 2026 (UTC) : Page was already deleted, but the account is otherwise {{stale}}. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:59, 3 May 2026 (UTC) == Jalwagamesonline reported by MathXplore == * {{userlinks|Jalwagamesonline}} Spam <!-- USERREPORTED:/Jalwagamesonline/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 22:30, 28 April 2026 (UTC) : Page was already deleted, but the account is otherwise {{stale}}. Please re-report if they continue spamming. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:00, 3 May 2026 (UTC) == ~2026-26947-55 reported by MathXplore == * {{userlinks|~2026-26947-55}} Vandalism <!-- USERREPORTED:/~2026-26947-55/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:24, 3 May 2026 (UTC) : {{done}}. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:00, 3 May 2026 (UTC) == No data in page linked to by Wikidata == The page, [https://en.wikibooks.org/wiki/OpenSSH/Third_Party_Utilities OpenSSH: Third Party Utilities] has no data and thus should not be linked to from [https://www.wikidata.org/wiki/Q139625509 Q139625509] How can the link be deleted? Thanks. [[User:Larsnooden|Larsnooden]] ([[User talk:Larsnooden|discuss]] • [[Special:Contributions/Larsnooden|contribs]]) 05:06, 4 May 2026 (UTC) :Same for Q139611668 and Q139611580. All three links should be deleted / removed as the destination pages in the en.wikibook do not have any data but instead normal prose. - [[User:Larsnooden|Larsnooden]] ([[User talk:Larsnooden|discuss]] • [[Special:Contributions/Larsnooden|contribs]]) 05:15, 4 May 2026 (UTC) == Glinemovers reported by MathXplore == * {{userlinks|Glinemovers}} Spam <!-- USERREPORTED:/Glinemovers/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:08, 6 May 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:37, 6 May 2026 (UTC) == Deftsoft51 reported by MathXplore == * {{userlinks|Deftsoft51}} Spam <!-- USERREPORTED:/Deftsoft51/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:09, 6 May 2026 (UTC) :{{done}} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:37, 6 May 2026 (UTC) == Pizzazilla1 reported by MathXplore == * {{userlinks|Pizzazilla1}} Spam <!-- USERREPORTED:/Pizzazilla1/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 12:20, 8 May 2026 (UTC) :Done. //[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 00:31, 9 May 2026 (UTC) == ~2026-28014-44 reported by MathXplore == * {{userlinks|~2026-28014-44}} Vandalism <!-- USERREPORTED:/~2026-28014-44/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 01:02, 9 May 2026 (UTC) : I blocked the underlying range. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:40, 10 May 2026 (UTC) == Omran Tokhi Nickname OT7 reported by MathXplore == * {{userlinks|Omran Tokhi Nickname OT7}} Long-term abuse. Spam / spambot. [[Special:CentralAuth/OmranTokhi7]] <!-- USERREPORTED:/Omran Tokhi Nickname OT7/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 03:25, 10 May 2026 (UTC) :{{done}}. --[[User:SHB2000|SHB2000]] ([[User talk:SHB2000|discuss]] • [[Special:Contributions/SHB2000|contribs]]) 04:29, 10 May 2026 (UTC) == Can't log in :( == Xania here. I am logged in on Wikipedia but can't log in here even though it has always been automatic when switching between the two. Wikibooks seems to want me to authenticate myself via my authenticator app which I have not done before. Allows me to also use a recovery code which I do not have. How do I log in guys? [[Special:Contributions/&#126;2026-28255-89|&#126;2026-28255-89]] ([[User talk:&#126;2026-28255-89|talk]]) 18:15, 10 May 2026 (UTC) : I believe it might be the CheckUser permission requiring 2FA (on parity with bureaucrats, interface administrators, and oversighters) as that group has restrictions. You might need to temporarily request to the [[m:Stewards' noticeboard|stewards]] to remove CU access from your account to enable 2FA; however, since this project only has 2 CUs, [[User:MarcGarver|MarcGarver]]'s CU rights would be temporarily suspended. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:36, 10 May 2026 (UTC) : Thanks, I've left a notice on the Steward's board.--[[Special:Contributions/&#126;2026-28255-89|&#126;2026-28255-89]] ([[User talk:&#126;2026-28255-89|talk]]) 18:59, 10 May 2026 (UTC) ::This happened before when your CU rights were removed because you hadn't enrolled in 2FA. I presume you must have enrolled to get the CU rights back. Are you really sure you've never used any authenticator here? [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:49, 11 May 2026 (UTC) :::See [https://en.wikibooks.org/wiki/User_talk:MarcGarver#Check_User previous discussion] from last year [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 11:51, 11 May 2026 (UTC) == Cs24jam2 reported by MathXplore == * {{userlinks|Cs24jam2}} Vandalism <!-- USERREPORTED:/Cs24jam2/ --> [[User:MathXplore|MathXplore]] ([[User talk:MathXplore|discuss]] • [[Special:Contributions/MathXplore|contribs]]) 11:54, 11 May 2026 (UTC) :{{done}} by @[[User:Codename Noreste|Codename Noreste]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:58, 11 May 2026 (UTC) kxxis87jnnwnx1cklwjeck4q95vgoza Vehicle Identification Numbers (VIN codes)/World Manufacturer Identifier (WMI) 0 142006 4635317 4635058 2026-05-11T17:36:37Z JustTheFacts33 3434282 /* List of Many WMIs */ 4635317 wikitext text/x-wiki ==World Manufacturer Identifier== The first three characters uniquely identify the manufacturer of the vehicle using the '''World Manufacturer Identifier''' or '''WMI''' code. A manufacturer that builds fewer than 1000 vehicles per year uses a 9 as the third digit and the 12th, 13th and 14th position of the VIN for a second part of the identification. Some manufacturers use the third character as a code for a vehicle category (e.g., bus or truck), a division within a manufacturer, or both. For example, within 1G (assigned to General Motors in the United States), 1G1 represents Chevrolet passenger cars; 1G2, Pontiac passenger cars; and 1GC, Chevrolet trucks. ===WMI Regions=== The first character of the WMI is the region in which the manufacturer is located. In practice, each is assigned to a country of manufacture. Common auto-manufacturing countries are noted. <ref>{{cite web | url=https://standards.iso.org/iso/3780/ | title=ISO Standards Maintenance Portal: ISO 3780 | publisher=[[wikipedia:International Organization for Standardization]]}}</ref> {| class="wikitable" style="text-align:center" |- ! WMI ! Region ! Notes |- | A-C | Africa | AA-AH = South Africa<br />BF-BG = Kenya<br />BU = Uganda<br />CA-CB = Egypt<br />DF-DK = Morocco |- | H-R | Asia | H = China<br />J = Japan<br />KF-KH = Israel<br />KL-KR = South Korea<br />L = China<br />MA-ME = India<br />MF-MK = Indonesia<br />ML-MR = Thailand<br />MS = Myanmar<br />MX = Kazakhstan<br />MY-M0 = India<br />NF-NG = Pakistan<br />NL-NR = Turkey<br />NS-NT = Uzbekistan<br />PA-PC = Philippines<br />PF-PG = Singapore<br />PL-PR = Malaysia<br />PS-PT = Bangladesh<br />PV=Cambodia<br />RA-RB = United Arab Emirates<br />RF-RK = Taiwan<br />RL-RN = Vietnam<br />R1-R7 = Hong Kong |- | S-Z | Europe | SA-SM = United Kingdom<br />SN-ST = Germany (formerly East Germany)<br />SU-SZ = Poland<br />TA-TH = Switzerland<br />TJ-TP = Czech Republic<br />TR-TV = Hungary<br />TW-T2 = Portugal<br />UH-UM = Denmark<br />UN-UR = Ireland<br />UU-UX = Romania<br />U1-U2 = North Macedonia<br />U5-U7 = Slovakia<br />VA-VE = Austria<br />VF-VR = France<br />VS-VW = Spain<br />VX-V2 = France (formerly Serbia/Yugoslavia)<br />V3-V5 = Croatia<br />V6-V8 = Estonia<br /> W = Germany (formerly West Germany)<br />XA-XC = Bulgaria<br />XF-XH = Greece<br />XL-XR = The Netherlands<br />XS-XW = Russia (formerly USSR)<br />XX-XY = Luxembourg<br />XZ-X0 = Russia<br />YA-YE = Belgium<br />YF-YK = Finland<br />YS-YW = Sweden<br />YX-Y2 = Norway<br />Y3-Y5 = Belarus<br />Y6-Y8 = Ukraine<br />ZA-ZU = Italy<br />ZX-ZZ = Slovenia<br />Z3-Z5 = Lithuania<br />Z6-Z0 = Russia |- | 1-5 | North America | 1, 4, 5 = United States<br />2 = Canada<br />3 = Mexico<br />7F-70 = United States |- | 6-7 | Oceania | 6A-6W = Australia<br />7A-7E = New Zealand |- | 8-9 | South America | 8A-8E = Argentina<br />8F-8G = Chile<br />8L-8N = Ecuador<br />8S-8T = Peru<br />8X-8Z = Venezuela<br />82 = Bolivia<br />84 = Costa Rica<br />9A-9E, 91-90 = Brazil<br />9F-9G = Colombia<br />9S-9V = Uruguay |} {| class="wikitable" style="text-align:center" |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''A''' || colspan="8" | South Africa || colspan="2" | Ivory Coast || colspan="2" | Lesotho || colspan="2" | Botswana || colspan="2" | Namibia || colspan="2" | Madagascar || colspan="2" | Mauritius || colspan="2" | Tunisia || colspan="2" | Cyprus || colspan="2" | Zimbabwe || colspan="2" | Mozambique || colspan="5" | ''Africa'' |- | '''B''' || colspan="2" | Angola || colspan="1" | Ethiopia || colspan="2" | ''Africa'' || colspan="2" | Kenya || colspan="1" | Rwanda || colspan="2" | ''Africa'' || colspan="1" | Nigeria || colspan="3" | ''Africa'' || colspan="1" | Algeria || colspan="1" | ''Africa'' || colspan="1" | Swaziland || colspan="1" | Uganda || colspan="7" | ''Africa''|| colspan="2" | Libya || colspan="6" | ''Africa'' |- | '''C''' || colspan="2" | Egypt || colspan="3" | ''Africa'' || colspan="2" | Morocco || colspan="3" | ''Africa'' || colspan="2" | Zambia || colspan="21" | ''Africa'' |- | '''D''' || colspan="33" rowspan="1" | |- | '''E''' || colspan="33" | Russia |- | '''F''' || colspan="33" rowspan="2" | |- | '''G''' |- | '''H''' || colspan="33" | China |- | '''J''' || colspan="33" | Japan |- | '''K''' || colspan="5" | ''Asia'' || colspan="3" | Israel || colspan="2" | ''Asia'' || colspan="5" | South Korea || colspan="2" | Jordan || colspan="6" | ''Asia'' || colspan="3" | South Korea || colspan="1" | ''Asia'' || colspan="1" | Kyrgyzstan || colspan="5" | ''Asia'' |- | '''L''' || colspan="33" | China |- | '''M''' || colspan="5" | India || colspan="5" | Indonesia || colspan="5" | Thailand || colspan="1" | Myanmar || colspan="1" | ''Asia'' || colspan="1" | Mongolia || colspan="2" | ''Asia'' || colspan="1" | Kazakhstan || colspan="12" | India |- | '''N''' || colspan="5" | Iran || colspan="2" | Pakistan || colspan="1" | ''Asia'' || colspan="1" | Iraq || colspan="1" | ''Asia'' || colspan="5" | Turkey || colspan="2" | Uzbekistan || colspan="1" | ''Asia'' || colspan="1" | Azerbaijan || colspan="1" | ''Asia'' || colspan="1" | Tajikistan || colspan="1" | Armenia || colspan="1" | ''Asia'' || colspan="5" | Iran || colspan="1" | ''Asia'' || colspan="2" | Turkey || colspan="2" | ''Asia'' |- | '''P''' || colspan="3" | Philippines || colspan="2" | ''Asia'' || colspan="2" | Singapore || colspan="3" | ''Asia'' || colspan="5" | Malaysia || colspan="2" | Bangladesh || colspan="10" | ''Asia'' || colspan="6" | India |- | '''R''' || colspan="2" | UAE || colspan="3" | ''Asia'' || colspan="5" | Taiwan || colspan="3" | Vietnam || colspan="1" | Laos || colspan="1" | ''Asia'' || colspan="2" | Saudi Arabia || colspan="3" | Russia || colspan="3" | ''Asia'' || colspan="7" | Hong Kong || colspan="3" | ''Asia'' |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''S''' || colspan="12" | United Kingdom || colspan="5" | Germany <small>(former East Germany)</small> || colspan="6" | Poland || colspan="2" | Latvia || colspan="1" | Georgia || colspan="1" | Iceland || colspan="6" | ''Europe'' |- | '''T''' || colspan="8" | Switzerland || colspan="6" | Czech Republic || colspan="5" | Hungary || colspan="6" | Portugal || colspan="3" | Serbia || colspan="1" | Andorra || colspan="2" | Netherlands || colspan="2" | ''Europe'' |- | '''U''' || colspan="3" | Spain || colspan="4" | ''Europe'' || colspan="5" | Denmark || colspan="3" | Ireland || colspan="2" | ''Europe'' || colspan="4" | Romania || colspan="2" | ''Europe'' || colspan="2" | North Macedonia || colspan="2" | ''Europe'' || colspan="3" | Slovakia || colspan="3" | Bosnia & Herzogovina |- | '''V''' || colspan="5" | Austria || colspan="10" | France || colspan="5" | Spain || colspan="5" | France <small>(formerly Yugoslavia & Serbia)</small> || colspan="3" | Croatia || colspan="3" | Estonia || colspan="2" | ''Europe'' |- | '''W''' || colspan="33" | Germany |- | '''X''' || colspan="3" | Bulgaria || colspan="2" | Russia || colspan="3" | Greece || colspan="2" | Russia || colspan="5" | Netherlands || colspan="5" | Russia <small>(former USSR)</small> || colspan="2" | Luxembourg || colspan="11" | Russia |- | '''Y''' || colspan="5" | Belgium || colspan="5" | Finland || colspan="2" | ''Europe'' || colspan="1" | Malta || colspan="2" | ''Europe'' || colspan="5" | Sweden || colspan="5" | Norway || colspan="3" | Belarus || colspan="3" | Ukraine || colspan="2" | ''Europe'' |- | '''Z''' || colspan="18" | Italy || colspan="2" | ''Europe'' || colspan="3" | Slovenia || colspan="1" | San Marino|| colspan="1" | ''Europe''|| colspan="3" | Lithuania || colspan="5" | Russia |- | '''1''' || colspan="33" | United States |- | '''2''' || colspan="28" | Canada || colspan="5" | ''North America'' |- | '''3''' || colspan="21" | Mexico || colspan="5" | ''North America'' || colspan="1" | Nicaragua || colspan="1" | Dom. Rep. || colspan="1" | Honduras || colspan="1" | Panama || colspan="2" | Puerto Rico || colspan="1" | ''North America'' |- | '''4''' || colspan="33" rowspan="2" | United States |- | '''5''' |- | '''6''' || colspan="21" | Australia || colspan="3" | New Zealand || colspan="9" | ''Oceania'' |- | '''7''' || colspan="5" | New Zealand || colspan="28" | United States |- | '''8''' || colspan="5" | Argentina || colspan=2 | Chile || colspan="3" | ''South America'' || colspan="3" | Ecuador || colspan="2" | ''South America'' || colspan="2" | Peru || colspan="3" | ''South America'' || colspan="3" | Venezuela || colspan="1" | ''SA'' || colspan="1" | Bolivia || colspan="1" | ''SA'' || colspan="1" | Costa Rica || colspan="6" | ''South America'' |- | '''9''' || colspan="5" | Brazil || colspan="2" | Colombia || colspan="8" | ''South America'' || colspan="4" | Uruguay || colspan="4" | ''South America'' || colspan="10" | Brazil |- | '''0''' || colspan="33" rowspan="1" | |} ===List of Many WMIs=== The [[w:Society of Automotive Engineers|Society of Automotive Engineers]] (SAE) in the US assigns WMIs to countries and manufacturers.<ref>{{cite web | url=https://www.iso.org/standard/45844.html | title=ISO 3780:2009 - Road vehicles — World manufacturer identifier (WMI) code | date=October 2009 | publisher=International Organization for Standardization}}</ref> The following table contains a list of mainly commonly used WMIs, although there are many others assigned. {| class="wikitable x" style="text-align:center" |- ! WMI !! Manufacturer |- | AAA|| Audi South Africa made by Volkswagen of South Africa |- | AAK|| FAW Vehicle Manufacturers SA (PTY) Ltd. |- | AAM|| MAN Automotive (South Africa) (Pty) Ltd. (includes VW Truck & Bus) |- |AAP || VIN restamped by South African Police Service (so-called SAPVIN or AAPV number) |- | AAV || Volkswagen South Africa |- | AAW || Challenger Trailer Pty Ltd. (South Africa) |- | AA9/CN1 || TR-Tec Pty Ltd. (South Africa) |- | ABJ || Mitsubishi Colt & Triton pickups made by Mercedes-Benz South Africa 1994–2011 |- | ABJ || Mitsubishi Fuso made by Daimler Trucks & Buses Southern Africa |- | ABM || BMW Southern Africa |- | ACV || Isuzu Motors South Africa 2018- |- | AC5 || [[../Hyundai/VIN Codes|Hyundai]] Automotive South Africa |- | AC9/BM1 || Beamish Beach Buggies (South Africa) |- | ADB || Mercedes-Benz South Africa car |- | ADD || UD Trucks Southern Africa (Pty) Ltd. |- | ADM || General Motors South Africa (includes Isuzu through 2018) |- | ADN || Nissan South Africa (Pty) Ltd. |- | ADR || Renault Sandero made by Nissan South Africa (Pty) Ltd. |- | ADX || Tata Automobile Corporation (SA) Ltd. |- | AE9/MT1 || Backdraft Racing (South Africa) |- | AFA || Ford Motor Company of Southern Africa & Samcor |- | AFB || Mazda BT-50 made by Ford Motor Company of Southern Africa |- | AFD || BAIC Automotive South Africa |- | AFZ || Fiat Auto South Africa |- | AHH || Hino South Africa |- | AHM || Honda Ballade made by Mercedes-Benz South Africa 1982–2000 |- | AHT || Toyota South Africa Motors (Pty.) Ltd. |- | BF9/|| KIBO Motorcycles, Kenya |- | BUK || Kiira Motors Corporation, Uganda |- | BR1 || Mercedes-Benz Algeria (SAFAV MB) |- | BRY || FIAT Algeria |- | CA3 || MCV bus (Egypt) |- | DDY || Geyushi Motors (bus) (Egypt) |- | DF9/|| Laraki (Morocco) |- | EAA || Aurus Motors (Russia) |- | EAN || Evolute (Russia) |- | EAU || Elektromobili Manufacturing Rus - EVM (Russia) |- | EBE || Sollers-Auto (Russia) |- | EBZ || Nizhekotrans bus (Russia) |- | ECE || XCITE (Russia) |- | ECW || Trans-Alfa bus (Russia) |- | HAC || GAC Motor (Aion) |- | HA0 || Wuxi Sundiro Electric Vehicle Co., Ltd. (Palla, Parray) |- | HA6 || Niu Technologies |- | HA7 || Jinan Qingqi KR Motors Co., Ltd. |- | HES || smart Automobile Co., Ltd. (Mercedes-Geely joint venture) |- | HGL || Farizon Auto van (Geely) |- | HGX || Wuling Motors commercial vehicle (Geely) |- | HHZ || Huazi Automobile |- | HJN || Nio, Firefly |- | HJR || Chery Commercial Vehicle (Anhui) Co., Ltd. Jetour made by Chery Commercial Vehicle |- | HJZ || Juzhen Chengshi van |- | HJ4 || BAW car |- | HL4 || Zhejiang Morini Vehicle Co., Ltd. <br />(Moto Morini subsidiary of Taizhou Zhongneng Motorcycle Co., Ltd.) |- | HLX || Li Auto |- | HRV || Beijing Henrey Automobile Technology Co., Ltd. |- | HVW || Volkswagen Anhui |- | HWM || WM Motor Technology Co., Ltd. (Weltmeister) |- | HXM || Xiaomi |- | HZ2 || Taizhou Zhilong Technology Co., Ltd (motorcycle) |- | H0D || Taizhou Qianxin Vehicle Co., Ltd. (motorcycle) |- | H0G || Wisdom (Fujian) Motor Co., Ltd. (bus) |- | JAA || Isuzu truck, Holden Rodeo TF, Opel Campo, Bedford/Vauxhall Brava pickup made by Isuzu in Japan |- | JAB || Isuzu car |- | JAC || Isuzu SUV, Opel/Vauxhall Monterey & Holden Jackaroo/Monterey made by Isuzu in Japan |- | JAE || Acura SLX made by Isuzu |- | JAL || Isuzu commercial trucks & <br /> Chevrolet commercial trucks made by Isuzu 2016+ & <br /> Hino S-series truck made by Isuzu (Incomplete Vehicle - medium duty) |- | JAM || Isuzu commercial trucks (Incomplete Vehicle - light duty) |- | JA3 || Mitsubishi car (for North America) |- | JA4 || Mitsubishi MPV/SUV (for North America) & Nissan Rogue PHEV '26 |- | JA7 || Mitsubishi truck (for North America) |- | JB3 || Dodge car made by Mitsubishi Motors |- | JB4 || Dodge MPV/SUV made by Mitsubishi Motors |- | JB7 || Dodge truck made by Mitsubishi Motors |- | JC0 || Ford brand cars made by Mazda |- | JC1 || Fiat 124 Spider made by Mazda |- | JC2 || Ford Courier made by Mazda |- | JDA || Daihatsu, Subaru Justy made by Daihatsu |- | JD1 || Daihatsu car |- | JD2 || Daihatsu SUV |- | JD4 || Daihatsu truck |- | JE3 || Eagle car made by Mitsubishi Motors |- | JE4 || Mitsubishi Motors |- | JF1 || ([[../Subaru/VIN Codes|Subaru]]) car |- | JF2 || ([[../Subaru/VIN Codes|Subaru]]) SUV |- | JF3 || ([[../Subaru/VIN Codes|Subaru]]) truck |- | JF4 || Saab 9-2X made by Subaru |- | JG1 || Chevrolet/Geo car made by Suzuki |- | JG2 || Pontiac car made by Suzuki |- | JG7 || Pontiac/Asuna car made by Suzuki for GM Canada |- | JGC || Chevrolet/Geo SUV made by Suzuki (classified as a truck) |- | JGT || GMC SUV made by Suzuki for GM Canada (classified as a truck) |- | JHA || Hino truck |- | JHB || Hino incomplete vehicle |- | JHD || Hino |- | JHF || Hino |- | JHH || Hino incomplete vehicle |- | JHF-JHG, JHL-JHN, JHZ,<br/>JH1-JH5 || [[../Honda/VIN Codes|Honda]] |- | JHL || [[../Honda/VIN Codes|Honda]] MPV/SUV |- | JHM || [[../Honda/VIN Codes|Honda]] car |- | JH1 || [[../Honda/VIN Codes|Honda]] truck |- | JH2 || [[../Honda/VIN Codes|Honda]] motorcycle/ATV |- | JH3 || [[../Honda/VIN Codes|Honda]] ATV |- | JH4 || Acura car |- | JH6 || Hino incomplete vehicle |- | JJ3 || Chrysler brand car made by Mitsubishi Motors |- | JKA || Kawasaki (motorcycles) |- | JKB || Kawasaki (motorcycles) |- | JKM || Mitsuoka |- | JKS || Suzuki Marauder 1600/Boulevard M95 motorcycle made by Kawasaki |- | JK8 || Suzuki QUV620F UTV made by Kawasaki |- | JLB || Mitsubishi Fuso Truck & Bus Corp. |- | JLF || Mitsubishi Fuso Truck & Bus Corp. |- | JLS || Sterling Truck 360 made by Mitsubishi Fuso Truck & Bus Corp. |- | JL5 || Mitsubishi Fuso Truck & Bus Corp. |- | JL6 || Mitsubishi Fuso Truck & Bus Corp. |- | JL7 || Mitsubishi Fuso Truck & Bus Corp. |- | JMA || Mitsubishi Motors (right-hand drive) for Europe |- | JMB || Mitsubishi Motors (left-hand drive) for Europe |- | JMF || Mitsubishi Motors for Australia (including Mitsubishi Express made by Renault) |- | JMP || Mitsubishi Motors (left-hand drive) |- | JMR || Mitsubishi Motors (right-hand drive) |- | JMY || Mitsubishi Motors (left-hand drive) for South America & Middle East |- | JMZ || Mazda for Europe export & Mazda 2 made by Ford Spain & Mazda 2 Hybrid made by Toyota Motor Manufacturing France |- | JM0 || Mazda for Oceania export |- | JM1 || Mazda car |- | JM2 || Mazda truck |- | JM3 || Mazda MPV/SUV |- | JM4 || Mazda |- | JM6 || Mazda |- | JM7 || Mazda |- | JNA || Nissan Diesel/UD Trucks incomplete vehicle |- | JNC || Nissan Diesel/UD Trucks |- | JNE || Nissan Diesel/UD Trucks truck |- | JNK || Infiniti car |- | JNR || Infiniti SUV |- | JNX || Infiniti incomplete vehicle |- | JN1 || Nissan car & Infiniti car |- | JN3 || Nissan incomplete vehicle |- | JN6 || Nissan truck/van & Mitsubishi Fuso Canter Van |- | JN8 || Nissan MPV/SUV & Infiniti SUV |- | JPC || Nissan Diesel/UD Trucks |- | JP3 || Plymouth car made by Mitsubishi Motors |- | JP4 || Plymouth MPV/SUV made by Mitsubishi Motors |- | JP7 || Plymouth truck made by Mitsubishi Motors |- | JR2 || Isuzu Oasis made by Honda |- | JSA || Suzuki ATV & '03 Kawasaki KFX400 ATV made by Suzuki, Suzuki car/SUV (outside N. America), Holden Cruze YG made by Suzuki |- | JSK || Kawasaki KLX125/KLX125L motorcycle made by Suzuki |- | JSL || '04-'06 Kawasaki KFX400 ATV made by Suzuki |- | JST || Suzuki Across SUV made by Toyota |- | JS1 || Suzuki motorcycle & Kawasaki KLX400S/KLX400SR motorcycle made by Suzuki |- | JS2 || Suzuki car |- | JS3 || Suzuki SUV |- | JS4 || Suzuki truck |- | JTB || Toyota bus |- | JTD || Toyota car |- | JTE || Toyota MPV/SUV |- | JTF || Toyota van/truck |- | JTG || Toyota MPV/bus |- | JTH || Lexus car |- | JTJ || Lexus SUV |- | JTK || Toyota car |- | JTL || Toyota SUV |- | JTM || Toyota SUV, Subaru Solterra made by Toyota |- | JTN || Toyota car |- | JTP || Toyota SUV |- | JT1 || [[../Toyota/VIN Codes|Toyota]] van |- | JT2 || Toyota car |- | JT3 || Toyota MPV/SUV |- | JT4 || Toyota truck/van |- | JT5 || Toyota incomplete vehicle |- | JT6 || Lexus SUV |- | JT7 || Toyota bus/van |- | JT8 || Lexus car |- | JW6 || Mitsubishi Fuso division of Mitsubishi Motors (through mid-2003) |- | JYA || Yamaha motorcycles |- | JYE || Yamaha snowmobile |- | JY3 || Yamaha 3-wheel ATV |- | JY4 || Yamaha 4-wheel ATV |- | J81 || Chevrolet/Geo car made by Isuzu |- | J87 || Pontiac/Asüna car made by Isuzu for GM Canada |- | J8B || Chevrolet commercial trucks made by Isuzu (incomplete vehicle) |- | J8C || Chevrolet commercial trucks made by Isuzu (truck) |- | J8D || GMC commercial trucks made by Isuzu (incomplete vehicle) |- | J8T || GMC commercial trucks made by Isuzu (truck) |- | J8Z || Chevrolet LUV pickup truck made by Isuzu |- | KF3 || Merkavim (Israel) |- | KF6 || Automotive Industries, Ltd. (Israel) |- | KF9/004 || Tomcar (Israel) |- | KG9/002 || Charash Ashdod (truck trailer) (Israel) |- | KG9/004 || H. Klein (truck trailer) (Israel) |- | KG9/007 || Agam Trailers (truck trailer) (Israel) |- | KG9/009 || Merkavey Noa (trailer) (Israel) |- | KG9/010 || Weingold Trailers (trailer) (Israel) |- | KG9/011 || Netzer Sereni (truck trailer) (Israel) |- | KG9/015 || Merkaz Hagrorim (trailer) (Israel) |- | KG9/035 || BEL Technologies (truck trailer) (Israel) |- | KG9/091 || Jansteel (truck trailer) (Israel) |- | KG9/101 || Bassamco (truck trailer) (Israel) |- | KG9/104 || Global Handasa (truck trailer) (Israel) |- | KL || Daewoo [[../GM/VIN Codes|General Motors]] South Korea |- | KLA || Daewoo/GM Daewoo/GM Korea (Chevrolet/Alpheon)<br /> from Bupyeong & Kunsan plants |- | KLP || CT&T United (battery electric low-speed vehicles) |- | KLT || Tata Daewoo |- | KLU || Tata Daewoo |- | KLY || Daewoo/GM Daewoo/GM Korea (Chevrolet) from Changwon plant |- | KL1 || GM Daewoo/GM Korea (Chevrolet car) |- | KL2 || Daewoo/GM Daewoo (Pontiac) |- | KL3 || GM Daewoo/GM Korea (Holden) |- | KL4 || GM Korea (Buick) |- | KL5 || GM Daewoo (Suzuki) |- | KL6 || GM Daewoo (GMC) |- | KL7 || Daewoo (GM Canada brands: Passport, Asuna (Pre-2000)) |- | KL7 || GM Daewoo/GM Korea (Chevrolet MPV/SUV (Post-2000)) |- | KL8 || GM Daewoo/GM Korea (Chevrolet car from Changwon plant (Spark)) |- | KM || [[../Hyundai/VIN Codes|Hyundai]] |- | KMC || Hyundai commercial truck |- | KME || Hyundai commercial truck (semi-tractor) |- | KMF || Hyundai van & commercial truck & Bering Truck |- | KMH || Hyundai car & Mexican market Dodges made by Hyundai |- | KMJ || Hyundai minibus/bus |- | KMT || Genesis Motor car |- | KMU || Genesis Motor SUV |- | KMX || Hyundai Galloper SUV |- | KMY || Daelim Motor Company, Ltd/DNA Motors Co., Ltd. (motorcycles) |- | KM1 || Hyosung Motors (motorcycles) |- | KM4 || Hyosung Motors/S&T Motors/KR Motors (motorcycles) |- | KM8 || Hyundai SUV |- | KNA || Kia car |- | KNC || Kia truck |- | KND || Kia MPV/SUV & Hyundai Entourage |- | KNE || Kia for Europe export |- | KNF || Kia, special vehicles |- | KNG || Kia minibus/bus |- | KNJ || Ford Festiva & Aspire made by Kia |- | KNL || Kia Elan/Vigato made by Kia Motech |- | KNM || Renault Samsung Motors, Nissan Rogue made by Renault Samsung, Nissan Sunny made by Renault Samsung |- | KNM || Renault Korea Co., Ltd. |- | KN1 || Asia Motors |- | KN2 || Asia Motors |- | KPA || SsangYong/KG Mobility (KGM) pickup |- | KPB || SsangYong car |- | KPD || SsangYong TransStar (bus) |- | KPH || Mitsubishi Precis |- | KPT || SsangYong/KG Mobility (KGM) SUV/MPV |- | LAA || Shanghai Jialing Vehicle Co., Ltd. (motorcycle) |- | LAE || Jinan Qingqi Motorcycle |- | LAL || Sundiro [[../Honda/VIN Codes|Honda]] Motorcycle |- | LAN || Changzhou Yamasaki Motorcycle |- | LAP || Chongqing Jianshe Motorcycle Co., Ltd. |- | LAP || Zhuzhou Nanfang Motorcycle Co., Ltd. |- | LAT || Luoyang Northern Ek Chor Motorcycle Co., Ltd. (Dayang) |- | LA6 || Xiamen King Long United Automotive Industry Co., Ltd. (bus) |- | LA7 || Radar Auto (Geely) |- | LA8 || Anhui Ankai |- | LA9/AYS || Jiangsu Alfa Bus Co., Ltd. (bus) |- | LA9/BFC || Beijing North Huade Neoplan Bus Co., Ltd. |- | LA9/FBC || Xiamen Fengtai Bus & Coach International Co., Ltd. (FTBCI) (bus) |- | LA9/HFF || Anhui Huaxia Vehicle Manufacturing Co., Ltd. (bus) |- | LA9/JXK || CHTC Bonluck Bus Co., Ltd. |- | LA9/LC0 || BYD |- | LA9/LFJ || Xinlongma Automobile |- | LA9/LM6 || SRM Shineray |- | LBB || Zhejiang Qianjiang Motorcycle (QJ Motor/Keeway/Benelli) |- | LBE || Beijing [[../Hyundai/VIN Codes|Hyundai]] (Hyundai, Shouwang) |- | LBM || Zongshen Piaggio |- | LBP || Chongqing Jianshe Yamaha Motor Co. Ltd. (motorcycles) |- | LBV || BMW Brilliance (BMW, Zinoro) |- | LBX || Jiangsu Kinroad Xintian Motorcycle Manufacture Co. Ltd. (motorcycles) |- | LBZ || Yantai Shuchi Vehicle Co., Ltd. (bus) |- | LB1 || Fujian Benz |- | LB2 || Geely Motorcycles |- | LB3 || Zhejiang Geely Holding Group (Geely, Galaxy, Geometry, Kandi) |- | LB4 || Chongqing Yinxiang Motorcycle Group Co., Ltd. |- | LB5 || Foshan City Fosti Motorcycle Co., Ltd. |- | LB7 || Tibet New Summit Motorcycle Co., Ltd. |- | LCE || Hangzhou Chunfeng Motorcycles (CFMOTO) |- | LCR || Gonow |- | LC0 || BYD Auto (BYD, Denza) |- | LC2 || Changzhou Kwang Yang Motor Co., Ltd. (Kymco) |- | LC6 || Changzhou Haojue Suzuki Motorcycle Co. Ltd. |- | LDB || Dadi Auto |- | LDC || Dongfeng Peugeot Citroen Automobile Co., Ltd. (DPCA), Dongfeng Fengshen (Aeolus) L60 |- | LDD || Dandong Huanghai Automobile |- | LDF || Dezhou Fulu Vehicle Co., Ltd. (motorcycles), BAW Yuanbao electric car (Ace P1 in Norway) |- | LDK || FAW Bus (Dalian) Co., Ltd. |- | LDN || Soueast (South East (Fujian) Motor Co., Ltd.) including Mitsubishi made by Soueast |- | LDP || Dongfeng, Dongfeng Fengshen (Aeolus), Voyah, Renault City K-ZE/Venucia e30 made by eGT New Energy Automotive |- | LDY || Zhongtong Bus Holding Co. Ltd. |- | LD3 || Guangdong Tayo Motorcycle Technology Co. (Zontes) (motorcycle) |- | LD5 || Benzhou Vehicle Industry Group Ltd. (motorcycle) |- | LD9/L3A || SiTech (FAW) |- | LEC || Tianjin Qingyuan Electric Vehicle Co., Ltd. |- | LEF || Jiangling Motors Corporation Ltd. (JMC) |- | LEH || Zhejiang Riya Motorcycle Co. Ltd. |- | LET || Jiangling-Isuzu Motors, China |- | LEW || Dongfeng commercial vehicle |- | LE4 || Beijing Benz & Beijing Benz-Daimler Chrysler Automotive Co. (Chrysler, Jeep, Mitsubishi, Mercedes-Benz) & Beijing Jeep Corp. |- | LE8 || Guangzhou Panyu Hua'Nan Motors Industry Co. Ltd. (motorcycles) |- | LFB || FAW Group (Bestune, Hongqi) & Mazda made under license by FAW (Mazda 8, CX-7) |- | LFF || Zhejiang Taizhou Wangye Power Co., Ltd. |- | LFG || Taizhou Chuanl Motorcycle Manufacturing |- | LFJ || Fujian Motors Group (Keyton) |- | LFM || FAW Toyota Motor (Toyota, Ranz) |- | LFN || FAW Bus (Wuxi) Co., Ltd. (truck, bus) |- | LFP || FAW Car, Bestune, Hongqi (passenger vehicles) & Mazda made under license by FAW (Mazda 6, CX-4) |- | LFT || FAW (trailers) |- | LFU || Lifeng Group Co., Ltd. (motorcycles) |- | LFV || FAW-Volkswagen (VW, Audi, Jetta, Kaili) |- | LFW || FAW JieFang (truck) |- | LFX || Sany Heavy Industry (truck) |- | LFY || Changshu Light Motorcycle Factory |- | LFZ || Leapmotor |- | LF3 || Lifan Motorcycle |- | LGA || Dongfeng Commercial Vehicle Co., Ltd. trucks |- | LGB || Dongfeng Nissan (Nissan, Infiniti, Venucia) |- | LGB || Dongfeng Commercial Vehicle Co., Ltd. |- | LGC || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGD || Dongfeng Commercial Vehicle Co., Ltd. |- | LGF || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGG || Dongfeng Liuzhou Motor (Forthing/Fengxing) |- | LGJ || Dongfeng Fengshen (Aeolus) |- | LGL || Guilin Daewoo |- | LGV || Heshan Guoji Nanlian Motorcycle Industry Co., Ltd. |- | LGW || Great Wall Motor (GWM, Haval, Ora, Tank, Wey) |- | LGX || BYD Auto (BYD, Fangchengbao) |- | LGZ || Guangzhou Denway Bus |- | LG6 || Dayun Group |- | LHA || Shuanghuan Auto |- | LHB || Beijing Automotive Industry Holding |- | LHG || GAC Honda (Honda, Everus, Acura) |- | LHJ || Chongqing Astronautic Bashan Motorcycle Manufacturing Co., Ltd. |- | LHM || Dongfeng Renault Automobile Co. |- | LHW || CRRC Electric Vehicle Co., Ltd. (bus) |- | LH0 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LH1 || FAW-Haima, China |- | LJC || Jincheng Corporation |- | LJD || Yueda Kia (previously Dongfeng Yueda Kia) (Kia, Horki) & Human Horizons - HiPhi (made under contract by Yueda Kia) |- | LJM || Sunlong (bus) |- | LJN || Zhengzhou Nissan |- | LJR || CIMC Vehicles Group (truck trailer) |- | LJS || Yaxing Coach, Asiastar Bus |- | LJU || Shanghai Maple Automobile & Kandi & Zhidou |- | LJU || Lotus Technology (Wuhan Lotus Cars Co., Ltd.) |- | LJV || Sinotruk Chengdu Wangpai Commercial Vehicle Co., Ltd. |- | LJW || JMC Landwind |- | LJX || JMC Ford |- | LJ1 || JAC (JAC, Sehol) |- | LJ1 || Nio, Inc. |- | LJ4 || Shanghai Jmstar Motorcycle Co., Ltd. |- | LJ5 || Cixi Kingring Motorcycle Co., Ltd. (Jinlun) |- | LJ8 || Zotye Auto made by Jiangnan Automobile |- | LKC || BAIC commercial vehicles, previously Changhe |- | LKG || Youngman Lotus Automobile Co., Ltd. |- | LKH || Hafei Motor |- | LKL || Higer Bus |- | LKT || Yunnan Lifan Junma Vehicle Co., Ltd. commercial vehicles |- | LK2 || Anhui JAC Bus |- | LK6 || SAIC-GM-Wuling (Wuling, Baojun) microcars and other vehicles |- | LK8 || Zhejiang Yule New Energy Automobile Technology Co., Ltd. (ATV) |- | LLC || Loncin Motor Co., Ltd. (motorcycle) |- | LLJ || Jiangsu Xinling Motorcycle Fabricate Co., Ltd. |- | LLN || Qoros |- | LLP || Zhejiang Jiajue Motorcycle Manufacturing Co., Ltd. |- | LLU || Dongfeng Fengxing Jingyi |- | LLV || Lifan, Maple (owned by Geely), Livan Automotive |- | LLX || Yudo Auto |- | LL0 || Sanmen County Yongfu Machine Co., Ltd. (motorcycles) |- | LL2 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LL3 || Xiamen Golden Dragon Bus Co. Ltd. |- | LL6 || GAC Mitsubishi Motors Co., Ltd. (formerly Hunan Changfeng) |- | LL8 || Jiangsu Linhai Yamaha Motor Co., Ltd. |- | LMC || Suzuki Hong Kong (motorcycles) |- | LME || Skyworth (formerly Skywell), Elaris Beo |- | LMF || Jiangmen Zhongyu Motor Co., Ltd. |- | LMG || GAC Motor, Trumpchi, [[w:Dodge Attitude#Fourth generation (2025)|Dodge Attitude made by GAC]] |- | LMH || Jiangsu Guowei Motor Co., Ltd. (Motoleader) |- | LMP || Geely Sichuan Commercial Vehicle Co., Ltd. |- | LMV || Haima Car Co., Ltd. |- | LMV || XPeng Motors G3 (not G3i) made by Haima |- | LMW || GAC Group, [[w:Trumpchi GS5#Dodge Journey|Dodge Journey made by GAC]] |- | LMX || Forthing (Dongfeng Fengxing) |- | LM0 || Wangye Holdings Co., Ltd. (motorcycles) |- | LM6 || SWM (automobiles) |- | LM8 || Seres (formerly SF Motors), AITO |- | LNA || GAC Aion New Energy Automobile Co., Ltd., Hycan |- | LNB || BAIC Motor (Senova, Weiwang, Huansu) & Arcfox & Xiaomi SU7 built by BAIC |- | LND || JMEV (Jiangxi Jiangling Group New Energy Vehicle Co., Ltd.), Eveasy/Mobilize Limo |- | LNE || Zhejiang CRRC Electric Vehicle Co., Ltd. (bus) |- | LNP || NAC MG UK Limited & Nanjing Fiat Automobile |- | LNN || Chery Automobile, Omoda, Jaecoo |- | LNV || Naveco (Nanjing Iveco Automobile Co. Ltd.) |- | LNX || Dongfeng Liuzhou Motor (Chenglong trucks) |- | LNY || Yuejin |- | LPA || Changan PSA (DS Automobiles) |- | LPE || BYD Auto |- | LPS || Polestar |- | LP6 || Guangzhou Panyu Haojian Motorcycle Industry Co., Ltd. |- | LRB || SAIC-General Motors (Buick for export) |- | LRD || Beijing Foton Daimler Automotive Co., Ltd. Auman trucks |- | LRE || SAIC-General Motors (Cadillac for export) |- | LRP || Chongqing Rato Power Co. Ltd. (Asus) |- | LRR || Ningbo Longjia Power Technology Co., Ltd. (motorcycles) |- | LRW || Tesla, Inc. (Gigafactory Shanghai) |- | LR4 || Yadi Technology Group |- | LR6 || Guangzhou Dayun Vehicle Co., Ltd. |- | LSC || Changan Automobile (light truck) |- | LSF || SAIC Maxus or LDV pickup/SUV & Chevrolet S10 Max & Shanghai Sunwin Bus Corporation |- | LSG || SAIC-General Motors (For China: Chevrolet, Buick, Cadillac, Sail Springo, For export: Chevrolet) |- | LSH || SAIC Maxus van or LDV van & Chevrolet Express Max |- | LSJ || SAIC MG & SAIC Roewe & IM Motors & Rising Auto |- | LSK || SAIC Maxus or LDV van |- | LSV || SAIC-Volkswagen (VW, Skoda, Audi, Tantus) |- | LSY || Brilliance (Jinbei, Zhonghua) & Jinbei GM |- | LS3 || Hejia New Energy Vehicle Co., Ltd |- | LS4 || Changan Automobile (MPV/SUV) |- | LS5 || Changan Automobile (car) & Changan Suzuki |- | LS6 || Changan Automobile & Deepal Automobile & Avatr |- | LS7 || JMC Heavy Duty Truck Co., Ltd. |- | LS8 ||Henan Shaolin Auto Co., Ltd. (bus) |- | LTA || ZX Auto |- | LTN || Soueast-built Chrysler & Dodge vehicles |- | LTP || National Electric Vehicle Sweden AB (NEVS) |- | LTV || FAW [[../Toyota/VIN Codes|Toyota]] (Tianjin) |- | LTW || Zhejiang Dianka Automobile Technology Co. Ltd. (Enovate) |- | LT1 || Yangzhou Tonghua Semi-Trailer Co., Ltd. (truck trailer) |- | LUC || [[../Honda/VIN Codes|Honda]] Automobile (China) |- | LUD || Dongfeng Nissan Diesel Motor Co Ltd. |- | LUG || Qiantu Motor |- | LUJ || Zhejiang Shanqi Tianying Vehicle Industry Co., Ltd. (motorcycles) |- | LUR || Chery Automobile, iCar |- | LUX || Dongfeng Yulon Motor Co. Ltd. |- | LUZ || Hozon Auto New Energy Automobile Co., Ltd. (Neta) |- | LVA || Foton Motor |- | LVB || Foton Motor truck |- | LVC || Foton Motor bus |- | LVF || Changhe Suzuki |- | LVG || GAC Toyota (Toyota, Leahead) |- | LVH || Dongfeng Honda (Honda, Ciimo) |- | LVM || Chery Commercial Vehicle |- | LVP || Dongfeng Sokon Motor Company (DFSK) |- | LVR || Changan Mazda |- | LVS || Changan [[../Ford/VIN Codes|Ford]] (Ford, Lincoln) & Changan Ford Mazda & Volvo S40 and S80L made by Changan Ford Mazda |- | LVT || Chery Automobile, Exeed, Jetour, Soueast |- | LVU || Chery Automobile, Jetour |- | LVV || Chery Automobile, Omoda, Jaecoo |- | LVX || Landwind, JMC (discontinued in 2021) |- | LVX || Aiways Automobiles Company Ltd |- | LVY || Volvo Cars Daqing factory |- | LVZ || Dongfeng Sokon Motor Company (DFSK) |- | LV3 || Hengchi Automobile (Evergrande Group) |- | LV7 || Jinan Qingqi Motorcycle |- | LWB || Wuyang Honda Motorcycle (Guangzhou) Co., Ltd. |- | LWE || Yangtse Motor Group (bus) |- | LWG || Chongqing Huansong Industries (Group) Co., Ltd. |- | LWL || Qingling Isuzu |- | LWM || Chongqing Wonjan Motorcycle Co., Ltd. |- | LWV || GAC Fiat Chrysler Automobiles (Fiat, Jeep) |- | LWX || Shanghai Wanxiang Automobile Manufacturing Co., Ltd. (bus) |- | LW4 || Li Auto |- | LXA || Jiangmen Qipai Motorcycle Co., Ltd. |- | LXD || Ningbo Dongfang Lingyun Vehicle Made Co., Ltd. (motorcycle) |- | LXG || Xuzhou Construction Machinery Group Co., Ltd. (XCMG) |- | LXK || Shanghai Meitian Motorcycle Co., Ltd. |- | LXM || Xiamen Xiashing Motorcycle Co., Ltd. (SYM) |- | LXN || Link Tour |- | LXV || Beijing Borgward Automotive Co., Ltd. |- | LXW || JMC - Ford |- | LXY || Chongqing Shineray Motorcycle Co., Ltd. |- | LX6 || Jiangmen City Huari Group Co. Ltd. (motorcycle) |- | LX8 || Chongqing Xgjao (Xinganjue) Motorcycle Co Ltd. |- | LYB || Weichai (Yangzhou) Yaxing Automobile Co., Ltd. |- | LYD || Taizhou City Kaitong Motorcycle Co., Ltd. (motorcycle) |- | LYJ || Beijing ZhongdaYanjing Auto Co., Ltd. (bus) |- | LYM || Zhuzhou Jianshe Yamaha Motorcycle Co., Ltd. |- | LYS || Nanjing Vmoto Manufacturing Co. Ltd. (motorcycle) |- | LYU || Huansu (BAIC Motor & Yinxiang Group) |- | LYV || Volvo Cars Chengdu factory & Luqiao factory |- | LY4 || Chongqing Yingang Science & Technology Group Co., Ltd. (motorcycle) |- | LZE || Isuzu Guangzhou, China |- | LZF || SAIC Iveco Hongyan (-2021), SAIC Hongyan (2021-) |- | LZG || Shaanxi Automobile Group (Shacman) |- | LZK || Sinotruk (CNHTC) Huanghe bus |- | LZL || Zengcheng Haili Motorcycle Ltd. |- | LZM || MAN China |- | LZP || Zhongshan Guochi Motorcycle (Baotian) |- | LZS || Zongshen, Electra Meccanica Vehicles Corp. (Solo) made by Zongshen |- | LZU || Guangzhou Isuzu Bus |- | LZW || SAIC-GM-Wuling (Wuling, Baojun, Chevrolet [for export]) |- | LZY || Yutong Bus Co., Ltd. |- | LZZ || Sinotruk (CNHTC) (Howo, Sitrak) |- | LZ0 || Shandong Wuzheng Group Co., Ltd. |- | LZ4 || Jiangsu Linzhi Shangyang Group Co Ltd. |- | LZ9/LZX || Raysince |- | L0N || Ezytrail (camper trailers) |- | L1K || Chongqing Hengtong Bus Co., Ltd. |- | L1N || XPeng Motors |- | L10 || Geely Emgrand |- | L2B || Jiangsu Baodiao Locomotive Co., Ltd. (motorcycles) |- | L2C || Chery Jaguar Land Rover |- | L3H || Shanxi Victory Automobile Manufacturing Co., Ltd. |- | L37 || Huzhou Daixi Zhenhua Technology Trade Co., Ltd. (motorcycles) |- | L4B || Xingyue Group (motorcycles) |- | L4F || Suzhou Eagle Electric Vehicle Manufacturing Co., Ltd. |- | L4H || Ningbo Longjia Motorcycle Co., Ltd. |- | L4S || Zhejiang Xingyue Vehicle Co Ltd. (motorcycles) |- | L4Y || Qingqi Group Ningbo Rhon Motorcycle / Ningbo Dalong Smooth Locomotive Industry Co., Ltd. |- | L5C || Zhejiang Kangdi Vehicles Co., Ltd. (motorcycles, ATVs) |- | L5E || Zoomlion Heavy Industry Science & Technology Co., Ltd. |- | L5K || Zhejiang Yongkang Easy Vehicle |- | L5N || Zhejiang Taotao (ATV & motorcycles) |- | L5Y || Taizhou Zhongneng Motorcycle Co. Ltd. (Znen) |- | L6F || Shandong Liangzi Power Co. Ltd. |- | L6J || Zhejiang Kayo Motor Co. Ltd. (ATV) |- | L6K || Shanghai Howhit Machinery Manufacture Co. Ltd. |- | L6T || Geely, Lynk & Co, Zeekr |- | L66 || Zhuhai Granton Bus and Coach Co. Ltd. |- | L82 || Baotian |- | L85 || Zhejiang Yongkang Huabao Electric Appliance |- | L8A || Jinhua Youngman Automobile Manufacturing Co., Ltd. |- | L8X || Zhejiang Summit Huawin Motorcycle |- | L8Y || Zhejiang Jonway Motorcycle Manufacturing Co., Ltd. |- | L9G || Zhuhai Guangtong Automobile Co., Ltd. (bus) |- | L9N || Zhejiang Taotao Vehicles Co., Ltd. |- | MAA || India Kawasaki Motors Pvt. Ltd. |- | MAB || Mahindra & Mahindra |- | MAC || Mahindra & Mahindra |- | MAH || Fiat India Automobiles Pvt. Ltd |- | MAJ || [[../Ford/VIN Codes|Ford]] India |- | MAK || [[../Honda/VIN Codes|Honda]] Cars India |- | MAL || Hyundai Motor India |- | MAN || Eicher Polaris Multix |- | MAT || Tata Motors, Rover CityRover |- | MA1 || Mahindra & Mahindra |- | MA3 || Maruti Suzuki India (domestic & export) |- | MA6 || GM India |- | MA7 || Hindustan Motors Ltd. & Mitsubishi Motors & Isuzu models made by Hindustan Motors |- | MA8 || Daewoo Motor India |- | MBF || Royal Enfield |- | MBH || Suzuki (for export) & Nissan Pixo made by Maruti Suzuki India Limited |- | MBJ || [[../Toyota/VIN Codes|Toyota]] Kirloskar Motor Pvt. Ltd. |- | MBK || MAN Trucks India Pvt. Ltd. |- | MBL || Hero MotoCorp |- | MBR || Mercedes-Benz India |- | MBU || Swaraj Vehicles Limited |- | MBV || Premier Automobiles Ltd. |- | MBX || Piaggio India (Piaggio Ape) |- | MBY || Asia Motor Works Ltd. |- | MB1 || Ashok Leyland |- | MB2 || Hyundai Motor India (SUV) |- | MB7 || Reva Electric Car Company/Mahindra Reva Electric Vehicles Pvt. Ltd. |- | MB8 || Suzuki Motorcycle India Limited |- | MCA || FCA India Automobiles Pvt. Ltd. (Fiat, Jeep) |- | MCB || GM India |- | MCD || Mahindra Two Wheelers |- | MCG || Atul Auto Ltd. |- | MCL || International Cars And Motors Ltd. |- | MC1 || Force Motors Ltd. |- | MC2 || Eicher Motors Ltd./Volvo Eicher Commercial Vehicles Ltd. |- | MC4 || Dilip Chhabria Design Pvt Ltd. |- | MC9/RE1 || Reva Electric Car Company (Reva G-Wiz) |- | MDE || Kinetic Engineering Limited |- | MDH || Nissan Motor India Pvt Ltd. (including Datsun) |- | MDT || Kerala Automobiles Limited |- | MD2 || Bajaj Auto Ltd. & KTM and Husqvarna motorcycles built by Bajaj & Indian-market Triumph motorcycles built by Bajaj |- | MD6 || TVS Motor Company |- | MD7 || LML Ltd including Genuine Scooter Company Stella |- | MD9 || Shuttle Cars India |- | MEC || Daimler India Commercial Vehicles (BharatBenz) |- | MEE || Renault India Private Limited |- | MEG || Harley-Davidson India |- | MER || Benelli India |- | MES || Mahindra Navistar |- | MET || Piaggio India (Vespa, Indian-market Aprilia) |- | MEX || Škoda Auto Volkswagen India Pvt. Ltd. 2015 on |- | ME1 || India Yamaha Motor Pvt. Ltd. |- | ME3 || Royal Enfield |- | ME4 || Honda Motorcycle and Scooter India |- | MYH || Ather Energy |- | MZB || Kia India Pvt. Ltd. |- | MZD || Classic Legends Private Limited – Jawa |- | MZZ || Citroen India (PCA Automobiles India Private Limited) |- | MZ7 || MG Motor India Pvt. Ltd. |- | M3G || Isuzu Motors India |- | M6F || UM Lohia Two Wheelers Private Limited |- | ME9/ || BUYMYEV TECHNOLOGY PVT. LTD. (Indibike) |- | MF3 || PT Hyundai Motor Manufacturing Indonesia |- | MHB || PT Nissan Motor Indonesia |- | MHD || PT Indomobil Suzuki International |- | MHF || PT [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Indonesia |- | MHK || PT Astra Daihatsu Motor (includes Toyotas made by Astra Daihatsu) |- | MHL || PT Mercedes-Benz Indonesia |- | MHR || [[../Honda/VIN Codes|Honda]] Indonesia (PT Honda Prospect Motor) (car) |- | MHY || PT Suzuki Indomobil Motor (car, MPV, van) |- | MH1 || PT Astra Honda Motor (motorcycle) |- | MH3 || PT Yamaha Indonesia Motor Mfg. |- | MH4 || PT Kawasaki Motor Indonesia |- | MH8 || PT Suzuki Indomobil Motor (motorcycle) |- | MJB || GM Indonesia |- | MKF || PT Sokonindo Automobile (DFSK) |- | MK2 || PT Mitsubishi Motors Krama Yudha Indonesia |- | MK3 || PT SGMW Motor Indonesia (Wuling) |- | MLB || Siam Yamaha Co Ltd. |- | MLC || Thai Suzuki Motor Co., Ltd. (motorcycle) |- | MLE || Thai Yamaha Motor Co., Ltd. |- | MLH || Thai [[../Honda/VIN Codes|Honda]] Manufacturing Co., Ltd. (motorcycle) |- | MLW || Sco Motor Co., Ltd. (motorcycle) |- | MLY || Harley-Davidson Thailand |- | ML0 || Ducati Motor (Thailand) Co., Ltd. |- | ML3 || Mitsubishi Motors, Dodge Colt 100 [Canada], [[w:Dodge Attitude#Third generation (A10; 2015)|Dodge Attitude]] [Mexico] made by Mitsubishi (Thailand) |- | ML5 || Kawasaki Motors Enterprise Co. Ltd. (Thailand) |- | MMA || Mitsubishi Motors (Thailand) |- | MMB || Mitsubishi Motors (Thailand) |- | MMC || Mitsubishi Motors (Thailand) |- | MMD || Mitsubishi Motors (Thailand) |- | MME || Mitsubishi Motors (Thailand) |- | MMF || BMW Manufacturing (Thailand) Co., Ltd. |- | MML || MG Thailand (SAIC-CP) |- | MMM || Chevrolet Thailand, Holden Colorado RC pickup |- | MMR || Subaru/Tan Chong Subaru Automotive (Thailand) Co. Ltd. |- | MMS || Suzuki Motor (Thailand) Co., Ltd. (passenger car) |- | MMT || Mitsubishi Motors (Thailand) |- | MMU || Holden Thailand (Colorado RG, Colorado 7, & Trailblazer) |- | MM0, MM6, MM7, MM8 || Mazda Thailand (Ford-Mazda AutoAlliance Thailand plant) |- | MNA || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for Australia/New Zealand export |- | MNB || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for other right-hand drive markets |- | MNC || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for left-hand drive markets |- | MNK || Hino Motors Manufacturing Thailand Co Ltd. |- | MNT || Nissan Motor (Thailand) Co., Ltd. |- | MNU || Great Wall Motor Manufacturing (Thailand) Co., Ltd. |- | MN3 || Eagle Vista [Canada] made by Mitsubishi (Thailand) |- | MPA || Isuzu Motors (Thailand) Co., Ltd. & Holden Rodeo RA pickup made by Isuzu in Thailand |- | MPB || [[../Ford/VIN Codes|Ford]] Thailand (Ford Thailand Manufacturing plant) |- | MP1 || Isuzu Motors (Thailand) Co., Ltd. |- | MP2 || Mazda BT-50 pickup built by Isuzu Motors (Thailand) Co., Ltd. |- | MP3 || Plymouth Colt 100 [Canada] made by Mitsubishi (Thailand) |- | MP5 || Foton Motor Thailand |- | MRH || [[../Honda/VIN Codes|Honda]] Thailand (car) |- | MRT || Neta (Hozon Auto) made by Bangchan General Assembly Co., Ltd. |- | MR0 || [[../Toyota/VIN Codes|Toyota]] Thailand (pickups & Fortuner SUV) |- | MR1 || [[../Toyota/VIN Codes|Toyota]] Thailand |- | MR2 || [[../Toyota/VIN Codes|Toyota]] Thailand (Gateway plant) (passenger cars & CUVs) |- | MR3 || [[../Toyota/VIN Codes|Toyota]] Thailand (Hilux Champ chassis cab) |- | MS0 || [[../SUPER SEVEN STARS MOTORS INDUSTRY CO.,LTD/VIN Codes|Super Seven Stars Motors]] Myanmar |- | MS1 || [[../SUPER SEVEN STARS AUTOMOTIVE CO.,LTD/VIN Codes|Super Seven Stars Automotive]] Myanmar |- | MS3 || Suzuki Myanmar Motor Co., Ltd. |- | MXB || Saryarka AvtoProm bus (Kazakhstan) |- | MXL || Yutong bus made by Qaz Tehna (Kazakhstan) |- | MXV || IMZ-Ural Ural Motorcycles (Kazakhstan) |- | MX3 || Hyundai Trans Auto (Kazakhstan) |- | NAA || Iran Khodro (Peugeot Iran) |- | NAC || Mammut (truck trailers) |- | NAD || Škoda |- | NAL || Maral Sanat Jarvid (truck trailers) |- | NAP || Pars Khodro |- | NAS || SAIPA |- | NC0 || Oghab Afshan (bus) |- | NC9/ || VIRA Diesel |- | ND9/345 || Oghab Afshan (bus) |- | NFB || Honda Atlas Cars Pakistan Ltd. |- | NG3 || Lucky Motor Corporation |- | NLA || Honda Turkiye A.S. cars |- | NLC || Askam Kamyon Imalat Ve Ticaret A.S. |- | NLE || Mercedes-Benz Türk A.S. Truck |- | NLF || Koluman Otomotiv Endustri A.S. (truck trailer) |- | NLH || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv car/SUV |- | NLJ || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv van |- | NLN || Karsan |- | NLR || Otokar |- | NLT || Temsa |- | NLZ || Tezeller |- | NL1 || TOGG |- | NL2 || HABAS/HBS (bus) |- | NMA || MAN Türkiye A.Ş. |- | NMB || Mercedes-Benz Türk A.S. Buses |- | NMC || BMC Otomotiv Sanayi ve Ticaret A.Ş. |- | NMH || Honda Anadolu motorcycle |- | NMS || Otoyol San. A.Ş. |- | NMT || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Turkey |- | NM0 || Ford Otosan |- | NM1 || Oyak Renault Otomobil Fabrikaları A.Ş. |- | NM4 || Tofaş (Turk Otomobil Fabrikasi AS) |- | NNA || Anadolu Isuzu |- | NNN || Gépébus Oréos 4X (based on Otokar Vectio) |- | NNY || Yeksan (truck trailer) |- | NPM || Seyit Usta Treyler (truck trailer) |- | NPR || Oztreyler (truck trailer) |- | NPS || Nursan (truck trailer) |- | NP8|| ÖZGÜL TREYLER (truck trailer) |- | NP9/002 || OKT Trailer (truck trailer) |- | NP9/003 || Aksoylu Trailer (truck trailer) |- | NP9/011 || Güleryüz (bus) |- | NP9/021 || Dogumak (truck trailer) |- | NP9/022 || Alim (truck trailer) |- | NP9/042 || Ali Rıza Usta (truck trailer) |- | NP9/066 || Makinsan (truck trailer) |- | NP9/093 || BRF Trailer (truck trailer) |- | NP9/103 || Türkkar (bus) |- | NP9/106 || Çarsan Treyler (truck trailer) |- | NP9/107 || Arbus Perfect (bus) |- | NP9/108 || Guven Makina (truck trailer) |- | NP9/117 || Katmerciler (truck trailer) |- | NP9/300 || TCV (bus) |- | NP9/258 || Ceytrayler (truck trailer) |- | NP9/306 || Cryocan (truck trailer) |- | NRE || Bozankaya |- | NRX || Musoshi |- | NRY || Pilotcar Otomotiv |- | NR9/012 || Doğan Yıldız (truck trailer) |- | NR9/028 || Micansan (truck trailer) |- | NR9/029 || Yilteks (truck trailer) |- | NR9/034 || Akia (bus) |- | NR9/084 || Harsan (truck trailer) |- | NR9/257 || Vega Trailer (truck trailer) |- | NSA || SamAvto / SAZ (Uzbekistan) |- | NS2 || JV MAN Auto - Uzbekistan |- | NVA || Khazar (IKCO Dena made in Azerbaijan) |- | PAB || Isuzu Philippines Corporation |- | PAD || Honda Cars Philippines |- | PE1 || Ford Motor Company Philippines |- | PE3 || Mazda Philippines made by Ford Motor Company Philippines |- | PFD || Hyundai Motor Group Innovation Center in Singapore (HMGICS) |- | PL1 || Proton, Malaysia |- | PL8 || Inokom-Hyundai |- | PLP || Subaru/Tan Chong Motor Assemblies, Malaysia |- | PLZ || Isuzu Malaysia |- | PMA || MAN Truck & Bus Malaysia |- | PMH || Honda Malaysia (car) |- | PMK || Honda Boon Siew (motorcycle) |- | PML || Hicom |- | PMN || Modenas |- | PMS || Suzuki Assemblers Malaysia (motorcycle) |- | PMV || Hong Leong Yamaha Motor Sdn. Bhd. |- | PMY || Hong Leong Yamaha Motor Sdn. Bhd. |- | PM1 || BMW & Mini/Inokom |- | PM2 || Perodua |- | PM9/ || Bufori |- | PNA || Naza/Kia/Peugeot |- | PNA || Stellantis Gurun (Malaysia) Sdn. Bhd. (Peugeot) |- | PNS || SKSBUS Malaysia (bus) |- | PNS || TMSBUS Malaysia (bus) |- | PNV || Volvo Car Manufacturing Malaysia |- | PN1 || UMW Toyota Motor |- | PN2 || UMW Toyota Motor |- | PN8 || Nissan/Tan Chong Motor Assemblies, Malaysia |- | PPP || Suzuki |- | PPV || Volkswagen/HICOM Automotive Manufacturers (Malaysia) |- | PP1 || Mazda/Inokom |- | PP3 || Hyundai/Inokom |- | PRA || Sinotruk |- | PRH || Chery (by Chery Alado Holdings [joint venture] at Oriental Assemblers plant) |- | PRX || Kia/Inokom |- | PR8 || Ford |- | PRN || GAC Trumpchi made by Warisan Tan Chong Automotif Malaysia |- | PV3 || Ford made by RMA Automotive Cambodia |- | RA1 || Steyr Trucks International FZE, UAE |- | RA9/015 || Al-Assri Industries (Trailers), UAE |- | LFA || Ford Lio Ho Motor Co Ltd. old designation (Taiwan) |- | LM1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LM4 || Tai Ling Motor Co Ltd. old designation (Suzuki ATV made by Tai Ling) (Taiwan) |- | LN1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LPR || Yamaha Motor Taiwan Co. Ltd. old designation (Taiwan) |- | RFB || Kwang Yang Motor Co., Ltd. (Kymco), Taiwan |- | RFC || Taiwan Golden Bee |- | RFD || Tai Ling Motor Co Ltd. new designation (Taiwan) |- | RFG || Sanyang Motor Co., Ltd. (SYM) Taiwan |- | RFL || Her Chee Industrial Co., Ltd. (Adly), Taiwan |- | RFT || CPI Motor Company, Taiwan |- | RFV || Motive Power Industry Co., Ltd. (PGO Scooters including Genuine Scooter Company models made by PGO) (Taiwan) |- | RF3 || Aeon Motor Co., Ltd., Taiwan |- | RF5 || Yulon Motor Co. Ltd., Taiwan (Luxgen) |- | RF8 || EVT Technology Co., Ltd (motorcycle) |- | RGS || Kawasaki made by Kymco (Taiwan) |- | RHA || Ford Lio Ho Motor Co Ltd. new designation (Taiwan) |- | RKJ || Prince Motors Taiwan |- | RKL || Kuozui Motors (Toyota) (Taiwan) |- | RKM || China Motor Corporation (Taiwan) |- | RKR || Yamaha Motor Taiwan Co. Ltd. new designation |- | RKT || Access Motor Co., Ltd. (Taiwan) |- | RK3 || E-Ton Power Tech Co., Ltd. (motorcycle) (Taiwan) |- | RK3 || Honda Taiwan |- | RK7 || Kawasaki ATV made by Tai Ling Motor Co Ltd (rebadged Suzuki ATV) new designation (Taiwan) |- | RLA || Vina Star Motors Corp. – Mitsubishi (Vietnam) |- | RLC || Yamaha Motor Vietnam Co. Ltd. |- | RLE || Isuzu Vietnam Co. |- | RLH || Honda Vietnam Co. Ltd. |- | RLL || VinFast SUV |- | RLM || Mercedes-Benz Vietnam |- | RLN || VinFast |- | RLV || Vietnam Precision Industrial CO., Ltd. (Can-Am DS 70 & DS 90) |- | RL0 || Ford Vietnam |- | RL4 || Toyota Motor Vietnam |- | RP8 || Piaggio Vietnam Co. Ltd. |- | RUN || Sollets-Auto ST6 (Russia) |- | R1J || Jiayuan Power (Hong Kong) Ltd. (Electric Low-Speed Vehicles) (Hong Kong) |- | R1N || Niu Technologies Group Ltd. (Hong Kong) |- | R10 || ZAP (HK) Co. Ltd. |- | R19/003 || GMI (bus) (Hong Kong) |- | R2P || Evoke Electric Motorcycles (Hong Kong) |- | R3M || Mangosteen Technology Co., Ltd. (Hong Kong) |- | R36 || HK Shansu Technology Co., Ltd. (Hong Kong) |- | R4N || Elyx Smart Technology Holdings (Hong Kong) Ltd. |- | R82 || Hangzhou Lantu Technology Co., Ltd. (Hong Kong) |- | SAA || Austin |- | SAB || Optare (1985-2020), Switch Mobility (2021-) |- | SAD || Daimler Company Limited (until April 1987) |- | SAD || Jaguar SUV (E-Pace, F-Pace, I-Pace) |- | SAF || ERF trucks |- | SAH || Honda made by Austin Rover Group |- | SAJ || Jaguar passenger car & Daimler passenger car (after April 1987) |- | SAL || [[../Land Rover/VIN Codes|Land Rover]] |- | SAM || Morris |- | SAR || Rover & MG Rover Group |- | SAT || Triumph car |- | SAX || Austin-Rover Group including Sterling Cars |- | SAY || Norton Motorcycles |- | SAZ || Freight Rover |- | SA3 || Ginetta Cars |- | SA9/ || OX Global |- | SA9/A11 || Morgan Roadster (V6) (USA) |- | SA9/J00 || Morgan Aero 8 (USA) |- | SA9/004 || Morgan (4-wheel passenger cars) |- | SA9/005 || Panther |- | SA9/010 || Invicta S1 |- | SA9/011 || Midas Cars |- | SA9/019 || TVR |- | SA9/022 || Triking Sports Cars |- | SA9/026 || Fleur de Lys |- | SA9/038 || DAX Cars |- | SA9/039 || Westfield Sportscars |- | SA9/048 || McLaren F1 |- | SA9/050 || Marcos Engineering |- | SA9/062 || AC Cars (Brooklands Ace) |- | SA9/068 || Johnston Sweepers |- | SA9/073 || Tomita Auto UK (Tommykaira ZZ) |- | SA9/074 || Ascari |- | SA9/088 || Spectre Angel |- | SA9/105 || Mosler Europe Ltd. |- | SA9/113 || Noble |- | SA9/130 || MG Sport and Racing |- | SA9/141 || Wrightbus |- | SA9/202 || Morgan 3-Wheeler, Super 3 |- | SA9/207 || Radical Sportscars |- | SA9/211 || BAC (Briggs Automotive Company Ltd.) |- | SA9/225 || Paneltex (truck trailer) |- | SA9/231 || Peel Engineering |- | SA9/337 || Ariel |- | SA9/341 || Zenos |- | SA9/438 || Charge Cars |- | SA9/458 || Gordon Murray Automotive |- | SA9/474 || Mellor (bus) |- | SA9/612 || Tiger Racing (kit car) |- | SA9/621 || AC Cars (Ace) |- | SBB || Leyland Vehicles |- | SBC || Iveco Ford Truck |- | SBF || Nugent (trailer) |- | SBJ || Leyland Bus |- | SBL || Leyland Motors & Leyland DAF |- | SBM || McLaren |- | SBS || Scammell |- | SBU || United Trailers (truck trailer) |- | SBV || Kenworth & Peterbilt trucks made by Leyland Trucks |- | SBW || Weightlifter Bodies (truck trailer) |- | SB1 || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing UK |- | SCA || Rolls Royce passenger car |- | SCB || Bentley passenger car |- | SCC || Lotus Cars & Opel Lotus Omega/Vauxhall Lotus Carlton |- | SCD || Reliant Motors |- | SCE || DeLorean Motor Cars N. Ireland (UK) |- | SCF || Aston Martin Lagonda Ltd. passenger car & '21 DBX SUV |- | SCG || Triumph Engineering Co. Ltd. (original Triumph Motorcycle company) |- | SCK || Ifor Williams Trailers |- | SCM || Manitowoc Cranes - Grove |- | SCR || London Electric Vehicle Company & London Taxi Company & London Taxis International |- | SCV || Volvo Truck & Bus Scotland |- | SC5 || Wrightbus (from ~2020) |- | SC6 || INEOS Automotive SUV |- | SDB || Talbot |- | SDC || SDC Trailers Ltd. (truck trailer) |- | SDF || Dodge Trucks – UK 1981–1984 |- | SDG || Renault Trucks Industries 1985–1992 |- | SDK || Caterham Cars |- | SDL || TVR |- | SDP || NAC MG UK & MG Motor UK Ltd. |- | SDU || Utility (truck trailer) |- | SD7 || Aston Martin SUV |- | SD8 || Moke International Ltd. |- | SED || IBC Vehicles (General Motors Luton Plant) (Opel/Vauxhall, 1st gen. Holden Frontera, Isuzu Midi) |- | SEG || Dennis Eagle Ltd., including Renault Trucks Access and D Access |- | SEP || Don-Bur (truck trailer) |- | SEY || LDV Group Ltd. |- | SFA || [[../Ford/VIN Codes|Ford]] UK |- | SFD || Dennis UK / Alexander Dennis |- | SFE || Alexander Dennis UK |- | SFR || Fruehauf (truck trailer) |- | SFN || Foden Trucks |- | SFZ || Tesla Roadster made by Lotus |- | SGA || Avondale (caravans) |- | SGB || Bailey (caravans) |- | SGD || Swift Group Ltd. (caravans) |- | SGE || Elddis (caravans) |- | SGL || Lunar Caravans Ltd. |- | SG4 || Coachman (caravans) |- | SHH || [[../Honda/VIN Codes|Honda]] UK passenger car |- | SHS || [[../Honda/VIN Codes|Honda]] UK SUV |- | SH7 || INEOS Automotive truck |- | SJA || Bentley SUV |- | SJB || Brian James Trailers Ltd |- | SJK || Nissan Motor Manufacturing UK - Infiniti |- | SJN || Nissan Motor Manufacturing UK - Nissan |- | SJ1 || Ree Automotive |- | SKA || Vauxhall |- | SKB || Kel-Berg Trailers & Trucks |- | SKF || Bedford Vehicles |- | SKL || Anaig (UK) Technology Ltd |- | SLA || Rolls Royce SUV |- | SLC || Thwaites Dumpers |- | SLG || McMurtry Automotive |- | SLN || Niftylift |- | SLP || JC Bamford Excavators Ltd. |- | SLV || Volvo bus |- | SMR || Montracon (truck trailer) |- | SMT || Triumph Motorcycles Ltd. (current Triumph Motorcycle company) |- | SMW || Cartwright (truck trailer) |- | SMX || Gray & Adams (truck trailer) |- | SNE || Barkas (East Germany) |- | SNE || Wartburg (East Germany) |- | SNT || Trabant (East Germany) |- | SNZ || MZ (motorcycle) (Germany) |- | SPE || B-ON GmbH (Germany) |- | ST3 || Calabrese (truck trailer) |- | SUA || Autosan (bus) |- | SUB || Tramp Trail (trailer) |- | SUC || Wiola (trailer) |- | SUD || Wielton (truck trailers) |- | SUF || FSM/Fiat Auto Poland (Polski Fiat) |- | SUG || Mega Trailers (truck trailer) (Poland) |- | SUJ || Jelcz (Poland) |- | SUL || FSC (Poland) |- | SUM || Novatrail (truck trailers) |- | SUP || FSO/Daewoo-FSO (Poland) |- | SUU || Solaris Bus & Coach (Poland) |- | SU9/AR1 || Emtech (truck trailer) |- | SU9/BU1 || BODEX (truck trailer) |- | SU9/DE2 || Demarco (truck trailer) |- | SU9/EB1 || Elbo (truck trailer) |- | SU9/EZ1 || Enerco (truck trailer) |- | SU9/NC5 || Zasta (truck trailer) |- | SU9/NJ1 || Janmil (truck trailer) |- | SU9/PL1 || Plandex (truck trailer) |- | SU9/PN1 || Solaris Bus & Coach (Poland) - until 2004 |- | SU9/RE1 || Redos (truck trailer) |- | SU9/RE2 || Gromex (trailer) |- | SU9/TR1 || Plavec (truck trailer) |- | SU9/YV1 || Pilea bus/ARP E-Vehicles (Poland) |- | SU9/ZC1 || Wolf (truck trailer) |- | SVH || ZASŁAW (truck trailer) |- | SVM || Inter Cars (truck trailer) |- | SVS || BODEX (truck trailer) |- | SV9/BC2 || BC-LDS (truck trailer) |- | SV9/DR1 || Dromech (truck trailer) |- | SV9/RN1 || Prod-Rent (truck trailer) |- | SWH || Temared (trailers) |- | SWR || Weekend Trailers (trailers) |- | SWV || TA-NO (Poland) |- | SWZ || Zremb (trailers) |- | SW9/BA1 || Solbus |- | SW9/WG3 || Grew / Opalenica (trailer) |- | SXE || Neptun Trailers |- | SXK || Konar (truck trailer) |- | SXM || MELEX Sp. z o.o. |- | SXY || Wecon (truck trailer) |- | SXX || Martz (trailer) |- | SX7 || Arthur Bus |- | SX9/GR0 || GRAS (truck trailer) |- | SX9/KT1 || AMZ - Kutno (bus) |- | SX9/PN1 || Polkon (truck trailer) |- | SX9/SP1 || SOMMER Polska (truck trailer) |- | SYB || Rydwan (trailer) |- | SYG || Gniotpol, GT Trailers Sp. z o. o. (truck trailer) |- | SY1 || Neso Bus (PAK-PCE Polski Autobus Wodorowy) |- | SY9/FR1 || Feber (truck trailer) |- | SY9/PF1 || KEMPF (truck trailer) |- | SZA || Scania Poland |- | SZC || Vectrix (motorcycle) |- | SZL || Boro Trailers |- | SZN || Przyczepy Głowacz (trailer) |- | SZR || Niewiadów (trailer) |- | SZ9/AE6 || Gewe (trailer) |- | SZ9/BG1 || GALA Syriusz (trailer) |- | SZ9/PW1 || PRO-WAM (truck trailer) |- | SZ9/TU1 || Ovibos (truck trailer) |- | S19/AM0 || AMO Plant (bus) (Latvia) |- | S19/EF1 || Electrify (minibus) (Latvia) |- | S19/MT0 || Mono-Transserviss (truck trailer) (Latvia) |- | TAW || NAW Nutzfahrzeuggesellschaft Arbon & Wetzikon AG (Switzerland) |- | TBS || Boschung AG (Switzerland) |- | TCC || Micro Compact Car AG (smart 1998-1999) (Switzerland) |- | TDM || QUANTYA Swiss Electric Movement (Switzerland) |- | TEB || Bucher Municipal AG (includes Johnston Sweepers) (Switzerland) |- | TEM || Twike (SwissLEM AG) (Switzerland) |- | TFH || FHS Frech-Hoch AG (truck trailer) (Switzerland) |- | TH9/512 || Hess AG (bus, trolleybus) (Switzerland) |- | TJ5 || Vezeko (trailer) (Czech Republic) |- | TKP || Panav a.s. (truck trailer) (Czech Republic) |- | TKX || Agados s.r.o. (trailer) (Czech Republic) |- | TKY || Metaco (truck trailer) (Czech Republic) |- | TK9/AH3 || Atmos Chrást s.r.o. (Czech Republic) |- | TK9/AP3 || Agados, spol. s.r.o. (trailer) (Czech Republic) |- | TK9/HP1 || Hipocar (truck trailer) (Czech Republic) |- | TK9/PP7 || Paragan Trucks (truck trailer) (Czech Republic) |- | TK9/SL5 || SOR Libchavy buses (Czech Republic) |- | TK9/SS5 || SVAN Chrudim (truck trailer) (Czech Republic) |- | TLJ || Jawa Moto (Czech Republic) |- | TMA || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech |- | TMB || Škoda Auto|Škoda (Czech Republic) |- | TMC || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech (SUV) |- | TMK || Karosa (Czech Republic) |- | TMP || Škoda trolleybuses (Czech Republic) |- | TMT || Tatra passenger car (Czech Republic) |- | TM9/CA2 || Oasa bus (Oprava a stavba automobilů) (Czech Republic) |- | TM9/SE3 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/SE4 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/TE6 || TEDOM bus (Czech Republic) |- | TNA || Avia/Daewoo Avia |- | TNE || TAZ |- | TNG || LIAZ (Liberecké Automobilové Závody) |- | TNT || Tatra trucks |- | TNU || Tatra trucks |- | TN9/EE7 || Ekova (bus) (Czech Republic) |- | TN9/VP5 || VPS (truck trailer) |- | TRA || Ikarus Bus |- | TRC || Csepel bus |- | TRE || Rákos bus |- | TRK || Credo bus/Kravtex (Hungary) |- | TRR || Rába Bus (Hungary) |- | TRU || Audi Hungary (TT/TTS) |- | TSB || Ikarus Bus |- | TSC || VIN assigned by the National Transport Authority of Hungary |- | TSE || Ikarus Egyedi Autobuszgyar (EAG) (Hungary) |- | TSF || Alfabusz (Hungary) |- | TSM || Suzuki Hungary (Magyar Suzuki),<br> Fiat Sedici made by Suzuki, Subaru Justy G3X made by Suzuki, Suzuki Swace made by Toyota UK (TMUK) |- | TSY || Keeway Motorcycles (Hungary) |- | TS9/111 || NABI Autóbuszipari (bus) (Hungary) |- | TS9/130 || Enterprise Bus (Hungary) |- | TS9/131 || MJT bus (Hungary) |- | TS9/156 || Ikarus / ARC (Auto Rad Controlle Kft.) bus (Hungary) |- | TS9/167 || Hungarian Bus Kft. (Hungary) |- | TS9/170 || Csaba Metál bus (Hungary) |- | TT9/117 || Ikarus Egyedi Autobusz Gyarto Kft. / Magyar Autóbuszgyártó Kft. / MABI (Hungary) |- | TT9/123 || Ikarus Global Zrt. (Hungary) |- | TWG || CaetanoBus (Portugal) |- | TW0 || CaetanoBus (Portugal) |- | TW1 || Toyota Caetano Portugal, S.A. (Toyota Coaster, Dyna, Optimo, Land Cruiser 70 Series) |- | TW2 || [[../Ford/VIN Codes|Ford]] Lusitana (Portugal) |- | TW4 || UMM (Portugal) |- | TW6 || Citroën (Portugal) |- | TW7 || Mini Moke made by British Leyland & Austin Rover Portugal |- | TX5 || Mini Moke made by Cagiva (Moke Automobili) |- | TX9/046 || Riotrailer (truck trailer) (Portugal) |- | TYA || Mitsubishi Fuso Truck and Bus Corp. Portugal (right-hand drive) |- | TYB || Mitsubishi Fuso Truck and Bus Corp. Portugal (left-hand drive) |- | T3C || Lohr Backa Topola (truck trailer) (Serbia) |- | T49/BG7 || FAP (Serbia) |- | T49/BH8 || Megabus (bus) (Serbia) |- | T49/BM2 || Feniksbus (minibus) (Serbia) |- | T49/V16 || MAZ made by BIK (bus) (Serbia) |- | T7A || Ebusco (Netherlands) |- | UA1 || AUSA Center (Spain) |- | UA4 || Irizar e-mobility (Spain) |- | UCY || Silence Urban Ecomobility (Spain) |- | UD3 || Granalu truck trailers (Belgium) |- | UHE || Scanvogn (trailer) (Denmark) |- | UHL || Camp-let (recreational vehicle) (Denmark) |- | UH2 || Brenderup (trailer) (Denmark) |- | UH2 || De Forenede Trailerfabrikke (trailer) (Denmark) |- | UH9/DA3 || DAB - Danish Automobile Building (acquired by Scania) (Denmark) |- | UH9/FK1 || Dapa Trailer (truck trailer) (Denmark) |- | UH9/HF1 || HFR Trailer A/S (truck trailer) (Denmark) |- | UH9/HM1 || HMK Bilcon A/S (truck trailer) (Denmark) |- | UH9/NS1 || Nopa (truck trailer) (Denmark) |- | UH9/NT1 || Nordic Trailer (truck trailer) (Denmark) |- | UH9/VM2 || VM Tarm a/s (truck trailer) (Denmark) |- | UJG || Garia ApS - Club Car (Denmark) |- | UKR || Hero Camper (Denmark) |- | UMT || MTDK a/s (truck trailer) (Denmark) |- | UN1 || [[../Ford/VIN Codes|Ford]] Ireland |- | UN9/089 || Brian Noone Ltd. bus (Ireland) |- | UU1 || Dacia (Romania) |- | UU2 || Oltcit |- | UU3 || ARO |- | UU4 || Roman/Grivbuz |- | UU5 || Rocar |- | UU6 || Daewoo Romania |- | UU7 || Euro Bus Diamond |- | UU9 || Astra Bus |- | UVW || UMM (truck trailer) |- | UV9/AT1 || ATP Trucks, ATP Bus |- | UWR || Robus Reșița |- | UZT || UTB (Uzina de Tractoare Brașov) |- | U1A || Sanos (North Macedonia) |- | U1V || VDL Van Hool Macedonia (North Macedonia) |- | U5Y || Kia Motors Slovakia |- | U59/AS0 || ASKO (truck trailer) |- | U6A || Granus (bus) (Slovakia) |- | U6Y || Kia Motors Slovakia |- | U69/NL1 || Novoplan (bus) (Slovakia) |- | U69/SB1 || SlovBus (bus) |- | U69/TR8 || Troliga Bus (Slovakia) |- | VAG || Steyr-Daimler-Puch Puch G & Steyr-Puch Pinzgauer |- | VAH || Hangler (truck trailer) |- | VAK || Kässbohrer Transport Technik |- | VAN || MAN Austria/Steyr-Daimler-Puch Steyr Trucks |- | VAV || Schwarzmüller |- | VAX || Schwingenschlogel (truck trailer) |- | VA0 || ÖAF, Gräf & Stift |- | VA4 || KSR Group (motorcycle) |- | VA9/GS0 || Gsodam Fahrzeugbau (truck trailer) |- | VA9/ZT0 || Berger Fahrzeugtechnik (truck trailer) |- | VBF || Fit-Zel (trailer) |- | VBK || KTM |- | VBK || Husqvarna Motorcycles & Gas Gas under KTM ownership |- | VCF || Fisker Inc. (Fisker Ocean) made by Magna Steyr |- | VFA || Alpine, Renault Alpine GTA |- | VFG || Caravelair (caravans) |- | VFK || Fruehauf (truck trailers) |- | VFN || Trailor, General Trailers (truck trailers) |- | VF1 || Renault, Mobilize Duo, Eagle Medallion made by Renault, Opel/Vauxhall Arena made by Renault,<br> Mitsubishi ASX, Colt, & Grandis made by Renault |- | VF2 || Renault Trucks |- | VF3 || Peugeot |- | VF4 || Talbot |- | VF5 || Iveco Unic |- | VF6 || Renault Trucks including vans made by Renault S.A. |- | VF7 || Citroën |- | VF8 || Matra Automobiles (Talbot-Matra Murena, Rancho made by Matra, Renault Espace I/II/III, Avantime made by Matra) |- | VF9/024 || Legras Industries (truck trailer) |- | VF9/049 || G. Magyar (truck trailer) |- | VF9/063 || Maisonneuve (truck trailer) |- | VF9/132 || Jean CHEREAU S.A.S. (truck trailer) |- | VF9/300 || EvoBus France |- | VF9/435 || Merceron (truck trailer) |- | VF9/519 || Hommell |- | VF9/607 || Mathieu (sweeper) |- | VF9/673 || Venturi Automobiles |- | VF9/795 || [[../Bugatti/VIN Codes|Bugatti Automobiles S.A.S.]] |- | VF9/848 || G. Magyar (truck trailer) |- | VF9/880 || Bolloré Bluebus |- | VF9/938 || SAFRA (bus) |- | VGA || Peugeot Motocycles |- | VGT || ASCA (truck trailers) |- | VGU || Trouillet (truck trailers) |- | VGW || BSLT (truck trailers) |- | VGX || Coder (truck trailers) |- | VGY || Lohr (truck trailers) |- | VG5 || MBK (motorcycles) & Yamaha Motor |- | VG6 || Renault Trucks & Mack Trucks medium duty trucks made by Renault Trucks |- | VG7 || Renault Trucks |- | VG8 || Renault Trucks |- | VG9/019 || Naya (autonomous vehicle) |- | VG9/061 || Alstom-NTL Aptis (bus) |- | VHR || Robuste (truck trailer) |- | VHX || Manitowoc Cranes - Potain |- | VH1 || Benalu SAS (truck trailer) |- | VH8 || Microcar |- | VJR || Ligier |- | VJY || Gruau |- | VJ1 || Heuliez Bus |- | VJ2 || Mia Electric |- | VJ4 || Gruau |- | VKD || Cheval Liberté (horse trailer) |- | VK1 || SEG (truck trailer) |- | VK2 || Grandin Automobiles |- | VK8 || Venturi Automobiles |- | VLG || Aixam-Mega |- | VLU || Scania France |- | VL4 || Bluecar, Citroen E-Mehari |- | VMK || Renault Sport Spider |- | VMS || Automobiles Chatenet |- | VMT || SECMA |- | VMW || Gépébus Oréos 55 |- | VM3 || Lamberet (trailer) |- | VM3 || Chereau (truck trailer) |- | VN1 || Renault SOVAB (France), Opel/Vauxhall Movano A made at SOVAB |- | VN4 || Voxan |- | VNE || Iveco Bus/Irisbus (France) |- | VNK || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing France & '11-'13 Daihatsu Charade (XP90) made by TMMF |- | VNV || Nissan made in France by Renault |- | VRW || Goupil |- | VR1 || DS Automobiles |- | VR3 || Peugeot (under Stellantis) |- | VR7 || Citroën (under Stellantis) |- | VPL || Nosmoke S.A.S |- | VP3 || G. Magyar (truck trailers) |- | VXE || Opel Automobile Gmbh/Vauxhall van |- | VXF || Fiat van (Fiat Scudo, Ulysse '22-) |- | VXK || Opel Automobile Gmbh/Vauxhall car/SUV |- | VYC || Lancia Ypsilon (4th gen.) |- | VYE || Jeep Compass (3rd gen. - EU market '26-) |- | VYF || Fiat Doblo '23- & Fiat Topolino '23- & Fiat Grande Panda '25- |- | VYJ || Ram 1200 '25- (sold in Mexico) |- | VYS || Renault & Alpine made by Ampere (Renault 5 E-Tech, Renault 4 E-Tech, Alpine A290) |- | VZ2 || Avtomontaža (bus) (Slovenia) |- | UA2 || Iveco Massif & Campagnola made by Santana Motors in Spain |- | VSA || Mercedes-Benz Spain |- | VSC || Talbot |- | VSE || Santana Motors (Land Rover Series-based models) & Suzuki SJ/Samurai, Jimny, & Vitara made by Santana Motors in Spain |- | VSF || Santana Motors (Anibal/PS-10, 300/350) |- | VSK || Nissan Motor Iberica SA, Nissan passenger car/MPV/van/SUV/pickup & Ford Maverick 1993–1999 |- | VSR || Leciñena (truck trailers) |- | VSS || SEAT/Cupra |- | VSX || Opel Spain |- | VSY || Renault V.I. Spain (bus) |- | VS1 || Pegaso |- | VS5 || Renault Spain |- | VS6 || [[../Ford/VIN Codes|Ford]] Spain |- | VS7 || Citroën Spain |- | VS8 || Peugeot Spain |- | VS9/001 || Setra Seida (Spain) |- | VS9/011 || Advanced Design Tramontana |- | VS9/013 || Mirofret (truck trailer) (Spain) |- | VS9/016 || Irizar bus (Spain) |- | VS9/019 || Cobos Hermanos (truck trailer) (Spain) |- | VS9/031 || Carrocerias Ayats (Spain) |- | VS9/032 || Parcisa (truck trailer) (Spain) |- | VS9/044 || Beulas bus (Spain) (Spain) |- | VS9/047 || Indox (truck trailers) (Spain) |- | VS9/052 || Montull (truck trailer) (Spain) |- | VS9/057 || SOR Ibérica (truck trailers) (Spain) |- | VS9/072 || Mecanicas Silva (truck trailer) (Spain) |- | VS9/098 || Sunsundegui bus (Spain) |- | VS9/172 || EvoBus Iberica |- | VS9/917 || Nogebus (Spain) |- | VTD || Montesa Honda (Honda Montesa motorcycle models) |- | VTH || Derbi (motorcycles) |- | VTL || Yamaha Spain (motorcycles) |- | VTM || Montesa Honda (Honda motorcycle models) |- | VTP || Rieju S.A. (motorcycles) |- | VTR || Gas Gas |- | VTT || Suzuki Spain (motorcycles) |- | VVC || SOR Ibérica (truck trailers) |- | VVG || Tisvol (truck trailers) |- | VV1 || Lecitrailer Group (truck trailers) |- | VV5 || Prim-Ball (truck trailers) |- | VV9/ || [[wikipedia:Tauro Sport Auto|TAURO]] Sport Auto Spain |- | VV9/010 || Castrosúa bus (Spain) |- | VV9/125 || Indetruck (truck trailers) |- | VV9/130 || Vectia Mobility bus (Spain) |- | VV9/130 || UNVI bus (Spain) |- | VV9/359|| Hispano-Suiza |- | VWA || Nissan Vehiculos Industriales SA, Nissan Commercial Vehicles |- | VWF || Guillén Group (truck trailers) |- | VWL || Indox (truck trailers) |- | VWV || Volkswagen Spain |- | VXY || Neobus a.d. (Serbia) |- | VX1 || [[w:Zastava Automobiles|Zastava Automobiles]] / [[w:Yugo|Yugo]] (Yugoslavia/Serbia) |- | V1Y || FAS Sanos bus (Yugoslavia/North Macedonia) |- | V2X || Ikarbus a.d. (Serbia) |- | V31 || Tvornica Autobusa Zagreb (TAZ) (Croatia) |- | V34 || Crobus bus (Croatia) |- | V39/AB8 || Rimac Automobili (Croatia) |- | V39/CB3 || Eurobus (Croatia) |- | V39/WB4 || Rasco (machinery) (Croatia) |- | V6A || Bestnet AS; Tiki trailers (Estonia) |- | V6B || Brentex-Trailer (Estonia) |- | V6T || Verge Motorcycles (Estonia) |- | V61 || Respo Trailers (Estonia) |- | WAC || Audi/Porsche RS2 Avant |- | WAF || Ackermann (truck trailer) |- | WAG || Neoplan |- | WAP || Alpina |- | WAU || Audi car |- | WA1 || Audi SUV |- | WBA || BMW car |- | WBC || Boom Trikes |- | WBJ || Bitter Cars |- | WBK || Böcker Maschinenwerke GmbH |- | WBL || Blumhardt (truck trailers) |- | WBS || BMW M car |- | WBU || Bürstner (caravans) |- | WBX || BMW SUV |- | WBY || BMW i car |- | WB0 || Böckmann Fahrzeugwerke GmbH (trailers) |- | WB1 || BMW Motorrad |- | WB2 || Blyss (trailer) |- | WB3 || BMW Motorrad Motorcycles made in India by TVS |- | WB4 || BMW Motorrad Motorscooters made in China by Loncin |- | WB5 || BMW i SUV |- | WCD || Freightliner Sprinter "bus" (van with more than 3 rows of seats) 2008–2019 |- | WCM || Wilcox (truck trailer) |- | WDA || Mercedes-Benz incomplete vehicle (North America) |- | WDB || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] & Maybach |- | WDC || Mercedes-Benz SUV |- | WDD || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] car |- | WDF || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] van/pickup (French & Spanish built models – Citan & Vito & X-Class) |- | WDP || Freightliner Sprinter incomplete vehicle 2005–2019 |- | WDR || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) 2005–2019 |- | WDT || Dethleffs (caravans) |- | WDW || Dodge Sprinter "bus" (van with more than 3 rows of seats) 2008–2009 |- | WDX || Dodge Sprinter incomplete vehicle 2005–2009 |- | WDY || Freightliner Sprinter truck (cargo van with 1 row of seats) 2005–2019 |- | WDZ || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | WD0 || Dodge Sprinter truck (cargo van with 1 row of seats) 2005–2009 |- | WD1 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 incomplete vehicle |- | WD2 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 truck (cargo van with 1 row of seats) |- | WD3 || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | WD4 || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | WD5 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 MPV (van with 2 or 3 rows of seats) |- | WD6 || Freightliner Unimog truck |- | WD7 || Freightliner Unimog incomplete vehicle |- | WD8 || Dodge Sprinter MPV (van with 2 or 3 rows of seats) 2005–2009 |- | WEB || Evobus GmbH (Mercedes-Benz buses) |- | WEG || Ablinger (trailer) |- | WEL || e.GO Mobile AG |- | WFB || Feldbinder Spezialfahrzeugwerke GmbH |- | WFC || Fendt (caravans) |- | WFD || Fliegl Trailer |- | WFN || Tadano Faun GmbH |- | WF0 || [[../Ford/VIN Codes|Ford]] Germany |- | WF1 || Merkur |- | WGB || Göppel Bus GmbH |- | WG0 || Goldhofer AG (truck trailer) |- | WHB || Hobby (recreational vehicles) |- | WHD || Humbaur GmbH (truck trailer) |- | WHL || Hulco (trailer) |- | WHW || Hako GmbH |- | WHY || Hymer (recreational vehicles) |- | WH7 || Hüfferman (truck trailer) |- | WJM || Iveco/Iveco Magirus |- | WJR || Irmscher |- | WKE || Krone (truck trailers) |- | WKK || Setra (Evobus GmbH; formerly Kässbohrer) |- | WKN || Knaus, Weinsberg (caravans) |- | WKV || Kässbohrer Fahrzeugwerke Gmbh (truck trailers) |- | WK0 || Kögel (truck trailers) |- | WLA || Langendorf semi-trailers |- | WLF || Liebherr (mobile crane) |- | WMA || MAN Truck & Bus |- | WME || smart (from 5/99) |- | WMG || Demag Cranes |- | WMM || Karl Müller GmbH & Co. KG (truck trailers) |- | WMP || M & V GmbH (truck trailers) |- | WMU || Hako GmbH (Multicar) |- | WMW || MINI car |- | WMX || Mercedes-AMG used for Mercedes-Benz SLS AMG & Mercedes-AMG GT & Mercedes-AMG One (not used in North America) |- | WMZ || MINI SUV |- | WNA || Next.e.GO Mobile SE |- | WP0 || Porsche car |- | WP1 || Porsche SUV |- | WRA || Renders (truck trailers) |- | WRJ || Riese & Müller (bicycle) |- | WSE || STEMA Metalleichtbau GmbH (trailers) |- | WSJ || STERK Trailers (truck trailers) |- | WSK || Schmitz-Cargobull Gotha (truck trailers) |- | WSM || Schmitz-Cargobull (truck trailers) |- | WSP || Spitzer (truck trailers) |- | WSV || Aebi Schmidt Group |- | WS5 || StreetScooter |- | WS7 || Sono Motors |- | WTA || Tabbert (caravans) |- | WUA || Audi Sport GmbH (formerly quattro GmbH) car |- | WU1 || Audi Sport GmbH (formerly quattro GmbH) SUV |- | WVG || Volkswagen SUV & Touran |- | WVM || Arbeitsgemeinschaft VW-MAN |- | WVP || Viseon Bus |- | WVW || Volkswagen passenger car, Sharan, Golf Plus, Golf Sportsvan |- | WV1 || Volkswagen Commercial Vehicles (cargo van or 1st gen. Amarok) |- | WV2 || Volkswagen Commercial Vehicles (passenger van or minibus) |- | WV3 || Volkswagen Commercial Vehicles (chassis cab) |- | WV4 || Volkswagen Commercial Vehicles (2nd gen. Amarok & T7 Transporter made by Ford) |- | WV5 || Volkswagen Commercial Vehicles (T7 Caravelle made by Ford) |- | WWA || Wachenhut (truck trailer) |- | WWC || WM Meyer (truck trailer) |- | WZ1 || Toyota Supra (Fifth generation for North America) |- | W0D || Obermaier (truck trailer) |- | W0L || Adam Opel AG/Vauxhall & Holden |- | W0L || Holden Zafira & Subaru Traviq made by GM Thailand |- | W0V || Opel Automobile Gmbh/Vauxhall & Holden (since 2017) |- | W04 || Buick Regal & Buick Cascada |- | W06 || Cadillac Catera |- | W08 || Saturn Astra |- | W09/A55 || Artega Automobile |- | W09/A71 || Apollo |- | W09/B09 || Bitter Cars |- | W09/B16 || Brabus |- | W09/B48 || Bultmann (trailer) |- | W09/B91 || Boerner (truck trailer) |- | W09/C09 || Carnehl Fahrzeugbau (truck trailer) |- | W09/D04 || DOLL (truck trailer) |- | W09/D05 || Drögmöller (bus) |- | W09/D17 || Dinkel (truck trailer) |- | W09/E04 || Eder (trailer) |- | W09/E27 || Esterer (truck trailer) |- | W09/E32 || ES-GE (truck trailer) |- | W09/E45 || Eurotank (truck trailer) |- | W09/F46 || FSN Fahrzeugbau (truck trailer) |- | W09/F57 || Twike |- | W09/G10 || GOFA (truck trailer) |- | W09/G64 || Gumpert |- | W09/H10 || Heitling Fahrzeugbau |- | W09/H21|| Dietrich Hisle GmbH (truck trailer) |- | W09/H46 || Hendricks (truck trailer) |- | W09/H49 || H&W Nutzfahrzeugtechnik GmbH (truck trailer) |- | W09/J02 || Isdera |- | W09/K27 || Krupp |- | W09/K27 || Kotschenreuther (truck trailer) |- | W09/L05 || Liebherr |- | W09/L06 || LMC Caravan (recreational vehicles) |- | W09/M08 || MEILLER Kipper (truck trailer) |- | W09/M09 || Meierling (truck trailer) |- | W09/M29 || MAFA (truck trailer) |- | W09/M40 || Franz Mersch (trailer) |- | W09/M79 || MKF Matallbau (truck trailer) |- | W09/N22 || NFP-Eurotrailer (truck trailer) |- | W09/P13 || Pagenkopf (truck trailer) |- | W09/P72 || De Tomaso Automobili (Capricorn) |- | W09/R06 || RUF |- | W09/R14 || Rancke (truck trailer) |- | W09/R27 || Gebr. Recker Fahrzeugbau (truck trailer) |- | W09/R30 || Reisch (truck trailer) |- | W09/R38 || Rewaco |- | W09/SG0 || Sileo (bus) |- | W09/SG1 || SEKA (truck trailer) |- | W09/S24 || Sommer (truck trailer) |- | W09/S25 || Spermann (truck trailer) |- | W09/S27 || Schröder (truck trailer) |- | W09/W11 || Wilken (truck trailer) |- | W09/W14 || Weka (truck trailer) |- | W09/W16 || Wellmeyer (truck trailer) |- | W09/W20 || Kurt Willig GmbH & Co. KG (truck trailer) |- | W09/W29 || Wiese (truck trailer) |- | W09/W35 || Wecon GmbH (truck trailer) |- | W09/W46 || WT-Metall (trailer) |- | W09/W59 || Wiesmann |- | W09/W70 || Wüllhorst (truck trailer) |- | W09/W86 || Web Trailer GmbH (truck trailer) |- | W09/004 || ORTEN Fahrzeugbau (truck trailer) |- | W1A || smart |- | W1H || Freightliner Econic |- | W1K || Mercedes-Benz car |- | W1N || Mercedes-Benz SUV |- | W1T || Mercedes-Benz truck |- | W1V || Mercedes-Benz van |- | W1W || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | W1X || Mercedes-Benz incomplete vehicle (North America) |- | W1Y || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | W1Z || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | W2W || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) |- | W2X || Freightliner Sprinter incomplete vehicle |- | W2Y || Freightliner Sprinter truck (cargo van with 1 row of seats) |- | W2Z || Freightliner Sprinter "bus" (van with more than 3 rows of seats) |- | XDN || Mercedes Sprinter Classic made by GAZ (Russia) |- | XD2 || CTTM Cargoline (truck trailer) (Russia) |- | XEA || AmberAvto (Avtotor) (Russia) |- | XE2 || AMKAR Automaster (truck trailer) (Russia) |- | XF9/B24 || NK Trailers (truck trailer) (Greece) |- | XF9/D44 || Militsis (trailer) (Greece) |- | XF9/J03 || Christos Nezis (truck trailer) (Greece) |- | XF9/J63 || Kaoussis (truck trailer) (Greece) |- | XG3 || Petros Petropoulos Group - Ecoshift NOOS electric motorscooters (Greece) |- | XG4|| Mpitis (trailer) (Greece) |- | XG5 || Stavropoulos trailers (Greece) |- | XG6 || MGK Hellenic Motor motorcycles (Greece) |- | XG8 || Gorgolis SA motorcycles (Greece) |- | XG9/B01 || Sfakianakis bus Greece |- | XG9/H33 || Rappas Trailer (Greece) |- | XG9/H51 || Eurotrailer Tourlakopoulos (trailer) (Greece) |- | XG9/H92 || Diamantis N. & Co. (trailer) (Greece) |- | XΗ9/B21 || Hellenic Vehicle Industry - ELVO bus Greece |- | XH9/H08 || Poseidonas Litsakis (trailer) (Greece) |- | XH9/H34 || Flexi-Wheels (trailer) (Greece) |- | XJY || Bonum (truck trailer) (Russia) |- | XJ4 || PKTS (PK Transportnye Sistemy) bus (Russia) |- | XKM || Volgabus (Russia) |- | XLA || DAF Bus International |- | XLB || Volvo Car B.V./NedCar B.V. (Volvo Cars) |- | XLC || [[../Ford/VIN Codes|Ford]] Netherlands |- | XLD || Pacton Trailers B.V. |- | XLE || Scania Netherlands |- | XLH || Hapert (trailer) |- | XLJ || Anssems (trailer) |- | XLK || Burg Trailer Service BV (truck trailer) |- | XLR || DAF Trucks & Leyland DAF |- | XLU || Henra (trailer) |- | XLV || DAF Bus |- | XLW || Terberg Benschop BV |- | XL3 || Ebusco |- | XL4 ||Lightyear |- | XL9/001 || ESVE BV (truck trailers) |- | XL9/002 || Jumbo Groenewegen (truck trailers) |- | XL9/003 || Autobusfabriek Bova BV |- | XL9/004 || G.S. Meppel (truck trailers) |- | XL9/007|| Broshuis BV (truck trailer) |- | XL9/010|| Ginaf Trucks |- | XL9/014 || Contar (truck trailer) |- | XL9/017 || Van Eck (truck trailer) |- | XL9/021 || Donkervoort Cars |- | XL9/033 || Wijer (trailer) |- | XL9/039 || Talson (truck trailer) |- | XL9/042 || Den Oudsten Bussen |- | XL9/052 || Witteveen (trailer) |- | XL9/055 || Fripaan (truck trailer) |- | XL9/067 || HTF (truck trailer) |- | XL9/068 || Vogelzang (truck trailer) |- | XL9/069 || Kraker (truck trailer) |- | XL9/070 || Veldhuizen (truck trailers) |- | XL9/073 || Zwalve (truck trailers) |- | XL9/074 || Draco (truck trailers) |- | XL9/081 || EBO van Weel (truck trailers) |- | XL9/084 || Vocol (truck trailers) |- | XL9/089 || Meijvo (trailers) |- | XL9/092 || Bulthuis (truck trailers) |- | XL9/103 || D-TEC (truck trailers) |- | XL9/109|| Groenewold Carrosseriefabriek B.V. (car transporter) |- | XL9/150 || Univan (truck trailer) |- | XL9/251 || Spierings Mobile Cranes |- | XL9/320 || VDL Bova bus |- | XL9/348 || HOKA (trailer) |- | XL9/355 || Berdex (truck trailer) |- | XL9/363 || Spyker |- | XL9/423 || Tijhof (trailer) |- | XL9/461 || BK Market Trailers (trailer) |- | XL9/495 || BE-Combi (truck trailer) |- | XL9/508 || Talson (truck trailer) |- | XL9/527 || GINAF |- | XL9/530 || Ebusco |- | XL9/611 || Zocon (trailer) |- | XMC || NedCar B.V. Mitsubishi Motors (LHD) |- | XMD || NedCar B.V. Mitsubishi Motors (RHD) |- | XMG || VDL Bus International |- | XMR || Nooteboom Trailers |- | XM4 || RAVO Holding B.V. (sweeper) |- | XNB || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - RHD) |- | XNC || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - LHD) |- | XNJ || Broshuis (truck trailer) |- | XNL || VDL Bus & Coach |- | XNT || Pacton Trailers B.V. (truck trailer) |- | XN1 || Kraker Trailers Axel B.V. (truck trailer) |- | XPN || Knapen Trailers |- | XPP || Atec Trailers |- | XP7 || Tesla Europe (based in the Netherlands) (Gigafactory Berlin-Brandenburg) |- | XRP || Proline (trailer) |- | XRY || D-TEC (truck trailer) |- | XR7 || Qarry |- | XTA || Lada / AvtoVAZ (Russia) |- | XTB || Moskvitch / AZLK (Russia) |- | XTC || KAMAZ (Russia) |- | XTD || LuAZ (Ukraine) |- | XTE || ZAZ (Ukraine) |- | XTF || GolAZ (Russia) |- | XTH || GAZ (Russia) |- | XTJ || Lada Oka made by SeAZ (Russia) |- | XTK || IzhAvto (Russia) |- | XTM || MAZ (Belarus); used until 1997 |- | XTP || Ural (Russia) |- | XTS || ChMZAP (truck trailer) |- | XTT || UAZ / Sollers (Russia) |- | XTU || Trolza, previously ZiU (Russia) |- | XTW || LAZ (Ukraine) |- | XTY || LiAZ (Russia) |- | XTZ || ZiL (Russia) |- | XUF || General Motors Russia |- | XUS || Nizhegorodets (minibus) (Russia) |- | XUU || Avtotor (Russia, Chevrolet SKD, Kaiyi Auto) |- | XUV || Avtotor (DFSK, SWM) |- | XUZ || InterPipeVAN (truck trailer) |- | XU6 || Avtodom (minibus) (Russia) |- | XVG || MARZ (bus) (Russia) |- | XVU || Start (truck trailer) |- | XW7 || Toyota Motor Manufacturing Russia |- | XW8 || Volkswagen Group Russia |- | XWB || UZ-Daewoo/GM Uzbekistan/Ravon/UzAuto Motors (Uzbekistan) |- | XWB || Avtotor (Russia, BAIC SKD) |- | XWE || Avtotor (Russia, Hyundai-Kia SKD) |- | XWF || Avtotor (Russia, Chevrolet Tahoe/Opel/Cadillac/Hummer SKD) |- | XX3 || Ujet Manufacturing (Luxembourg) |- | XZB || SIMAZ (bus) (Russia) |- | XZE || Specpricep (truck trailer) |- | XZG || Great Wall Motor (Haval Motor Rus) |- | XZP || Gut Trailer (truck trailer) |- | XZT || FoxBus (minibus) (Russia) |- | X1D || RAF (Rīgas Autobusu Fabrika) |- | X1E || KAvZ (Russia) |- | X1F || NefAZ (Russia) |- | X1M || PAZ (Russia) |- | X1P || Ural (Russia) |- | X2L || Fox Trailer (truck trailer) (Russia) |- | X21 || Diesel-S (truck trailer) (Russia) |- | X4K || Volgabus (Volzhanin) (Russia) |- | X4T || Sommer (truck trailer) (Russia) |- | X4X || Avtotor (Russia, BMW SKD) |- | X5A || UralSpetzTrans (trailer) (Russia) |- | X6D || VIS-AVTO (Russia) |- | X6S || TZA (truck trailer) (Russia) |- | X7L || Renault AvtoFramos (1998-2014), Renault Russia (2014-2022), Moskvitch (2022-) (Russia) |- | X7M || [[../Hyundai/VIN Codes|Hyundai]] & Vortex (rebadged Chery) made by TagAZ (Russia) |- | X89/AD4 || ВМЗ (VMZ) bus |- | X89/BF8 || Rosvan bus |- | X89/CU2 || EvoBus Russland (bus) |- | X89/DJ2 || VMK (bus) |- | X89/EY4 || Brabill (minibus) |- | X89/FF6 || Lotos (bus) |- | X89/FY1 || Sherp |- | X8J || IMZ-Ural Ural Motorcycles |- | X8U || Scania Russia |- | X9F || Ford Motor Company ZAO |- | X9L || GM-AvtoVAZ |- | X9N || Samoltor (minibus) |- | X9P || Volvo Vostok ZAO Volvo Trucks |- | X9W || Brilliance, Lifan made by Derways |- | X9X || Great Wall Motors |- | X96 || GAZ |- | X99/000 || Marussia |- | X90 || GRAZ (truck trailer) |- | X0T || Tonar (truck trailer) |- | YAF || Faymonville (special transport trailers) |- | YAG || Syma aanhangwagenbouw BV (trailers) |- | YAM || MAX Trailer (truck trailers) |- | YAR || Toyota Motor Europe (based in Belgium) used for Toyota ProAce, Toyota ProAce City and Toyota ProAce Max made by PSA/Stellantis |- | YA2 || Atlas Copco Group |- | YA5 || Renders (truck trailers) |- | YA9/ || Lambrecht Constructie NV (truck trailers) |- | YA9/111 || OVA (truck trailer) |- | YA9/121 || Atcomex (truck trailer) |- | YA9/128 || EOS (bus) |- | YA9/139 || ATM Maaseik (truck trailer) |- | YA9/168 || Forthomme s.a. (truck trailer) |- | YA9/169 || Automobiles Gillet |- | YA9/180 || EOS (bus) |- | YA9/191 || Stokota (truck trailers) |- | YA9/195 || Denolf & Depla (minibus) |- | YBC || Toyota Supra (Fifth generation for Europe) |- | YBD || Addax Motors |- | YBW || Volkswagen Belgium |- | YB1 || Volvo Trucks Belgium (truck) |- | YB2 || Volvo Trucks Belgium (bus chassis) |- | YB3 || Volvo Trucks Belgium (incomplete vehicle) |- | YB4 || LAG Trailers N.V. (truck trailer) |- | YB6 || Jonckheere (VDL Belgium) |- | YCM || Mazda Motor Logistics Europe (based in Belgium) used for European-market Mazda 121 made by Ford in UK |- | YC1 || Honda Belgium NV (motorcycle) |- | YC3 || Eduard Trailers |- | YD3 || Chateau Caravans (Belgium) |- | YE1 || Van Hool (trailers) (Belgium) |- | YE2 || Van Hool (buses) (Belgium) |- | YE6 || STAS (truck trailer) |- | YE7 || Turbo's Hoet (truck trailer) |- | YF1 || Närko (truck trailer) (Finland) |- | YF3 || NTM (truck trailer) (Finland) |- | YF9/050 || JYKI (truck trailer) (Finland) |- | YGU || JJ-Trailer (trailer) (Finland) |- | YH1 || Solifer (caravans) |- | YH2 || BRP Finland (Lynx snowmobiles) |- | YH4 || Fisker Automotive (Fisker Karma) built by Valmet Automotive |- | YK1 || Saab-Valmet Finland |- | YK2, YK7 || Sisu Auto |- | YK9/003 || Kabus (bus) |- | YK9/008 || Lahden Autokori (-2013), SOE Busproduction Finland (2014-2024) (bus) |- | YK9/016 || Linkker (bus) |- | YSC || Cadillac BLS (made by Saab) |- | YSM || Polestar cars |- | YSP || Volta Trucks AB |- | YSR || Polestar SUV |- | YS2 || Scania commercial vehicles (Södertälje factory) |- | YS3 || Saab cars |- | YS4 || Scania buses and bus chassis until 2002 (Katrineholm factory) |- | YS5 || OmniNova (minibus) |- | YS7 || Solifer (recreational vehicles) |- | YS9/KV1 || Backaryd (minibus) |- | YTN || Saab made by NEVS |- | YT7 || Kabe (recreational vehicles) |- | YT9/007 || Koenigsegg |- | YT9/034 || Carvia |- | YU1 || Fogelsta, Brenderup Group (trailer) |- | YU7 || Husaberg (motorcycles) |- | YVV || WiMa 442 EV |- | YV1 || [[../Volvo/VIN Codes|Volvo]] cars |- | YV2 || [[../Volvo/VIN Codes|Volvo]] trucks |- | YV3 || [[../Volvo/VIN Codes|Volvo]] buses and bus chassis |- | YV4 || [[../Volvo/VIN Codes|Volvo]] SUV |- | YV5 || [[../Volvo/VIN Codes|Volvo Trucks]] incomplete vehicle |- | YYB || Tysse (trailer) (Norway) |- | YYC || Think Nordic (Norway) |- | YY9/017 || Skala Fabrikk (truck trailer) (Norway) |- | Y29/005 || Buddy Electric (Norway) |- | Y3D || MTM (truck trailer) (Belarus) |- | Y3F || Lida Buses Neman (Belarus) |- | Y3J || Belkommunmash (Belarus) |- | Y3K || Neman Bus (Belarus) |- | Y3M || MAZ (Belarus) |- | Y3W || VFV built by Unison (Belarus) |- | Y39/047 || Altant-M (minibus) (Belarus) |- | Y39/051 || Bus-Master (minibus) (Belarus) |- | Y39/052 || Aktriya (minibus) (Belarus) |- | Y39/072 || Klassikbus (minibus) (Belarus) |- | Y39/074 || Alterra (minibus) (Belarus) |- | Y39/135 || EuroDjet (minibus) (Belarus) |- | Y39/240 || Alizana (minibus) (Belarus) |- | Y39/241 || RSBUS (minibus) (Belarus) |- | Y39/323 || KF-AVTO (minibus) (Belarus) |- | Y4F || [[../Ford/VIN Codes|Ford]] Belarus |- | Y4K || Geely / BelGee (Belarus) |- | Y6B || Iveco (Ukraine) |- | Y6D || ZAZ / AvtoZAZ (Ukraine) |- | Y6E || LAZ (Ukraine) |- | Y6J || Bogdan group (Ukraine) |- | Y6L || Bogdan group including buses, Hyundai made by Bogdan (Ukraine) |- | Y6U || Škoda Auto made by Eurocar (Ukraine) |- | Y6W || PGFM (trailer) (Ukraine) |- | Y6Y || LEV (trailer) (Ukraine) |- | Y69/B19 || Stryi Avto (bus) (Ukraine) |- | Y69/B98 || VESTT (truck trailer) (Ukraine) |- | Y69/C49 || TAD (truck trailer) (Ukraine) |- | Y69/D75 || Barrel Dash (truck trailer) (Ukraine) |- | Y7A || KrAZ trucks (Ukraine) |- | Y7B || Bogdan group (Ukraine) |- | Y7C || Great Wall Motors, Geely made by KrASZ (Ukraine) |- | Y7D || GAZ made by KrymAvtoGAZ (Ukraine) |- | Y7F || Boryspil Bus Factory (BAZ) (Ukraine) |- | Y7S || Korida-Tech (trailer) (Ukraine) |- | Y7W || Geely made by KrASZ (Ukraine) |- | Y7X || ChRZ - Ruta (minibus) (Ukraine) |- | Y79/A23 || OdAZ (truck trailer) (Ukraine) |- | Y79/B21 || Everlast (truck trailer) (Ukraine) |- | Y79/B65 || Avtoban (trailer) (Ukraine) |- | Y8A || LAZ (Ukraine) |- | Y8H || UNV Leader (trailer) (Ukraine) |- | Y8S || Alekseevka Ximmash (truck trailer) |- | Y8X || GAZ Gazelle made by KrASZ (Ukraine) |- | Y89/A98 || VARZ (trailer) (Ukraine) |- | Y89/B75 || Knott (trailer) (Ukraine) |- | Y89/C65 || Electron (Ukraine) |- | Y9A || PAVAM (trailer) (Ukraine) |- | Y9H || LAZ (Ukraine) |- | Y9M || AMS (trailer) (Ukraine) |- | Y9T || Dnipro (trailer) (Ukraine) |- | Y9W || Pragmatec (trailer) (Ukraine) |- | Y9Z || Lada, Renault made in Ukraine |- | Y99/B32 || Santey (trailer) (Ukraine) |- | Y99/E21 || Zmiev-Trans (truck trailer) (Ukraine) |- | Y99/C79 || Electron (bus) (Ukraine) |- | ZAA || Autobianchi |- | ZAA || Alfa Romeo Junior 2024- |- | ZAC || Jeep, Dodge Hornet |- | ZAH || Rolfo SpA (car transporter) |- | ZAJ || Trigano SpA; Roller Team recreational vehicles |- | ZAM || [[../Maserati/VIN Codes|Maserati]] |- | ZAP || Piaggio/Vespa/Gilera |- | ZAR || Alfa Romeo car |- | ZAS || Alfa Romeo Alfasud & Sprint through 1989 |- | ZAS || Alfa Romeo SUV 2018- |- | ZAX || Zorzi (truck trailer) |- | ZA4 || Omar (truck trailer) |- | ZA9/A12 || [[../Lamborghini/VIN Codes|Lamborghini]] through mid-2003 (including LM002) |- | ZA9/A17 || Carrozzeria Luigi Dalla Via (bus) |- | ZA9/A18 || De Simon (bus) |- | ZA9/A33 || Bucher Schörling Italia (sweeper) |- | ZA9/A47 || Silver Car (truck trailer) |- | ZA9/B09 || Mauri Bus System |- | ZA9/B34 || Mistrall Siloveicoli (truck trailer) |- | ZA9/B45 || Bolgan (truck trailer) |- | ZA9/B49 || OMSP Macola (truck trailer) |- | ZA9/B95 || Carrozzeria Autodromo Modena (bus) |- | ZA9/C38 || Dulevo (sweeper) |- | ZA9/D38 || Cizeta Automobili SRL |- | ZA9/D39 || [[../Bugatti/VIN Codes|Bugatti Automobili S.p.A]] |- | ZA9/D50 || Italdesign Giugiaro |- | ZA9/E15 || Tecnobus Industries S.r.l. |- | ZA9/E73 || Sitcar (bus) |- | ZA9/E88 || Cacciamali (bus) |- | ZA9/F16 || OMT (truck trailer) |- | ZA9/F21 || FGM (truck trailer) |- | ZA9/F48 || Rampini Carlo S.p.A. (bus) |- | ZA9/F76 || Pagani Automobili S.p.A. |- | ZA9/G97 || EPT Horus (bus) |- | ZA9/H02 || O.ME.P.S. (truck trailer) |- | ZA9/H44|| Green-technik by Green Produzione s.r.l. (machine trailer) |- | ZA9/J21 || VRV (truck trailer) |- | ZA9/J93 || Barbi (bus) |- | ZA9/K98 || Esagono Energia S.r.l. |- | ZA9/M09 || Italdesign Automobili Speciali |- | ZA9/M27 || Dallara Stradale |- | ZA9/M91 || Automobili Pininfarina |- | ZA9/180 || De Simon (bus) |- | ZA0 || Acerbi (truck trailer) |- | ZBA || Piacenza (truck trailer) |- | ZBB || Bertone |- | ZBD || InBus |- | ZBN || Benelli |- | ZBW || Rayton-Fissore Magnum |- | ZB3 || Cardi (truck trailer) |- | ZCB || E. Bartoletti SpA (truck trailer) |- | ZCF || Iveco / Irisbus (Italy) |- | ZCG || Cagiva SpA / MV Agusta |- | ZCG || Husqvarna Motorcycles Under MV Agusta ownership |- | ZCM || BredaMenarinibus / Menarinibus / IIA (Industria Italiana Autobus) |- | ZCN || Astra Veicoli Industriali S.p.A. |- | ZCV || Vibreti (truck trailer) |- | ZCZ || BredaBus |- | ZC1 || AnsaldoBreda S.p.A. |- | ZC2 || Chrysler TC by Maserati |- | ZDC || Honda Italia Industriale SpA |- | ZDF || [[../Ferrari/VIN Codes|Ferrari]] Dino |- | ZDJ || ACM Biagini |- | ZDM || Ducati Motor Holdings SpA |- | ZDT || De Tomaso Modena SpA |- | ZDY || Cacciamali |- | ZD0 || Yamaha Motor Italia SpA & Belgarda SpA |- | ZD3 || Beta Motor |- | ZD4 || Aprilia |- | ZD5 || Casalini |- | ZEB || Ellebi (trailer) |- | ZEH || Trigano SpA (former SEA Group); McLouis & Mobilvetta recreational vehicles |- | ZES || Bimota |- | ZEX || TM Racing (motorcycle) |- | ZE5 || Carmosino (truck trailer) |- | ZFA || Fiat |- | ZFB || Fiat MPV/SUV & Ram Promaster City |- | ZFC || Fiat truck (Fiat Ducato for Mexico, Ram 1200) |- | ZFE || KL Motorcycle |- | ZFF || [[../Ferrari/VIN Codes|Ferrari]] |- | ZFJ || Carrozzeria Pezzaioli (truck trailer) |- | ZFM || Fantic Motor |- | ZFR || Pininfarina |- | ZF4 || Qvale |- | ZGA || Iveco Bus |- | ZGP || Merker (truck trailer) |- | ZGU || Moto Guzzi |- | ZG2 || FAAM (commercial vehicle) |- | ZHU || Husqvarna Motorcycles Under Cagiva ownership |- | ZHW || [[../Lamborghini/VIN Codes|Lamborghini]] (Mid-2003 – ) |- | ZHZ || Menci SpA (truck trailer) |- | ZH5 || FB Mondial (motorcycle) |- | ZJM || Malaguti |- | ZJN || Innocenti |- | ZJT || Italjet |- | ZKC || Ducati Energia Free Duck (electric quadricycle) |- | ZKH || Husqvarna Motorcycles Srl Under BMW ownership |- | ZLA || Lancia |- | ZLF || Tazzari GL SpA |- | ZLM || Moto Morini srl |- | ZLV || Laverda |- | ZNN || Energica |- | ZN0 || SWM Motorcycles S.r.l. |- | ZN3 || Iveco Defence |- | ZN6 || Maserati SUV |- | ZPB || [[../Lamborghini/VIN Codes|Lamborghini]] SUV |- | ZPY || DR Automobiles |- | ZP6 || XEV |- | ZP8 || Regis Motors |- | ZRG || Tazzari GL Imola SpA |- | ZR1 || Microlino |- | ZSG || [[../Ferrari/VIN Codes|Ferrari]] SUV |- | ZX1 || TAM (Tovarna Avtomobilov Maribor) bus (Slovenia) |- | ZX9/KU0 || K-Bus / Kutsenits (bus) (Slovenia) |- | ZX9/DUR || TAM bus (Slovenia) |- | ZX9/TV0 || TAM (Tovarna Vozil Maribor) bus (Slovenia) |- | ZY1 || Adria (recreational vehicles) (Slovenia) |- | ZY9/002 || Gorica (truck trailer) (Slovenia) |- | ZZ1 || Tomos motorcycle (Slovenia) |- | Z29/555 || Vozila FLuid (truck trailer) (Slovenia) |- | Z39/008 || Autogalantas (truck trailer) (Lithuania) |- | Z39/009 || Patikima Linija / Rimo (truck trailer) (Lithuania) |- | Z6F || Ford Sollers (Russia) |- | Z7C || Luidor (bus) (Russia) |- | Z7N || KAvZ (bus) (Russia) |- | Z7T || RoAZ (bus) (Russia) |- | Z7X || Isuzu Rus (Russia) |- | Z76 || SEMAZ (Kazakhstan) |- | Z8M || Marussia (Russia) |- | Z8N || Nissan Manufacturing Rus (Russia) |- | Z8T || PCMA Rus (Peugeot, Citroen, Mitsubishi) (Russia) |- | Z8Y || Nasteviya (bus) (Russia) |- | Z9B || KuzbassAvto (Hyundai bus) (Russia) |- | Z9M || Mercedes-Benz Trucks Vostok (Russia) |- | Z9N || Samotlor-NN (Iveco) (Russia) |- | Z94 || Hyundai Motor Manufacturing Rus (2008-2023), Solaris Auto - AGR Automotive (2023-) (Russia) |- | Z07 || Volgabus (Russia) |- | 1A4 1A8 || Chrysler brand MPV/SUV 2006–2009 only |- | 1A9/007 || Advance Mixer Inc. |- | 1A9/111 || Amerisport Inc. (federalized late model DeTomaso Pantera) |- | 1A9/398 || Ameritech (federalized McLaren F1 & Bugatti EB110) |- | 1A9/569 || American Custom Golf Cars Inc. (AGC) |- | 1AC || American Motors Corporation MPV |- | 1AF || American LaFrance truck |- | 1AJ || Ajax Manufacturing (truck trailer) |- | 1AM || American Motors Corporation car & Renault Alliance 1983 only |- | 1BN || Beall Trailers (truck trailer) |- | 1B3 || Dodge car 1981–2011 |- | 1B4 || Dodge MPV/SUV 1981–2002 |- | 1B6 || Dodge incomplete vehicle 1981–2002 |- | 1B7 || Dodge truck 1981–2002 |- | 1B9/133 || Buell Motorcycle Company through mid-1995 |- | 1B9/274 || Brooks Brothers Trailers |- | 1B9/275 || Boydstun Metal Works (truck trailer) |- | 1B9/285 || Boss Hoss Cycles |- | 1B9/374 || Big Dog Custom Motorcycles |- | 1B9/975 || Motus Motorcycles |- | 1BA || Blue Bird Corporation bus |- | 1BB || Blue Bird Wanderlodge MPV |- | 1BD || Blue Bird Corporation incomplete vehicle |- | 1BL || Balko, Inc. |- | 1C3 || Chrysler brand car 1981–2011 |- | 1C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 1C4 || Chrysler brand MPV 1990–2005 |- | 1C4 || Chrysler Group (all brands) MPV 2012– |- | 1C6 || Chrysler Group (all brands) truck 2012– |- | 1C8 || Chrysler brand MPV 2001–2005 |- | 1C9/257 || CEI Equipment Company (truck trailer) |- | 1C9/291 || CX Automotive |- | 1C9/496 || Carlinville Truck Equipment (truck trailer) |- | 1C9/535 || Chance Coach (bus) |- | 1C9/772 || Cozad (truck trailer) |- | 1C9/971 || Cool Amphibious Manufacturers International |- | 1CM || Checker Motors Corporation |- | 1CU || Cushman Haulster (Cushman division of Outboard Marine Corporation) |- | 1CY || Crane Carrier Company |- | 1CY || Battle Motors, Inc. |- | 1D3 || Dodge truck 2002–2009 |- | 1D4 || Dodge MPV/SUV 2003–2011 only |- | 1D7 || Dodge truck 2002–2011 |- | 1D8 || Dodge MPV/SUV 2003–2009 only |- | 1D9/008 || KME Fire Apparatus |- | 1D9/791 || Dennis Eagle, Inc. |- | 1DW || Stoughton Trailers (truck trailer) |- | 1E9/007 || E.D. Etnyre & Co. (truck trailer) |- | 1E9/190 || Electric Transit Inc. (trolleybus) |- | 1E9/363 || E-SUV LLC (E-Ride Industries) |- | 1E9/456 || Electric Motorsport (GPR-S electric motorcycle) |- | 1E9/526 || Epic TORQ |- | 1E9/581 || Vetter Razor |- | 1EU || Eagle Coach Corporation (bus) |- | 1FA || [[../Ford/VIN Codes|Ford]] car |- | 1FB || [[../Ford/VIN Codes|Ford]] "bus" (van with more than 3 rows of seats) |- | 1FC || [[../Ford/VIN Codes|Ford]] stripped chassis made by Ford |- | 1FD || [[../Ford/VIN Codes|Ford]] incomplete vehicle |- | 1FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 1FT || [[../Ford/VIN Codes|Ford]] truck |- | 1FU || Freightliner (truck) |- | 1FV || Freightliner (incomplete vehicle) |- | 1F1 || Ford SUV - Limousine (through 2009) |- | 1F6 || Ford stripped chassis made by Detroit Chassis LLC |- | 1F9/037 || Federal Motors Inc. |- | 1F9/140 || Ferrara Fire Apparatus (incomplete vehicle) |- | 1F9/458 || Faraday Future prototypes |- | 1F9/FT1 || FWD Corp. |- | 1F9/ST1 || Seagrave Fire Apparatus |- | 1F9/ST2 || Seagrave Fire Apparatus |- | 1G || [[../GM/VIN Codes|General Motors]] USA |- | 1G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 1G0 || GMC Rapid Transit Series (RTS) bus 1981–1984 |- | 1G0 || Opel/Vauxhall car 2007–2017 |- | 1G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 1G2 || [[../GM/VIN Codes|Pontiac]] car |- | 1G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 1G4 || [[../GM/VIN Codes|Buick]] car |- | 1G5 || GMC MPV/SUV 1981–1986 |- | 1G6 || [[../GM/VIN Codes|Cadillac]] car |- | 1G7 || Pontiac car only sold by GM Canada |- | 1G8 || Chevrolet MPV/SUV 1981–1986 |- | 1G8 || [[../GM/VIN Codes|Saturn]] car 1991–2010 |- | 1G9/492 || GreenPower Motor Company incomplete vehicle |- | 1G9/495 || Google & Waymo |- | 1GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 1GB || Chevrolet incomplete vehicles |- | 1GC || [[../GM/VIN Codes|Chevrolet]] truck |- | 1GD || GMC incomplete vehicles |- | 1GE || Cadillac incomplete vehicle |- | 1GF || Flxible bus |- | 1GG || Isuzu pickup trucks made by GM |- | 1GH || GMC Rapid Transit Series (RTS) bus 1985–1986 |- | 1GH || Oldsmobile MPV/SUV 1990–2004 |- | 1GH || Holden Acadia 2019–2020 |- | 1GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 1GK || GMC MPV/SUV 1987– |- | 1GM || [[../GM/VIN Codes|Pontiac]] MPV |- | 1GN || [[../GM/VIN Codes|Chevrolet]] MPV/SUV 1987- |- | 1GR || Great Dane Trailers (truck trailer) |- | 1GT || [[../GM/VIN Codes|GMC]] Truck |- | 1GY || [[../GM/VIN Codes|Cadillac]] SUV |- | 1HA || Chevrolet incomplete vehicles made by Navistar International |- | 1HD || Harley-Davidson & LiveWire |- | 1HF || Honda motorcycle/ATV/UTV |- | 1HG || [[../Honda/VIN Codes|Honda]] car made by Honda of America Mfg. in Ohio |- | 1HS || International Trucks & Caterpillar Trucks truck |- | 1HT || International Trucks & Caterpillar Trucks & Chevrolet Silverado 4500HD, 5500HD, 6500HD incomplete vehicle |- | 1HV || IC Bus incomplete bus |- | 1H9/674 || Hines Specialty Vehicle Group |- | 1JC || Jeep SUV 1981–1988 (using AMC-style VIN structure) |- | 1JJ || Wabash (truck trailer) |- | 1JT || Jeep truck 1981–1988 (using AMC-style VIN structure) |- | 1JU || Marmon Motor Company |- | 1J4 || Jeep SUV 1989–2011 (using Chrysler-style VIN structure) |- | 1J7 || Jeep truck 1989–1992 (using Chrysler-style VIN structure) |- | 1J8 || Jeep SUV 2002–2011 (using Chrysler-style VIN structure) |- | 1K9/058 || Kovatech Mobile Equipment (fire engine) |- | 1LH || Landoll (truck trailer) |- | 1LJ || Lincoln incomplete vehicle |- | 1LN || [[../Ford/VIN Codes|Lincoln]] car |- | 1LV || Lectra Motors |- | 1L0 || Lufkin Trailers |- | 1L1 || Lincoln car – limousine |- | 1L9/155 || LA Exotics |- | 1L9/234 || Laforza |- | 1MB || Mercedes-Benz Truck Co. |- | 1ME || [[../Ford/VIN Codes|Mercury]] car |- | 1MR || Continental Mark VI & VII 1981–1985 & Continental sedan 1982–1985 |- | 1M0 || John Deere Gator |- | 1M1 || Mack Truck USA (truck) |- | 1M2 || Mack Truck USA (incomplete vehicle) |- | 1M3 || Mack Truck USA (incomplete vehicle) |- | 1M4 || Mack Truck USA |- | 1M8 || Motor Coach Industries (bus) |- | 1M9/089 || Mauck Special Vehicles (bus) |- | 1M9/682 || Mosler Automotive |- | 1M9/816 || Proterra Through mid-2019 |- | 1N4 || Nissan car |- | 1N6 || Nissan truck |- | 1N9/019 || Neoplan USA |- | 1N9/084 || Eldorado National (California) |- | 1N9/140 || North American Bus Industries (bus) |- | 1N9/393 || Nikola Corporation (truck) |- | 1NK || Kenworth (incomplete vehicle) |- | 1NL || Gulf Stream Coach (recreational vehicles) |- | 1NN || Monon made by Evans Products Co. (truck trailer) |- | 1NP || Peterbilt (incomplete vehicle) |- | 1NX || Toyota car made by NUMMI |- | 1P3 || Plymouth car |- | 1P4 || Plymouth MPV/SUV |- | 1P7 || Plymouth Scamp |- | 1P9/038 || Hawk Vehicles, Inc. (Trihawk motorcycles) |- | 1P9/213 || Panoz |- | 1P9/255 || Pinson Truck Equipment Company (truck trailer) |- | 1PM || Polar Tank Trailer (truck trailer) |- | 1PT || Trailmobile Trailer Corporation (truck trailer) |- | 1PY || John Deere USA |- | 1RF || Roadmaster, Monaco Coach Corporation |- | 1RN || Reitnouer (truck trailer) |- | 1R9/956 || Reede Fabrication and Design (motorcycles) |- | 1ST || Airstream (recreational vehicles) |- | 1S1 || Strick Trailers (truck trailer) |- | 1S9/003 || Sutphen Corporation (fire engines - truck) |- | 1S9/009|| Superior Trailer Works (truck trailer) |- | 1S9/098 || Scania AB (Scania CN112 bus made in Orange, CT) |- | 1S9/842 || Saleen S7 |- | 1S9/260 || Stairs Welding RL (truck trailer) |- | 1S9/901 || Suckerpunch Sallys, LLC |- | 1S9/944 || SSC North America |- | 1TD || Timpte (truck trailer) |- | 1TK || Trail King (truck trailer) |- | 1TD || Transcraft Corporation (truck trailer) |- | 1T7 || Thomas Built Buses |- | 1T8 || Thomas Built Buses |- | 1T9/072 || The Trailer Co. (truck trailer) |- | 1T9/717 || Thunder Mountain Custom Cycles |- | 1T9/825 || TICO Manufacturing Company (truck) |- | 1T9/899 || Tomcar USA |- | 1T9/970 || Three Two Chopper |- | 1TC || Coachmen Recreational Vehicle Co., LLC |- | 1TU || Transportation Manufacturing Corporation |- | 1UJ || Jayco, Inc. |- | 1UT || AM General military trucks, Jeep DJ made by AM General |- | 1UY || Utility Trailer (truck trailer) |- | 1VH || Orion Bus Industries |- | 1VW || Volkswagen car |- | 1V1 || Volkswagen truck |- | 1V2 || Volkswagen SUV |- | 1V9/048 || Vector Aeromotive |- | 1V9/113 || Vantage Vehicle International Inc (low-speed vehicle) |- | 1V9/190 || Vanderhall Motor Works |- | 1WT || Winnebago Industries |- | 1WU || White Motor Company (truck) |- | 1WV 1WW || Winnebago Industries |- | 1WX 1WY || White Motor Company (incomplete vehicle) |- | 1W1 || Wilson Trailer Co. (truck trailer) |- | 1W8 || Witzco (truck trailer) |- | 1W9/010 || Weld-It Company (truck trailer) |- | 1W9/485 || Wheego Electric Cars |- | 1W9/488 || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (2010 & later) |- | 1XA || Excalibur Automobile Corporation |- | 1XK || Kenworth (truck) |- | 1XM || Renault Alliance/GTA/Encore 1984–1987 |- | 1XP || Peterbilt (truck) |- | 1Y1 || Chevrolet/Geo car made by NUMMI |- | 1YJ || Rokon International, Inc. |- | 1YV || [[../Ford/VIN Codes|Mazda made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZV || [[../Ford/VIN Codes|Ford made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZW || [[../Ford/VIN Codes|Mercury made by AutoAlliance International]] |- | 1Z3 1Z7 || Mitsubishi Raider |- | 1Z9/170 || [[w:Orange County Choppers|Orange County Choppers]] |- | 10B || Brenner Tank (truck trailer) |- | 10R || E-Z-GO |- | 10T || Oshkosh Corporation |- | 11H || Hendrickson Mobile Equipment, Inc. (fire engines - incomplete vehicle) |- | 12A || Avanti |- | 137 || AM General Hummer & Hummer H1 |- | 13N || Fontaine (truck trailer) |- | 15G || Gillig bus |- | 16C || Clenet Coachworks |- | 16W || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (prior to 2010) |- | 16X || Vixen 21 motorhome |- | 17N || John Deere incomplete vehicle (RV chassis) |- | 19U || Acura car made by Honda of America Mfg. in Ohio |- | 19V || Acura car made by Honda Manufacturing of Indiana |- | 19X || Honda car made by Honda Manufacturing of Indiana |- | 2A3 || Imperial |- | 2A4 2A8 || Chrysler brand MPV/SUV 2006–2011 only |- | 2AY 2AZ || Hino |- | 2BC || Jeep Wrangler (YJ) 1987–1988 (using AMC-style VIN structure) |- | 2BP || Ski-Doo |- | 2BV || Can-Am & Bombardier ATV |- | 2BW || Can-Am Commander E LSV |- | 2BX || Can-Am Spyder |- | 2BZ || Can-Am Freedom Trailer for Can-Am Spyder |- | 2B1 || Orion Bus Industries |- | 2B3 || Dodge car 1981–2011 |- | 2B4 || Dodge MPV 1981–2002 |- | 2B5 || Dodge "bus" (van with more than 3 rows of seats) 1981–2002 |- | 2B6 || Dodge incomplete vehicle 1981–2002 |- | 2B7 || Dodge truck 1981–2002 |- | 2B9/001 || BWS Manufacturing (truck trailer) |- | 2C1 || Geo/Chevrolet car made by CAMI Automotive |- | 2C3 || Chrysler brand car 1981–2011 |- | 2C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 2C4 || Chrysler brand MPV/SUV 2000–2005 |- | 2C4 || Chrysler Group (all brands) MPV (including Lancia Voyager & Volkswagen Routan) 2012- |- | 2C7 || Pontiac car made by CAMI Automotive only sold by GM Canada |- | 2C8 || Chrysler brand MPV/SUV 2001–2005 |- | 2C9/145 || Campagna Motors |- | 2C9/197 || Canadian Electric Vehicles |- | 2CC || American Motors Corporation MPV |- | 2CG || Asüna/Pontiac SUV made by CAMI Automotive only sold by GM Canada |- | 2CK || GMC Tracker SUV made by CAMI Automotive only sold by GM Canada 1990–1991 only |- | 2CK || Pontiac Torrent SUV made by CAMI Automotive 2006–2009 only |- | 2CM || American Motors Corporation car |- | 2CN || Geo/Chevrolet SUV made by CAMI Automotive 1990–2011 only |- | 2CT || GMC Terrain SUV made by CAMI Automotive 2010–2011 only |- | 2D4 || Dodge MPV 2003–2011 only |- | 2D6 || Dodge incomplete vehicle 2003 |- | 2D7 || Dodge truck 2003 |- | 2D8 || Dodge MPV 2003–2011 only |- | 2DG || Ontario Drive & Gear |- | 2DM || Di-Mond Trailers (truck trailer) |- | 2DN || Dynasty Electric Car Corporation |- | 2EZ || Electra Meccanica Vehicles Corp. (Solo) |- | 2E3 || Eagle car 1989–1997 (using Chrysler-style VIN structure) |- | 2E4 || 2011 Lancia MPV (Voyager) |- | 2E9/080 || Electra Meccanica Vehicles Corp. (Solo) |- | 2FA || [[../Ford/VIN Codes|Ford]] car |- | 2FH || Zenn Motor Co., Ltd. (low-speed vehicle) |- | 2FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 2FT || [[../Ford/VIN Codes|Ford]] truck |- | 2FU || Freightliner (truck) |- | 2FV || Freightliner (incomplete vehicle) |- | 2FW || Sterling Trucks (truck-complete vehicle) |- | 2FY || New Flyer |- | 2FZ || Sterling Trucks (incomplete vehicle) |- | 2Gx || [[../GM/VIN Codes|General Motors]] Canada |- | 2G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 2G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 2G2 || [[../GM/VIN Codes|Pontiac]] car |- | 2G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 2G4 || [[../GM/VIN Codes|Buick]] car |- | 2G5 || GMC MPV 1981–1986 |- | 2G5 || Chevrolet BrightDrop / BrightDrop Zevo truck 2023- |- | 2G6 || [[../GM/VIN Codes|Cadillac]] car |- | 2G7 || Pontiac car only sold by GM Canada |- | 2G8 || Chevrolet MPV 1981–1986 |- | 2GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 2GB || Chevrolet incomplete vehicles |- | 2GC || Chevrolet truck |- | 2GD || GMC incomplete vehicles |- | 2GE || Cadillac incomplete vehicle |- | 2GH || GMC GM New Look bus & GM Classic series bus |- | 2GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 2GK || GMC MPV/SUV 1987– |- | 2GN || Chevrolet MPV/SUV 1987- |- | 2GT || GMC truck |- | 2HG || [[../Honda/VIN Codes|Honda]] car made by Honda of Canada Manufacturing |- | 2HH || Acura car made by Honda of Canada Manufacturing |- | 2HJ || [[../Honda/VIN Codes|Honda]] truck made by Honda of Canada Manufacturing |- | 2HK || [[../Honda/VIN Codes|Honda]] MPV/SUV made by Honda of Canada Manufacturing |- | 2HM || Hyundai Canada |- | 2HN || Acura SUV made by Honda of Canada Manufacturing |- | 2HS || International Trucks truck |- | 2HT || International Trucks incomplete vehicle |- | 2J4 || Jeep Wrangler (YJ) 1989–1992 (using Chrysler-style VIN structure) |- | 2L1 || Lincoln incomplete vehicle – limo |- | 2LD || Triple E Canada Ltd. |- | 2LJ || Lincoln incomplete vehicle – hearse |- | 2LM || Lincoln SUV |- | 2LN || Lincoln car |- | 2M1 || Mack Trucks |- | 2M2 || Mack Trucks |- | 2ME || [[../Ford/VIN Codes|Mercury]] car |- | 2MG || Motor Coach Industries (Produced from Sept. 1, 2008 on) |- | 2MH || [[../Ford/VIN Codes|Mercury]] incomplete vehicle |- | 2MR || [[../Ford/VIN Codes|Mercury]] MPV |- | 2M9/044 || Westward Industries |- | 2M9/058 || Motor Coach Industries |- | 2NK || Kenworth incomplete vehicle |- | 2NP || Peterbilt incomplete vehicle |- | 2NV || Nova Bus |- | 2P3 || Plymouth car |- | 2P4 || Plymouth MPV 1981–2000 |- | 2P5 || Plymouth "bus" (van with more than 3 rows of seats) 1981–1983 |- | 2P9/001 || Prevost 1981–1995 |- | 2PC || Prevost 1996- |- | 2S2 || Suzuki car made by CAMI Automotive |- | 2S3 || Suzuki SUV made by CAMI Automotive |- | 2TU || Tri-Star Industries Limited |- | 2T1 || [[../Toyota/VIN Codes|Toyota]] car made by TMMC |- | 2T2 || Lexus SUV made by TMMC |- | 2T3 || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMC |- | 2T9/206 || Triple E Canada Ltd. |- | 2V4 || Volkswagen Routan made by Chrysler Canada |- | 2V8 || Volkswagen Routan made by Chrysler Canada |- | 2W9/044 || Westward Industries |- | 2WK || Western Star truck |- | 2WL || Western Star incomplete vehicle |- | 2WM || Western Star incomplete vehicle |- | 2XK || Kenworth truck |- | 2XM || Eagle Premier 1988 only (using AMC-style VIN structure) |- | 2XP || Peterbilt truck |- | 3A4 3A8 || Chrysler brand MPV 2006–2010 only |- | 3A9/050 || MARGO (truck trailer) |- | 3AK || Freightliner Trucks |- | 3AL || Freightliner Trucks |- | 3AW || Fruehauf de Mexico (truck trailer) |- | 3AX || Scania Mexico |- | 3BE || Scania Mexico (buses) |- | 3BJ || Western Star 3700 truck made by DINA S.A. |- | 3BK || Kenworth incomplete vehicle |- | 3BM || Motor Coach Industries bus made by DINA S.A. |- | 3BP || Peterbilt incomplete vehicle |- | 3B3 || Dodge car 1981–2011 |- | 3B4 || Dodge SUV 1986–1993 |- | 3B6 || Dodge incomplete vehicle 1981–2002 |- | 3B7 || Dodge truck 1981–2002 |- | 3C3 || Chrysler brand car 1981–2011 |- | 3C3 || Chrysler Group (all brands) car (including Fiat) 2012- |- | 3C4 || Chrysler brand MPV 2001–2005 |- | 3C4 || Chrysler Group (all brands) MPV (including Fiat) 2012- |- | 3C6 || Chrysler Group (all brands) truck 2012– |- | 3C7 || Chrysler Group (all brands) incomplete vehicle 2012– |- | 3C8 || Chrysler brand MPV 2001–2005 |- | 3CA || Chrysler brand MPV 2001 (PT Cruiser w/serial# 232057-265662) |- | 3CE || Volvo Buses de Mexico |- | 3CG || KTMMEX S.A. de C.V. |- | 3CZ || Honda SUV made by Honda de Mexico |- | 3D2 || Dodge incomplete vehicle 2007–2009 |- | 3D3 || Dodge truck 2006–2009 |- | 3D4 || Dodge SUV 2009–2011 |- | 3D6 || Dodge incomplete vehicle 2003–2011 |- | 3D7 || Dodge truck 2002–2011 |- | 3EL || ATRO (truck trailer) |- | 3E4 || 2011 Fiat SUV (Freemont) |- | 3FA || [[../Ford/VIN Codes|Ford]] car |- | 3FC || Ford stripped chassis made by Ford & IMMSA |- | 3FE || [[../Ford/VIN Codes|Ford]] Mexico |- | 3FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 3FN || Ford F-650/F-750 made by Blue Diamond Truck Co. (truck) |- | 3FR || Ford F-650/F-750 & Ford LCF made by Blue Diamond Truck Co. (incomplete vehicle) |- | 3FT || [[../Ford/VIN Codes|Ford]] truck |- | 3F6 || Sterling Bullet |- | 3G || [[../GM/VIN Codes|General Motors]] Mexico |- | 3G0 || Saab 9-4X 2011 |- | 3G0 || Holden Equinox 2018–2020 |- | 3G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 3G2 || [[../GM/VIN Codes|Pontiac]] car |- | 3G4 || [[../GM/VIN Codes|Buick]] car |- | 3G5 || [[../GM/VIN Codes|Buick]] SUV |- | 3G7 || [[../GM/VIN Codes|Pontiac]] SUV |- | 3GA || JAC models assembled by Giant Motors in Mexico |- | 3GC || Chevrolet truck |- | 3GK || GMC SUV |- | 3GM || Holden Suburban |- | 3GN || Chevrolet SUV |- | 3GP || Honda Prologue EV made by GM |- | 3GS || Saturn SUV |- | 3GT || GMC truck |- | 3GY || Cadillac SUV |- | 3H1 || Honda motorcycle/UTV |- | 3H3 || Hyundai de Mexico, S.A. de C.V. for Hyundai Translead (truck trailers) |- | 3HA || International Trucks incomplete vehicle |- | 3HC || International Trucks truck |- | 3HD || Acura SUV made by Honda de Mexico |- | 3HG || [[../Honda/VIN Codes|Honda]] car made by Honda de Mexico |- | 3HS || International Trucks & Caterpillar Trucks truck |- | 3HT || International Trucks & Caterpillar Trucks incomplete vehicle |- | 3HV || International incomplete bus |- | 3JB || BRP Mexico (Can-Am ATV/UTV & Can-Am Ryker) |- | 3KM || Kia/Hyundai MPV/SUV made by KMMX |- | 3KP || Kia/Hyundai car made by KMMX |- | 3LN || Lincoln car |- | 3MA || Mercury car (1988-1995) |- | 3MD || Mazda de Mexico car (Mazda 2) |- | 3ME || Mercury car (1996-2011) |- | 3MF || BMW M car |- | 3MG || Isuzu Motors de Mexico |- | 3MJ || Mazda CX-3 (Mazda de Mexico) |- | 3MV || Mazda de Mexico SUV (Mazda CX-30) |- | 3MW || BMW car |- | 3MY || Toyota car made by Mazda de Mexico Vehicle Operation |- | 3MZ || Mazda de Mexico car (Mazda 3) |- | 3N1 || Nissan Mexico car |- | 3N6 || Nissan Mexico truck & Chevrolet City Express |- | 3N8 || Nissan Mexico MPV |- | 3NS || Polaris Industries ATV |- | 3NE || Polaris Industries UTV |- | 3P3 || Plymouth car |- | 3PC || Infiniti SUV made by COMPAS |- | 3TM || Toyota truck made by TMMBC |- | 3TY || Toyota truck made by TMMGT |- | 3VV || Volkswagen Mexico SUV |- | 3VW || Volkswagen Mexico car |- | 3WK || Kenworth truck |- | 3WP || Peterbilt truck |- | 4A3 || Mitsubishi Motors car |- | 4A4 || Mitsubishi Motors SUV |- | 4B3 || Dodge car made by Diamond-Star Motors factory |- | 4B9/038 || BYD Coach & Bus LLC |- | 4C3 || Chrysler car made by Diamond-Star Motors factory |- | 4C6 || Reinke Manufacturing Company (truck trailer) |- | 4C9/272 || Christini Technologies (motorcycle) |- | 4C9/561 || Czinger |- | 4C9/626 || Canoo Inc. |- | 4CD || Oshkosh Chassis Division incomplete vehicle (RV chassis) |- | 4DR || IC Bus |- | 4E3 || Eagle car made by Diamond-Star Motors factory |- | 4EN || E-ONE, Inc. (fire engines - truck) |- | 4F2 || Mazda SUV made by Ford |- | 4F4 || Mazda truck made by Ford |- | 4G1 || Chevrolet Cavalier convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G2 || Pontiac Sunfire convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G3 || Toyota Cavalier made by GM |- | 4G5 || General Motors EV1 |- | 4GD || WhiteGMC Brigadier 1988–1989 made by GM |- | 4GD || Opel/Vauxhall Sintra |- | 4GL || Buick incomplete vehicle |- | 4GT || Isuzu incomplete vehicle built by GM |- | 4JG || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] SUV |- | 4J8 || LBT, Inc. (truck trailer) |- | 4KB || Chevrolet W-Series incomplete vehicle (gas engine only) made by GM |- | 4KD || GMC W-Series incomplete vehicle (gas engine only) made by GM |- | 4KE || U.S. Electricar Consulier |- | 4KL || Isuzu N-Series incomplete vehicle (gas engine only) built by GM |- | 4LM || Capacity of Texas (truck) |- | 4M2 || [[../Ford/VIN Codes|Mercury]] MPV/SUV |- | 4MB || Mitsubishi Motors |- | 4ML || Oshkosh Trailer Division |- | 4MZ || Buell Motorcycle Company |- | 4N2 || Nissan Quest made by Ford |- | 4NU || Isuzu Ascender made by GM |- | 4P1 || Pierce Manufacturing Inc. USA |- | 4P3 || Plymouth car made by Diamond-Star Motors factory 1990–1994 |- | 4P3 || Mitsubishi Motors SUV made by Mitsubishi Motor Manufacturing of America 2013–2015 for export only |- | 4RK || Nova Bus & Prevost made by Nova Bus (US) Inc. |- | 4S1 || Isuzu truck made by Subaru Isuzu Automotive |- | 4S2 || Isuzu SUV made by Subaru Isuzu Automotive & 2nd gen. Holden Frontera made by SIA |- | 4S3 || [[../Subaru/VIN Codes|Subaru]] car |- | 4S4 || [[../Subaru/VIN Codes|Subaru]] SUV/MPV |- | 4S6 || Honda SUV made by Subaru Isuzu Automotive |- | 4S7 || Spartan Motors incomplete vehicle |- | 4S9/197 || Smith Electric Vehicles |- | 4S9/345 || Satellite Suites (trailer) |- | 4S9/419 || Spartan Motors truck |- | 4S9/454 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/520 || Signature Autosport, LLC (Osprey Custom Cars) |- | 4S9/542 || Scuderia Cameron Glickenhaus SCG Boot (M.P.V.) |- | 4S9/544 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/559 || Spartan Fire, LLC truck (formerly Spartan ER) |- | 4S9/560 || Spartan Fire, LLC incomplete vehicle (formerly Spartan ER) |- | 4S9/569 || SC Autosports, LLC (Kandi) |- | 4TA || [[../Toyota/VIN Codes|Toyota]] truck made by NUMMI |- | 4T1 || [[../Toyota/VIN Codes|Toyota]] car made by Toyota Motor Manufacturing Kentucky |- | 4T3 || [[../Toyota/VIN Codes|Toyota]] MPV/SUV made by Toyota Motor Manufacturing Kentucky |- | 4T4 || [[../Toyota/VIN Codes|Toyota]] car made by Subaru of Indiana Automotive |- | 4T9/208 || Xos, Inc. |- | 4T9/228 || Lumen Motors |- | 4UF || Arctic Cat Inc. |- | 4US || BMW car |- | 4UZ || Freightliner Custom Chassis Corporation & <br /> gas-powered Mitsubishi Fuso trucks assembled by Freightliner Custom Chassis & <br /> Thomas Built Buses FS-65 & Saf-T-Liner C2 |- | 4V0 || Crossroads RV (recreational vehicles) |- | 4V1 || WhiteGMC (truck) |- | 4V2 || WhiteGMC (incomplete vehicle) |- | 4V3 || Volvo Trucks North America (truck) |- | 4V4 || Volvo Trucks North America (truck) |- | 4V5 || Volvo Trucks North America (incomplete vehicle) |- | 4V6 || Volvo Trucks North America (truck) |- | 4VA || Volvo Trucks North America (truck) |- | 4VE || Volvo Trucks North America (incomplete vehicle) |- | 4VG || Volvo Trucks North America (truck) |- | 4VH || Volvo Trucks North America (incomplete vehicle) |- | 4VM || Volvo Trucks North America (incomplete vehicle) |- | 4VZ || Spartan Motors/The Shyft Group (incomplete vehicle – bare chassis only) |- | 4WW || Wilson Trailer Sales |- | 4W1 || '24+ Chevrolet Suburban HD made by GM Defense for US govt. in Concord, NC |- | 4W5 || Acura ZDX EV made by GM |- | 4XA || Polaris Inc. |- | 4X4 || Forest River |- | 4YD || KeyStone RV Company (recreational vehicle) |- | 4YM || Carry-On Trailer, Inc. |- | 4YM || Anderson Manufacturing (trailer) |- | 4Z3 || American LaFrance truck |- | 43C || Consulier |- | 44K || HME Inc. (fire engines - incomplete vehicle) (HME=Hendrickson Mobile Equipment) |- | 46G || Gillig incomplete vehicle |- | 46J || Federal Motors Inc |- | 478 || Honda ATV |- | 480 || Sterling Trucks (truck) |- | 49H || Sterling Trucks (incomplete vehicle) |- | 5AS || Global Electric Motorcars (GEM) 1999-2011 |- | 5AX || Armor Chassis (truck trailer) |- | 5A4 || Load Rite Trailers Inc. |- | 5BP || Solectria |- | 5BZ || Nissan "bus" (van with more than 3 rows of seats) |- | 5B4 || Workhorse Custom Chassis, LLC incomplete vehicle (RV chassis) |- | 5CD || Indian Motorcycle Company of America (Gilroy, CA) |- | 5CX || Shelby Series 1 |- | 5DF || Thomas Dennis Company LLC |- | 5DG || Terex Advance Mixer |- | 5EH || Excelsior-Henderson Motorcycle |- | 5EO || Cottrell (truck trailer) |- | 5FC || Columbia Vehicle Group (Columbia, Tomberlin) (low-speed vehicles) |- | 5FN || Honda MPV/SUV made by Honda Manufacturing of Alabama |- | 5FP || Honda truck made by Honda Manufacturing of Alabama |- | 5FR || Acura SUV made by Honda Manufacturing of Alabama |- | 5FT || Feeling Trailers |- | 5FY || New Flyer |- | 5GA || Buick MPV/SUV |- | 5GD || Daewoo G2X |- | 5GN || Hummer H3T |- | 5GR || Hummer H2 |- | 5GT || Hummer H3 |- | 5GZ || Saturn MPV/SUV |- | 5G8 || Holden Volt |- | 5HD || Harley-Davidson for export markets |- | 5HT || Heil Trailer (truck trailer) |- | 5J5 || Club Car |- | 5J6 || Honda SUV made by Honda of America Mfg. in Ohio |- | 5J8 || Acura SUV made by Honda of America Mfg. in Ohio |- | 5KB || Honda car made by Honda Manufacturing of Alabama |- | 5KJ || Western Star Trucks truck |- | 5KK || Western Star Trucks truck |- | 5KM || Vento Motorcycles |- | 5KT || Karavan Trailers |- | 5L1 || [[../Ford/VIN Codes|Lincoln]] SUV - Limousine (2004–2009) |- | 5L5 || American IronHorse Motorcycle |- | 5LD || Ford & Lincoln incomplete vehicle – limousine (2010–2014) |- | 5LM || [[../Ford/VIN Codes|Lincoln]] SUV |- | 5LT || [[../Ford/VIN Codes|Lincoln]] truck |- | 5MZ || Buell Motorcycle Company for export markets |- | 5N1 || Nissan & Infiniti SUV |- | 5N3 || Infiniti SUV |- | 5NH || Forest River |- | 5NM || Hyundai SUV made by HMMA |- | 5NP || Hyundai car made by HMMA |- | 5NT || Hyundai truck made by HMMA |- | 5PV || Hino incomplete vehicle made by Hino Motors Manufacturing USA |- | 5RJ || Android Industries LLC |- | 5RX || Heartland Recreational Vehicles |- | 5S3 || Saab 9-7X |- | 5SA || Suzuki Manufacturing of America Corp. (ATV) |- | 5SX || American LaFrance incomplete vehicle (Condor) |- | 5TB || [[../Toyota/VIN Codes|Toyota]] truck made by TMMI |- | 5TD || Toyota MPV/SUV & Lexus TX made by TMMI |- | 5TE || Toyota truck made by NUMMI |- | 5TF || Toyota truck made by TMMTX |- | 5TU || Construction Trailer Specialist (truck trailer) |- | 5UM || BMW M car |- | 5UX || BMW SUV |- | 5VC || Autocar incomplete vehicle |- | 5VF || American Electric Vehicle Company (low-speed vehicle) |- | 5VP || Victory Motorcycles |- | 5V8 || Vanguard National (truck trailer) |- | 5WE || IC Bus incomplete vehicle |- | 5XX || Kia car made by KMMG |- | 5XY || Kia/Hyundai SUV made by KMMG |- | 5YA || Indian Motorcycle Company (Kings Mountain, NC) |- | 5YF || Toyota car made by TMMMS |- | 5YJ || Tesla, Inc. passenger car (only used for US-built Model S and Model 3 starting from Nov, 1st 2021) |- | 5YM || BMW M SUV |- | 5YN || Cruise Car, Inc. |- | 5Y2 || Pontiac Vibe made by NUMMI |- | 5Y4 || Yamaha Motor Motor Mfg. Corp. of America (ATV, UTV) |- | 5ZT || Forest River (recreational vehicles) |- | 5ZU || Greenkraft (truck) |- | 5Z6 || Suzuki Equator (truck) made by Nissan |- | 50E || Lucid Motors passenger car |- | 50G || Karma Automotive |- | 516 || Autocar truck |- | 51R || Brammo Motorcycles |- | 522 || GreenGo Tek (low-speed vehicle) |- | 523 || VPG (The Vehicle Production Group) |- | 52C || GEM subsidiary of Polaris Inc. |- | 537 || Azure Dynamics Transit Connect Electric |- | 538 || Zero Motorcycles |- | 53G || Coda Automotive |- | 53T || Think North America in Elkhart, IN |- | 546 || EBR |- | 54C || Winnebago Industries travel trailer |- | 54D || Isuzu & Chevrolet commercial trucks built by Spartan Motors/The Shyft Group |- | 54F || Rosenbauer |- | 55S || Mercedes-Benz car |- | 56K || Indian Motorcycle International, LLC (Polaris subsidiary) |- | 573 || Grand Design RV (truck trailer) |- | 57C || Maurer Manufacturing (truck trailer) |- | 57R || Oreion Motors |- | 57S || Lightning Motors Corp. (electric motorcycles) |- | 57W || Mobility Ventures |- | 57X || Polaris Slingshot |- | 58A || Lexus car made by TMMK (Lexus ES) |- | 6AB || MAN Australia |- | 6AM || Jayco Corp. (RVs) |- | 6F1 || Ford |- | 6F2 || Iveco Trucks Australia Ltd. |- | 6F4 || Nissan Motor Company Australia |- | 6F5 || Kenworth Australia |- | 6FM || Mack Trucks Australia |- | 6FP || [[../Ford/VIN Codes|Ford]] Australia |- | 6G1 || [[../GM/VIN Codes|General Motors]]-Holden (post Nov 2002) & Chevrolet & Vauxhall Monaro & VXR8 |- | 6G2 || [[../GM/VIN Codes|Pontiac]] Australia (GTO & G8) |- | 6G3 || [[../GM/VIN Codes|General Motors]] Chevrolet Caprice PPV & SS performance sedan 2014-2017 |- | 6H8 || [[../GM/VIN Codes|General Motors]]-Holden (pre Nov 2002) |- | 6KT || BCI Bus |- | 6MM || Mitsubishi Motors Australia |- | 6MP || Mercury Capri 1991-1994 |- | 6T1 || [[../Toyota/VIN Codes|Toyota]] Motor Corporation Australia |- | 6T9 || Privately Imported car (VIN issued by Victoria) or Trailer in Australia |- | 6U9 || Privately Imported car in Australia |- | 6ZZ || Privately Imported car in Australia |- | 7AB || MAN New Zealand |- | 7AT || VIN assigned by the New Zealand Transport Authority Waka Kotahi from 29 November 2009 |- | 7A1 || Mitsubishi New Zealand |- | 7A3 || Honda New Zealand |- | 7A4 || Toyota New Zealand |- | 7A5 || Ford New Zealand |- | 7A7 || Nissan New Zealand |- | 7A8 || VIN assigned by the New Zealand Transport Authority Waka Kotahi before 29 November 2009 |- | 7B2 || Nissan Diesel bus New Zealand |- | 7FA || Honda SUV made by Honda Manufacturing of Indiana |- | 7FC || Rivian truck |- | 7F7 || Arcimoto, Inc. |- | 7GZ || GMC incomplete vehicles made by Navistar International |- | 7G0 || Faraday Future |- | 7G2 || Tesla, Inc. truck (used for Nevada-built Semi Trucks & Texas-built Cybertruck) |- | 7H4 || Hino truck |- | 7H8 || Cenntro Electric Group Limited low-speed vehicle |- | 7JD || Volvo Cars SUV |- | 7JR || Volvo Cars passenger car |- | 7JZ || Proterra From mid-2019 on |- | 7KG || Vanderhall Motor Works |- | 7KY || Dorsey (truck trailer) |- | 7MM || Mazda SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MU || Toyota SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MW || Cenntro Electric Group Limited truck |- | 7MZ || HDK electric vehicles |- | 7NA || Navistar Defense |- | 7NY || Lordstown Motors |- | 7PD || Rivian SUV |- | 7RZ || Electric Last Mile Solutions |- | 7SA || Tesla, Inc. (US-built MPVs (e.g. Model X, Model Y)) |- | 7SU || Blue Arc electric trucks made by The Shyft Group |- | 7SV || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMTX |- | 7SX || Global Electric Motorcars (WAEV) 2022- |- | 7SY || Polestar SUV |- | 7TN || Canoo |- | 7UU || Lucid Motors MPV/SUV |- | 7UZ || Kaufman Trailers (trailer) |- | 7VV || Ree Automotive |- | 7WE || Bollinger Motors incomplete vehicle |- | 7YA || Hyundai MPV/SUV made by HMGMA |- | 7Z0 || Zoox |- | 722 || Isuzu North America Corp. (incomplete vehicle - medium duty) |- | 8AB || Mercedes Benz truck & bus (Argentina) |- | 8AC || Mercedes Benz vans (for South America) |- | 8AD || Peugeot Argentina |- | 8AE || Peugeot van |- | 8AF || [[../Ford/VIN Codes|Ford]] Argentina |- | 8AG || [[../GM/VIN Codes|Chevrolet]] Argentina |- | 8AJ || [[../Toyota/VIN Codes|Toyota]] Argentina |- | 8AK || Suzuki Argentina |- | 8AN || Nissan Argentina |- | 8AP || Fiat Argentina |- | 8AT || Iveco Argentina |- | 8AW || Volkswagen Argentina |- | 8A1 || Renault Argentina |- | 8A3 || Scania Argentina |- | 8BB || Agrale Argentina S.A. |- | 8BC || Citroën Argentina |- | 8BN || Mercedes-Benz incomplete vehicle (North America) |- | 8BR || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | 8BT || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | 8BU || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | 8CH || Honda motorcycle |- | 8C3 || Honda car/SUV |- | 8G1 || Automotores Franco Chilena S.A. Renault |- | 8GD || Automotores Franco Chilena S.A. Peugeot |- | 8GG || [[../GM/VIN Codes|Chevrolet]] Chile |- | 8LD || General Motors OBB - Chevrolet Ecuador |- | 8LF || Maresa (Mazda) |- | 8LG || Aymesa (Hyundai Motor & Kia) |- | 8L4 || Great Wall Motors made by Ciudad del Auto (Ciauto) |- | 8XD || Ford Motor Venezuela |- | 8XJ || Mack de Venezuela C.A. |- | 8XV || Iveco Venezuela C.A. |- | 8Z1 || General Motors Venezolana C.A. |- | 829 || Industrias Quantum Motors S.A. (Bolivia) |- | 9BD || Fiat Brazil & Dodge, Ram made by Fiat Brasil |- | 9BF || [[../Ford/VIN Codes|Ford]] Brazil |- | 9BG || [[../GM/VIN Codes|Chevrolet]] Brazil |- | 9BH || Hyundai Motor Brasil |- | 9BM || Mercedes-Benz Brazil car, SUV, commercial truck & bus |- | 9BN || Mafersa |- | 9BR || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 9BS || Scania Brazil |- | 9BV || Volvo Trucks |- | 9BW || Volkswagen Brazil |- | 9BY || Agrale S.A. |- | 9C2 || Moto Honda Da Amazonia Ltda. |- | 9C6 || Yamaha Motor Da Amazonia Ltda. |- | 9CD || Suzuki (motorcycles) assembled by J. Toledo Motos do Brasil |- | 9DF || Puma |- | 9DW || Kenworth & Peterbilt trucks made by Volkswagen do Brasil |- | 9EZ || homemade or handbuilt vehicles |- | 92H || Origem Brazil |- | 932 || Harley-Davidson Brazil |- | 935 || Citroën Brazil |- | 936 || Peugeot Brazil |- | 937 || Dodge Dakota |- | 93C || Chevrolet SUV [Tracker] or pickup [Tornado, Montana, S10] (sold in Mexico, made in Brazil) |- | 93H || [[../Honda/VIN Codes|Honda]] Brazil car/SUV |- | 93K || Volvo Trucks |- | 93P || Volare |- | 93S || Navistar International |- | 93R || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 93U || Audi Brazil 1999–2006 |- | 93W || Fiat Ducato made by Iveco 2000–2016 |- | 93V || Navistar International |- | 93X || Souza Ramos – Mitsubishi Motors / Suzuki Jimny |- | 93Y || Renault Brazil |- | 93Z || Iveco |- | 94D || Nissan Brazil |- | 94N || RWM Brazil |- | 94T || Troller Veículos Especiais |- | 95P || CAOA Hyundai & CAOA Chery |- | 95V || Dafra Motos (motorscooters from SYM) & Ducati, KTM, & MV Agusta assembled by Dafra |- | 95V || BMW motorcycles assembled by Dafra Motos 2009–2016 |- | 95Z || Buell Motorcycle Company assembled by Harley-Davidson Brazil |- | 953 || VW Truck & Bus / MAN Truck & Bus |- | 96P || Kawasaki |- | 97N || Triumph Motorcycles Ltd. |- | 988 || Jeep, Ram [Rampage], and Fiat [Toro] (made at the Goiana plant) |- | 98M || BMW car/SUV |- | 98P || DAF Trucks |- | 98R || Chery |- | 99A || Audi 2016- |- | 99H || Shineray |- | 99J || Jaguar Land Rover |- | 99K || Haojue & Kymco assembled by JTZ Indústria e Comércio de Motos |- | 99L || BYD |- | 99Z || BMW Motorrad (Motorcycle assembled by BMW 2017-) |- | 9FB || Renault Colombia (Sofasa) |- | 9FC || Compañía Colombiana Automotriz S.A. (Mazda) |- | 9GA || [[../GM/VIN Codes|Chevrolet]] Colombia (GM Colmotores S.A.) |- | 9UJ || Chery assembled by Chery Socma S.A. (Uruguay) |- | 9UK || Lifan (Uruguay) |- | 9UT || Dongfeng trucks made by Nordex S.A. |- | 9UW || Kia made by Nordex S.A. |- | 9VC || Fiat made by Nordex S.A. (Scudo, 2025 Titano) |- | 9V7 || Citroen made by Nordex S.A. (Jumpy) |- | 9V8 || Peugeot made by Nordex S.A. (Expert) |} ==References== {{reflist}} {{BookCat}} pi925rvskfaot0jm9b7zzczeufqumwr 4635327 4635317 2026-05-11T18:31:35Z JustTheFacts33 3434282 /* List of Many WMIs */ 4635327 wikitext text/x-wiki ==World Manufacturer Identifier== The first three characters uniquely identify the manufacturer of the vehicle using the '''World Manufacturer Identifier''' or '''WMI''' code. A manufacturer that builds fewer than 1000 vehicles per year uses a 9 as the third digit and the 12th, 13th and 14th position of the VIN for a second part of the identification. Some manufacturers use the third character as a code for a vehicle category (e.g., bus or truck), a division within a manufacturer, or both. For example, within 1G (assigned to General Motors in the United States), 1G1 represents Chevrolet passenger cars; 1G2, Pontiac passenger cars; and 1GC, Chevrolet trucks. ===WMI Regions=== The first character of the WMI is the region in which the manufacturer is located. In practice, each is assigned to a country of manufacture. Common auto-manufacturing countries are noted. <ref>{{cite web | url=https://standards.iso.org/iso/3780/ | title=ISO Standards Maintenance Portal: ISO 3780 | publisher=[[wikipedia:International Organization for Standardization]]}}</ref> {| class="wikitable" style="text-align:center" |- ! WMI ! Region ! Notes |- | A-C | Africa | AA-AH = South Africa<br />BF-BG = Kenya<br />BU = Uganda<br />CA-CB = Egypt<br />DF-DK = Morocco |- | H-R | Asia | H = China<br />J = Japan<br />KF-KH = Israel<br />KL-KR = South Korea<br />L = China<br />MA-ME = India<br />MF-MK = Indonesia<br />ML-MR = Thailand<br />MS = Myanmar<br />MX = Kazakhstan<br />MY-M0 = India<br />NF-NG = Pakistan<br />NL-NR = Turkey<br />NS-NT = Uzbekistan<br />PA-PC = Philippines<br />PF-PG = Singapore<br />PL-PR = Malaysia<br />PS-PT = Bangladesh<br />PV=Cambodia<br />RA-RB = United Arab Emirates<br />RF-RK = Taiwan<br />RL-RN = Vietnam<br />R1-R7 = Hong Kong |- | S-Z | Europe | SA-SM = United Kingdom<br />SN-ST = Germany (formerly East Germany)<br />SU-SZ = Poland<br />TA-TH = Switzerland<br />TJ-TP = Czech Republic<br />TR-TV = Hungary<br />TW-T2 = Portugal<br />UH-UM = Denmark<br />UN-UR = Ireland<br />UU-UX = Romania<br />U1-U2 = North Macedonia<br />U5-U7 = Slovakia<br />VA-VE = Austria<br />VF-VR = France<br />VS-VW = Spain<br />VX-V2 = France (formerly Serbia/Yugoslavia)<br />V3-V5 = Croatia<br />V6-V8 = Estonia<br /> W = Germany (formerly West Germany)<br />XA-XC = Bulgaria<br />XF-XH = Greece<br />XL-XR = The Netherlands<br />XS-XW = Russia (formerly USSR)<br />XX-XY = Luxembourg<br />XZ-X0 = Russia<br />YA-YE = Belgium<br />YF-YK = Finland<br />YS-YW = Sweden<br />YX-Y2 = Norway<br />Y3-Y5 = Belarus<br />Y6-Y8 = Ukraine<br />ZA-ZU = Italy<br />ZX-ZZ = Slovenia<br />Z3-Z5 = Lithuania<br />Z6-Z0 = Russia |- | 1-5 | North America | 1, 4, 5 = United States<br />2 = Canada<br />3 = Mexico<br />7F-70 = United States |- | 6-7 | Oceania | 6A-6W = Australia<br />7A-7E = New Zealand |- | 8-9 | South America | 8A-8E = Argentina<br />8F-8G = Chile<br />8L-8N = Ecuador<br />8S-8T = Peru<br />8X-8Z = Venezuela<br />82 = Bolivia<br />84 = Costa Rica<br />9A-9E, 91-90 = Brazil<br />9F-9G = Colombia<br />9S-9V = Uruguay |} {| class="wikitable" style="text-align:center" |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''A''' || colspan="8" | South Africa || colspan="2" | Ivory Coast || colspan="2" | Lesotho || colspan="2" | Botswana || colspan="2" | Namibia || colspan="2" | Madagascar || colspan="2" | Mauritius || colspan="2" | Tunisia || colspan="2" | Cyprus || colspan="2" | Zimbabwe || colspan="2" | Mozambique || colspan="5" | ''Africa'' |- | '''B''' || colspan="2" | Angola || colspan="1" | Ethiopia || colspan="2" | ''Africa'' || colspan="2" | Kenya || colspan="1" | Rwanda || colspan="2" | ''Africa'' || colspan="1" | Nigeria || colspan="3" | ''Africa'' || colspan="1" | Algeria || colspan="1" | ''Africa'' || colspan="1" | Swaziland || colspan="1" | Uganda || colspan="7" | ''Africa''|| colspan="2" | Libya || colspan="6" | ''Africa'' |- | '''C''' || colspan="2" | Egypt || colspan="3" | ''Africa'' || colspan="2" | Morocco || colspan="3" | ''Africa'' || colspan="2" | Zambia || colspan="21" | ''Africa'' |- | '''D''' || colspan="33" rowspan="1" | |- | '''E''' || colspan="33" | Russia |- | '''F''' || colspan="33" rowspan="2" | |- | '''G''' |- | '''H''' || colspan="33" | China |- | '''J''' || colspan="33" | Japan |- | '''K''' || colspan="5" | ''Asia'' || colspan="3" | Israel || colspan="2" | ''Asia'' || colspan="5" | South Korea || colspan="2" | Jordan || colspan="6" | ''Asia'' || colspan="3" | South Korea || colspan="1" | ''Asia'' || colspan="1" | Kyrgyzstan || colspan="5" | ''Asia'' |- | '''L''' || colspan="33" | China |- | '''M''' || colspan="5" | India || colspan="5" | Indonesia || colspan="5" | Thailand || colspan="1" | Myanmar || colspan="1" | ''Asia'' || colspan="1" | Mongolia || colspan="2" | ''Asia'' || colspan="1" | Kazakhstan || colspan="12" | India |- | '''N''' || colspan="5" | Iran || colspan="2" | Pakistan || colspan="1" | ''Asia'' || colspan="1" | Iraq || colspan="1" | ''Asia'' || colspan="5" | Turkey || colspan="2" | Uzbekistan || colspan="1" | ''Asia'' || colspan="1" | Azerbaijan || colspan="1" | ''Asia'' || colspan="1" | Tajikistan || colspan="1" | Armenia || colspan="1" | ''Asia'' || colspan="5" | Iran || colspan="1" | ''Asia'' || colspan="2" | Turkey || colspan="2" | ''Asia'' |- | '''P''' || colspan="3" | Philippines || colspan="2" | ''Asia'' || colspan="2" | Singapore || colspan="3" | ''Asia'' || colspan="5" | Malaysia || colspan="2" | Bangladesh || colspan="10" | ''Asia'' || colspan="6" | India |- | '''R''' || colspan="2" | UAE || colspan="3" | ''Asia'' || colspan="5" | Taiwan || colspan="3" | Vietnam || colspan="1" | Laos || colspan="1" | ''Asia'' || colspan="2" | Saudi Arabia || colspan="3" | Russia || colspan="3" | ''Asia'' || colspan="7" | Hong Kong || colspan="3" | ''Asia'' |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''S''' || colspan="12" | United Kingdom || colspan="5" | Germany <small>(former East Germany)</small> || colspan="6" | Poland || colspan="2" | Latvia || colspan="1" | Georgia || colspan="1" | Iceland || colspan="6" | ''Europe'' |- | '''T''' || colspan="8" | Switzerland || colspan="6" | Czech Republic || colspan="5" | Hungary || colspan="6" | Portugal || colspan="3" | Serbia || colspan="1" | Andorra || colspan="2" | Netherlands || colspan="2" | ''Europe'' |- | '''U''' || colspan="3" | Spain || colspan="4" | ''Europe'' || colspan="5" | Denmark || colspan="3" | Ireland || colspan="2" | ''Europe'' || colspan="4" | Romania || colspan="2" | ''Europe'' || colspan="2" | North Macedonia || colspan="2" | ''Europe'' || colspan="3" | Slovakia || colspan="3" | Bosnia & Herzogovina |- | '''V''' || colspan="5" | Austria || colspan="10" | France || colspan="5" | Spain || colspan="5" | France <small>(formerly Yugoslavia & Serbia)</small> || colspan="3" | Croatia || colspan="3" | Estonia || colspan="2" | ''Europe'' |- | '''W''' || colspan="33" | Germany |- | '''X''' || colspan="3" | Bulgaria || colspan="2" | Russia || colspan="3" | Greece || colspan="2" | Russia || colspan="5" | Netherlands || colspan="5" | Russia <small>(former USSR)</small> || colspan="2" | Luxembourg || colspan="11" | Russia |- | '''Y''' || colspan="5" | Belgium || colspan="5" | Finland || colspan="2" | ''Europe'' || colspan="1" | Malta || colspan="2" | ''Europe'' || colspan="5" | Sweden || colspan="5" | Norway || colspan="3" | Belarus || colspan="3" | Ukraine || colspan="2" | ''Europe'' |- | '''Z''' || colspan="18" | Italy || colspan="2" | ''Europe'' || colspan="3" | Slovenia || colspan="1" | San Marino|| colspan="1" | ''Europe''|| colspan="3" | Lithuania || colspan="5" | Russia |- | '''1''' || colspan="33" | United States |- | '''2''' || colspan="28" | Canada || colspan="5" | ''North America'' |- | '''3''' || colspan="21" | Mexico || colspan="5" | ''North America'' || colspan="1" | Nicaragua || colspan="1" | Dom. Rep. || colspan="1" | Honduras || colspan="1" | Panama || colspan="2" | Puerto Rico || colspan="1" | ''North America'' |- | '''4''' || colspan="33" rowspan="2" | United States |- | '''5''' |- | '''6''' || colspan="21" | Australia || colspan="3" | New Zealand || colspan="9" | ''Oceania'' |- | '''7''' || colspan="5" | New Zealand || colspan="28" | United States |- | '''8''' || colspan="5" | Argentina || colspan=2 | Chile || colspan="3" | ''South America'' || colspan="3" | Ecuador || colspan="2" | ''South America'' || colspan="2" | Peru || colspan="3" | ''South America'' || colspan="3" | Venezuela || colspan="1" | ''SA'' || colspan="1" | Bolivia || colspan="1" | ''SA'' || colspan="1" | Costa Rica || colspan="6" | ''South America'' |- | '''9''' || colspan="5" | Brazil || colspan="2" | Colombia || colspan="8" | ''South America'' || colspan="4" | Uruguay || colspan="4" | ''South America'' || colspan="10" | Brazil |- | '''0''' || colspan="33" rowspan="1" | |} ===List of Many WMIs=== The [[w:Society of Automotive Engineers|Society of Automotive Engineers]] (SAE) in the US assigns WMIs to countries and manufacturers.<ref>{{cite web | url=https://www.iso.org/standard/45844.html | title=ISO 3780:2009 - Road vehicles — World manufacturer identifier (WMI) code | date=October 2009 | publisher=International Organization for Standardization}}</ref> The following table contains a list of mainly commonly used WMIs, although there are many others assigned. {| class="wikitable x" style="text-align:center" |- ! WMI !! Manufacturer |- | AAA|| Audi South Africa made by Volkswagen of South Africa |- | AAK|| FAW Vehicle Manufacturers SA (PTY) Ltd. |- | AAM|| MAN Automotive (South Africa) (Pty) Ltd. (includes VW Truck & Bus) |- |AAP || VIN restamped by South African Police Service (so-called SAPVIN or AAPV number) |- | AAV || Volkswagen South Africa |- | AAW || Challenger Trailer Pty Ltd. (South Africa) |- | AA9/CN1 || TR-Tec Pty Ltd. (South Africa) |- | ABJ || Mitsubishi Colt & Triton pickups made by Mercedes-Benz South Africa 1994–2011 |- | ABJ || Mitsubishi Fuso made by Daimler Trucks & Buses Southern Africa |- | ABM || BMW Southern Africa |- | ACV || Isuzu Motors South Africa 2018- |- | AC5 || [[../Hyundai/VIN Codes|Hyundai]] Automotive South Africa |- | AC9/BM1 || Beamish Beach Buggies (South Africa) |- | ADB || Mercedes-Benz South Africa car |- | ADD || UD Trucks Southern Africa (Pty) Ltd. |- | ADM || General Motors South Africa (includes Isuzu through 2018) |- | ADN || Nissan South Africa (Pty) Ltd. |- | ADR || Renault Sandero made by Nissan South Africa (Pty) Ltd. |- | ADX || Tata Automobile Corporation (SA) Ltd. |- | AE9/MT1 || Backdraft Racing (South Africa) |- | AFA || Ford Motor Company of Southern Africa & Samcor |- | AFB || Mazda BT-50 made by Ford Motor Company of Southern Africa |- | AFD || BAIC Automotive South Africa |- | AFZ || Fiat Auto South Africa |- | AHH || Hino South Africa |- | AHM || Honda Ballade made by Mercedes-Benz South Africa 1982–2000 |- | AHT || Toyota South Africa Motors (Pty.) Ltd. |- | BF9/|| KIBO Motorcycles, Kenya |- | BUK || Kiira Motors Corporation, Uganda |- | BR1 || Mercedes-Benz Algeria (SAFAV MB) |- | BRY || FIAT Algeria |- | CA3 || MCV bus (Egypt) |- | DDY || Geyushi Motors (bus) (Egypt) |- | DF9/|| Laraki (Morocco) |- | EAA || Aurus Motors (Russia) |- | EAN || Evolute (Russia) |- | EAU || Elektromobili Manufacturing Rus - EVM (Russia) |- | EBE || Sollers-Auto (Russia) |- | EBZ || Nizhekotrans bus (Russia) |- | ECE || XCITE (Russia) |- | ECW || Trans-Alfa bus (Russia) |- | HAC || GAC Motor (Aion) |- | HA0 || Wuxi Sundiro Electric Vehicle Co., Ltd. (Palla, Parray) |- | HA6 || Niu Technologies |- | HA7 || Jinan Qingqi KR Motors Co., Ltd. |- | HES || smart Automobile Co., Ltd. (Mercedes-Geely joint venture) |- | HGL || Farizon Auto van (Geely) |- | HGX || Wuling Motors commercial vehicle (Geely) |- | HHZ || Huazi Automobile |- | HJN || Nio, Firefly |- | HJR || Chery Commercial Vehicle (Anhui) Co., Ltd. Jetour made by Chery Commercial Vehicle |- | HJZ || Juzhen Chengshi van |- | HJ4 || BAW car |- | HL4 || Zhejiang Morini Vehicle Co., Ltd. <br />(Moto Morini subsidiary of Taizhou Zhongneng Motorcycle Co., Ltd.) |- | HLX || Li Auto |- | HRV || Beijing Henrey Automobile Technology Co., Ltd. |- | HVW || Volkswagen Anhui |- | HWM || WM Motor Technology Co., Ltd. (Weltmeister) |- | HXM || Xiaomi |- | HZ2 || Taizhou Zhilong Technology Co., Ltd (motorcycle) |- | H0D || Taizhou Qianxin Vehicle Co., Ltd. (motorcycle) |- | H0G || Wisdom (Fujian) Motor Co., Ltd. (bus) |- | JAA || Isuzu truck, Holden Rodeo TF, Opel Campo, Bedford/Vauxhall Brava pickup made by Isuzu in Japan |- | JAB || Isuzu car |- | JAC || Isuzu SUV, Opel/Vauxhall Monterey & Holden Jackaroo/Monterey made by Isuzu in Japan |- | JAE || Acura SLX made by Isuzu |- | JAL || Isuzu commercial trucks & <br /> Chevrolet commercial trucks made by Isuzu 2016+ & <br /> Hino S-series truck made by Isuzu (Incomplete Vehicle - medium duty) |- | JAM || Isuzu commercial trucks (Incomplete Vehicle - light duty) |- | JA3 || Mitsubishi car (for North America) |- | JA4 || Mitsubishi MPV/SUV (for North America) & Nissan Rogue PHEV '26 |- | JA7 || Mitsubishi truck (for North America) |- | JB3 || Dodge car made by Mitsubishi Motors |- | JB4 || Dodge MPV/SUV made by Mitsubishi Motors |- | JB7 || Dodge truck made by Mitsubishi Motors |- | JC0 || Ford brand cars made by Mazda |- | JC1 || Fiat 124 Spider made by Mazda |- | JC2 || Ford Courier made by Mazda |- | JDA || Daihatsu, Subaru Justy made by Daihatsu |- | JD1 || Daihatsu car |- | JD2 || Daihatsu SUV |- | JD4 || Daihatsu truck |- | JE3 || Eagle car made by Mitsubishi Motors |- | JE4 || Mitsubishi Motors |- | JF1 || ([[../Subaru/VIN Codes|Subaru]]) car |- | JF2 || ([[../Subaru/VIN Codes|Subaru]]) SUV |- | JF3 || ([[../Subaru/VIN Codes|Subaru]]) truck |- | JF4 || Saab 9-2X made by Subaru |- | JG1 || Chevrolet/Geo car made by Suzuki |- | JG2 || Pontiac car made by Suzuki |- | JG7 || Pontiac/Asuna car made by Suzuki for GM Canada |- | JGC || Chevrolet/Geo SUV made by Suzuki (classified as a truck) |- | JGT || GMC SUV made by Suzuki for GM Canada (classified as a truck) |- | JHA || Hino truck |- | JHB || Hino incomplete vehicle |- | JHD || Hino |- | JHF || Hino |- | JHH || Hino incomplete vehicle |- | JHF-JHG, JHL-JHN, JHZ,<br/>JH1-JH5 || [[../Honda/VIN Codes|Honda]] |- | JHL || [[../Honda/VIN Codes|Honda]] MPV/SUV |- | JHM || [[../Honda/VIN Codes|Honda]] car |- | JH1 || [[../Honda/VIN Codes|Honda]] truck |- | JH2 || [[../Honda/VIN Codes|Honda]] motorcycle/ATV |- | JH3 || [[../Honda/VIN Codes|Honda]] ATV |- | JH4 || Acura car |- | JH6 || Hino incomplete vehicle |- | JJ3 || Chrysler brand car made by Mitsubishi Motors |- | JKA || Kawasaki (motorcycles) |- | JKB || Kawasaki (motorcycles) |- | JKM || Mitsuoka |- | JKS || Suzuki Marauder 1600/Boulevard M95 motorcycle made by Kawasaki |- | JK8 || Suzuki QUV620F UTV made by Kawasaki |- | JLB || Mitsubishi Fuso Truck & Bus Corp. |- | JLF || Mitsubishi Fuso Truck & Bus Corp. |- | JLS || Sterling Truck 360 made by Mitsubishi Fuso Truck & Bus Corp. |- | JL5 || Mitsubishi Fuso Truck & Bus Corp. |- | JL6 || Mitsubishi Fuso Truck & Bus Corp. |- | JL7 || Mitsubishi Fuso Truck & Bus Corp. |- | JMA || Mitsubishi Motors (right-hand drive) for Europe |- | JMB || Mitsubishi Motors (left-hand drive) for Europe |- | JMF || Mitsubishi Motors for Australia (including Mitsubishi Express made by Renault) |- | JMP || Mitsubishi Motors (left-hand drive) |- | JMR || Mitsubishi Motors (right-hand drive) |- | JMY || Mitsubishi Motors (left-hand drive) for South America & Middle East |- | JMZ || Mazda for Europe export & Mazda 2 made by Ford Spain & Mazda 2 Hybrid made by Toyota Motor Manufacturing France |- | JM0 || Mazda for Oceania export |- | JM1 || Mazda car |- | JM2 || Mazda truck |- | JM3 || Mazda MPV/SUV |- | JM4 || Mazda |- | JM6 || Mazda |- | JM7 || Mazda |- | JNA || Nissan Diesel/UD Trucks incomplete vehicle |- | JNC || Nissan Diesel/UD Trucks |- | JNE || Nissan Diesel/UD Trucks truck |- | JNK || Infiniti car |- | JNR || Infiniti SUV |- | JNX || Infiniti incomplete vehicle |- | JN1 || Nissan car & Infiniti car |- | JN3 || Nissan incomplete vehicle |- | JN6 || Nissan truck/van & Mitsubishi Fuso Canter Van |- | JN8 || Nissan MPV/SUV & Infiniti SUV |- | JPC || Nissan Diesel/UD Trucks |- | JP3 || Plymouth car made by Mitsubishi Motors |- | JP4 || Plymouth MPV/SUV made by Mitsubishi Motors |- | JP7 || Plymouth truck made by Mitsubishi Motors |- | JR2 || Isuzu Oasis made by Honda |- | JSA || Suzuki ATV & '03 Kawasaki KFX400 ATV made by Suzuki, Suzuki car/SUV (outside N. America), Holden Cruze YG made by Suzuki |- | JSK || Kawasaki KLX125/KLX125L motorcycle made by Suzuki |- | JSL || '04-'06 Kawasaki KFX400 ATV made by Suzuki |- | JST || Suzuki Across SUV made by Toyota |- | JS1 || Suzuki motorcycle & Kawasaki KLX400S/KLX400SR motorcycle made by Suzuki |- | JS2 || Suzuki car |- | JS3 || Suzuki SUV |- | JS4 || Suzuki truck |- | JTB || Toyota bus |- | JTD || Toyota car |- | JTE || Toyota MPV/SUV |- | JTF || Toyota van/truck |- | JTG || Toyota MPV/bus |- | JTH || Lexus car |- | JTJ || Lexus SUV |- | JTK || Toyota car |- | JTL || Toyota SUV |- | JTM || Toyota SUV, Subaru Solterra made by Toyota |- | JTN || Toyota car |- | JTP || Toyota SUV |- | JT1 || [[../Toyota/VIN Codes|Toyota]] van |- | JT2 || Toyota car |- | JT3 || Toyota MPV/SUV |- | JT4 || Toyota truck/van |- | JT5 || Toyota incomplete vehicle |- | JT6 || Lexus SUV |- | JT7 || Toyota bus/van |- | JT8 || Lexus car |- | JW6 || Mitsubishi Fuso division of Mitsubishi Motors (through mid-2003) |- | JYA || Yamaha motorcycles |- | JYE || Yamaha snowmobile |- | JY3 || Yamaha 3-wheel ATV |- | JY4 || Yamaha 4-wheel ATV |- | J81 || Chevrolet/Geo car made by Isuzu |- | J87 || Pontiac/Asüna car made by Isuzu for GM Canada |- | J8B || Chevrolet commercial trucks made by Isuzu (incomplete vehicle) |- | J8C || Chevrolet commercial trucks made by Isuzu (truck) |- | J8D || GMC commercial trucks made by Isuzu (incomplete vehicle) |- | J8T || GMC commercial trucks made by Isuzu (truck) |- | J8Z || Chevrolet LUV pickup truck made by Isuzu |- | KF3 || Merkavim (Israel) |- | KF6 || Automotive Industries, Ltd. (Israel) |- | KF9/004 || Tomcar (Israel) |- | KG9/002 || Charash Ashdod (truck trailer) (Israel) |- | KG9/004 || H. Klein (truck trailer) (Israel) |- | KG9/007 || Agam Trailers (truck trailer) (Israel) |- | KG9/009 || Merkavey Noa (trailer) (Israel) |- | KG9/010 || Weingold Trailers (trailer) (Israel) |- | KG9/011 || Netzer Sereni (truck trailer) (Israel) |- | KG9/015 || Merkaz Hagrorim (trailer) (Israel) |- | KG9/035 || BEL Technologies (truck trailer) (Israel) |- | KG9/091 || Jansteel (truck trailer) (Israel) |- | KG9/101 || Bassamco (truck trailer) (Israel) |- | KG9/104 || Global Handasa (truck trailer) (Israel) |- | KL || Daewoo [[../GM/VIN Codes|General Motors]] South Korea |- | KLA || Daewoo/GM Daewoo/GM Korea (Chevrolet/Alpheon)<br /> from Bupyeong & Kunsan plants |- | KLP || CT&T United (battery electric low-speed vehicles) |- | KLT || Tata Daewoo |- | KLU || Tata Daewoo |- | KLY || Daewoo/GM Daewoo/GM Korea (Chevrolet) from Changwon plant |- | KL1 || GM Daewoo/GM Korea (Chevrolet car) |- | KL2 || Daewoo/GM Daewoo (Pontiac) |- | KL3 || GM Daewoo/GM Korea (Holden) |- | KL4 || GM Korea (Buick) |- | KL5 || GM Daewoo (Suzuki) |- | KL6 || GM Daewoo (GMC) |- | KL7 || Daewoo (GM Canada brands: Passport, Asuna (Pre-2000)) |- | KL7 || GM Daewoo/GM Korea (Chevrolet MPV/SUV (Post-2000)) |- | KL8 || GM Daewoo/GM Korea (Chevrolet car from Changwon plant (Spark)) |- | KM || [[../Hyundai/VIN Codes|Hyundai]] |- | KMC || Hyundai commercial truck |- | KME || Hyundai commercial truck (semi-tractor) |- | KMF || Hyundai van & commercial truck & Bering Truck |- | KMH || Hyundai car & Mexican market Dodges made by Hyundai |- | KMJ || Hyundai minibus/bus |- | KMT || Genesis Motor car |- | KMU || Genesis Motor SUV |- | KMX || Hyundai Galloper SUV |- | KMY || Daelim Motor Company, Ltd/DNA Motors Co., Ltd. (motorcycles) |- | KM1 || Hyosung Motors (motorcycles) |- | KM4 || Hyosung Motors/S&T Motors/KR Motors (motorcycles) |- | KM8 || Hyundai SUV |- | KNA || Kia car |- | KNC || Kia truck |- | KND || Kia MPV/SUV & Hyundai Entourage |- | KNE || Kia for Europe export |- | KNF || Kia, special vehicles |- | KNG || Kia minibus/bus |- | KNJ || Ford Festiva & Aspire made by Kia |- | KNL || Kia Elan/Vigato made by Kia Motech |- | KNM || Renault Samsung Motors, Nissan Rogue made by Renault Samsung, Nissan Sunny made by Renault Samsung |- | KNM || Renault Korea Co., Ltd. |- | KN1 || Asia Motors |- | KN2 || Asia Motors |- | KPA || SsangYong/KG Mobility (KGM) pickup |- | KPB || SsangYong car |- | KPD || SsangYong TransStar (bus) |- | KPH || Mitsubishi Precis |- | KPT || SsangYong/KG Mobility (KGM) SUV/MPV |- | LAA || Shanghai Jialing Vehicle Co., Ltd. (motorcycle) |- | LAE || Jinan Qingqi Motorcycle |- | LAL || Sundiro [[../Honda/VIN Codes|Honda]] Motorcycle |- | LAN || Changzhou Yamasaki Motorcycle |- | LAP || Chongqing Jianshe Motorcycle Co., Ltd. |- | LAP || Zhuzhou Nanfang Motorcycle Co., Ltd. |- | LAT || Luoyang Northern Ek Chor Motorcycle Co., Ltd. (Dayang) |- | LA6 || Xiamen King Long United Automotive Industry Co., Ltd. (bus) |- | LA7 || Radar Auto (Geely) |- | LA8 || Anhui Ankai |- | LA9/AYS || Jiangsu Alfa Bus Co., Ltd. (bus) |- | LA9/BFC || Beijing North Huade Neoplan Bus Co., Ltd. |- | LA9/FBC || Xiamen Fengtai Bus & Coach International Co., Ltd. (FTBCI) (bus) |- | LA9/HFF || Anhui Huaxia Vehicle Manufacturing Co., Ltd. (bus) |- | LA9/JXK || CHTC Bonluck Bus Co., Ltd. |- | LA9/LC0 || BYD |- | LA9/LFJ || Xinlongma Automobile |- | LA9/LM6 || SRM Shineray |- | LBB || Zhejiang Qianjiang Motorcycle (QJ Motor/Keeway/Benelli) |- | LBE || Beijing [[../Hyundai/VIN Codes|Hyundai]] (Hyundai, Shouwang) |- | LBM || Zongshen Piaggio |- | LBP || Chongqing Jianshe Yamaha Motor Co. Ltd. (motorcycles) |- | LBV || BMW Brilliance (BMW, Zinoro) |- | LBX || Jiangsu Kinroad Xintian Motorcycle Manufacture Co. Ltd. (motorcycles) |- | LBZ || Yantai Shuchi Vehicle Co., Ltd. (bus) |- | LB1 || Fujian Benz |- | LB2 || Geely Motorcycles |- | LB3 || Zhejiang Geely Holding Group (Geely, Galaxy, Geometry, Kandi) |- | LB4 || Chongqing Yinxiang Motorcycle Group Co., Ltd. |- | LB5 || Foshan City Fosti Motorcycle Co., Ltd. |- | LB7 || Tibet New Summit Motorcycle Co., Ltd. |- | LCE || Hangzhou Chunfeng Motorcycles (CFMOTO) |- | LCR || Gonow |- | LC0 || BYD Auto (BYD, Denza) |- | LC2 || Changzhou Kwang Yang Motor Co., Ltd. (Kymco) |- | LC6 || Changzhou Haojue Suzuki Motorcycle Co. Ltd. |- | LDB || Dadi Auto |- | LDC || Dongfeng Peugeot Citroen Automobile Co., Ltd. (DPCA), Dongfeng Fengshen (Aeolus) L60 |- | LDD || Dandong Huanghai Automobile |- | LDF || Dezhou Fulu Vehicle Co., Ltd. (motorcycles), BAW Yuanbao electric car (Ace P1 in Norway) |- | LDK || FAW Bus (Dalian) Co., Ltd. |- | LDN || Soueast (South East (Fujian) Motor Co., Ltd.) including Mitsubishi made by Soueast |- | LDP || Dongfeng, Dongfeng Fengshen (Aeolus), Voyah, Renault City K-ZE/Venucia e30 made by eGT New Energy Automotive |- | LDY || Zhongtong Bus Holding Co. Ltd. |- | LD3 || Guangdong Tayo Motorcycle Technology Co. (Zontes) (motorcycle) |- | LD5 || Benzhou Vehicle Industry Group Ltd. (motorcycle) |- | LD9/L3A || SiTech (FAW) |- | LEC || Tianjin Qingyuan Electric Vehicle Co., Ltd. |- | LEF || Jiangling Motors Corporation Ltd. (JMC) |- | LEH || Zhejiang Riya Motorcycle Co. Ltd. |- | LET || Jiangling-Isuzu Motors, China |- | LEW || Dongfeng commercial vehicle |- | LE4 || Beijing Benz & Beijing Benz-Daimler Chrysler Automotive Co. (Chrysler, Jeep, Mitsubishi, Mercedes-Benz) & Beijing Jeep Corp. |- | LE8 || Guangzhou Panyu Hua'Nan Motors Industry Co. Ltd. (motorcycles) |- | LFB || FAW Group (Bestune, Hongqi) & Mazda made under license by FAW (Mazda 8, CX-7) |- | LFF || Zhejiang Taizhou Wangye Power Co., Ltd. |- | LFG || Taizhou Chuanl Motorcycle Manufacturing |- | LFJ || Fujian Motors Group (Keyton) |- | LFM || FAW Toyota Motor (Toyota, Ranz) |- | LFN || FAW Bus (Wuxi) Co., Ltd. (truck, bus) |- | LFP || FAW Car, Bestune, Hongqi (passenger vehicles) & Mazda made under license by FAW (Mazda 6, CX-4) |- | LFT || FAW (trailers) |- | LFU || Lifeng Group Co., Ltd. (motorcycles) |- | LFV || FAW-Volkswagen (VW, Audi, Jetta, Kaili) |- | LFW || FAW JieFang (truck) |- | LFX || Sany Heavy Industry (truck) |- | LFY || Changshu Light Motorcycle Factory |- | LFZ || Leapmotor |- | LF3 || Lifan Motorcycle |- | LGA || Dongfeng Commercial Vehicle Co., Ltd. trucks |- | LGB || Dongfeng Nissan (Nissan, Infiniti, Venucia) |- | LGB || Dongfeng Commercial Vehicle Co., Ltd. |- | LGC || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGD || Dongfeng Commercial Vehicle Co., Ltd. |- | LGF || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGG || Dongfeng Liuzhou Motor (Forthing/Fengxing) |- | LGJ || Dongfeng Fengshen (Aeolus) |- | LGL || Guilin Daewoo |- | LGV || Heshan Guoji Nanlian Motorcycle Industry Co., Ltd. |- | LGW || Great Wall Motor (GWM, Haval, Ora, Tank, Wey) |- | LGX || BYD Auto (BYD, Fangchengbao) |- | LGZ || Guangzhou Denway Bus |- | LG6 || Dayun Group |- | LHA || Shuanghuan Auto |- | LHB || Beijing Automotive Industry Holding |- | LHG || GAC Honda (Honda, Everus, Acura) |- | LHJ || Chongqing Astronautic Bashan Motorcycle Manufacturing Co., Ltd. |- | LHM || Dongfeng Renault Automobile Co. |- | LHW || CRRC Electric Vehicle Co., Ltd. (bus) |- | LH0 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LH1 || FAW-Haima, China |- | LJC || Jincheng Corporation |- | LJD || Yueda Kia (previously Dongfeng Yueda Kia) (Kia, Horki) & Human Horizons - HiPhi (made under contract by Yueda Kia) |- | LJM || Sunlong (bus) |- | LJN || Zhengzhou Nissan |- | LJR || CIMC Vehicles Group (truck trailer) |- | LJS || Yaxing Coach, Asiastar Bus |- | LJU || Shanghai Maple Automobile & Kandi & Zhidou |- | LJU || Lotus Technology (Wuhan Lotus Cars Co., Ltd.) |- | LJV || Sinotruk Chengdu Wangpai Commercial Vehicle Co., Ltd. |- | LJW || JMC Landwind |- | LJX || JMC Ford |- | LJ1 || JAC (JAC, Sehol) |- | LJ1 || Nio, Inc. |- | LJ4 || Shanghai Jmstar Motorcycle Co., Ltd. |- | LJ5 || Cixi Kingring Motorcycle Co., Ltd. (Jinlun) |- | LJ8 || Zotye Auto made by Jiangnan Automobile |- | LKC || BAIC commercial vehicles, previously Changhe |- | LKG || Youngman Lotus Automobile Co., Ltd. |- | LKH || Hafei Motor |- | LKL || Higer Bus |- | LKT || Yunnan Lifan Junma Vehicle Co., Ltd. commercial vehicles |- | LK2 || Anhui JAC Bus |- | LK6 || SAIC-GM-Wuling (Wuling, Baojun) microcars and other vehicles |- | LK8 || Zhejiang Yule New Energy Automobile Technology Co., Ltd. (ATV) |- | LLC || Loncin Motor Co., Ltd. (motorcycle) |- | LLJ || Jiangsu Xinling Motorcycle Fabricate Co., Ltd. |- | LLN || Qoros |- | LLP || Zhejiang Jiajue Motorcycle Manufacturing Co., Ltd. |- | LLU || Dongfeng Fengxing Jingyi |- | LLV || Lifan, Maple (owned by Geely), Livan Automotive |- | LLX || Yudo Auto |- | LL0 || Sanmen County Yongfu Machine Co., Ltd. (motorcycles) |- | LL2 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LL3 || Xiamen Golden Dragon Bus Co. Ltd. |- | LL6 || GAC Mitsubishi Motors Co., Ltd. (formerly Hunan Changfeng) |- | LL8 || Jiangsu Linhai Yamaha Motor Co., Ltd. |- | LMC || Suzuki Hong Kong (motorcycles) |- | LME || Skyworth (formerly Skywell), Elaris Beo |- | LMF || Jiangmen Zhongyu Motor Co., Ltd. |- | LMG || GAC Motor, Trumpchi, [[w:Dodge Attitude#Fourth generation (2025)|Dodge Attitude made by GAC]] |- | LMH || Jiangsu Guowei Motor Co., Ltd. (Motoleader) |- | LMP || Geely Sichuan Commercial Vehicle Co., Ltd. |- | LMV || Haima Car Co., Ltd. |- | LMV || XPeng Motors G3 (not G3i) made by Haima |- | LMW || GAC Group, [[w:Trumpchi GS5#Dodge Journey|Dodge Journey made by GAC]] |- | LMX || Forthing (Dongfeng Fengxing) |- | LM0 || Wangye Holdings Co., Ltd. (motorcycles) |- | LM6 || SWM (automobiles) |- | LM8 || Seres (formerly SF Motors), AITO |- | LNA || GAC Aion New Energy Automobile Co., Ltd., Hycan |- | LNB || BAIC Motor (Senova, Weiwang, Huansu) & Arcfox & Xiaomi SU7 built by BAIC |- | LND || JMEV (Jiangxi Jiangling Group New Energy Vehicle Co., Ltd.), Eveasy/Mobilize Limo |- | LNE || Zhejiang CRRC Electric Vehicle Co., Ltd. (bus) |- | LNP || NAC MG UK Limited & Nanjing Fiat Automobile |- | LNN || Chery Automobile, Omoda, Jaecoo |- | LNV || Naveco (Nanjing Iveco Automobile Co. Ltd.) |- | LNX || Dongfeng Liuzhou Motor (Chenglong trucks) |- | LNY || Yuejin |- | LPA || Changan PSA (DS Automobiles) |- | LPE || BYD Auto |- | LPS || Polestar |- | LP6 || Guangzhou Panyu Haojian Motorcycle Industry Co., Ltd. |- | LRB || SAIC-General Motors (Buick for export) |- | LRD || Beijing Foton Daimler Automotive Co., Ltd. Auman trucks |- | LRE || SAIC-General Motors (Cadillac for export) |- | LRP || Chongqing Rato Power Co. Ltd. (Asus) |- | LRR || Ningbo Longjia Power Technology Co., Ltd. (motorcycles) |- | LRW || Tesla, Inc. (Gigafactory Shanghai) |- | LR4 || Yadi Technology Group |- | LR6 || Guangzhou Dayun Vehicle Co., Ltd. |- | LSC || Changan Automobile (light truck) |- | LSF || SAIC Maxus or LDV pickup/SUV & Chevrolet S10 Max & Shanghai Sunwin Bus Corporation |- | LSG || SAIC-General Motors (For China: Chevrolet, Buick, Cadillac, Sail Springo, For export: Chevrolet) |- | LSH || SAIC Maxus van or LDV van & Chevrolet Express Max |- | LSJ || SAIC MG & SAIC Roewe & IM Motors & Rising Auto |- | LSK || SAIC Maxus or LDV van |- | LSV || SAIC-Volkswagen (VW, Skoda, Audi, Tantus) |- | LSY || Brilliance (Jinbei, Zhonghua) & Jinbei GM |- | LS3 || Hejia New Energy Vehicle Co., Ltd |- | LS4 || Changan Automobile (MPV/SUV) |- | LS5 || Changan Automobile (car) & Changan Suzuki |- | LS6 || Changan Automobile & Deepal Automobile & Avatr |- | LS7 || JMC Heavy Duty Truck Co., Ltd. |- | LS8 ||Henan Shaolin Auto Co., Ltd. (bus) |- | LTA || ZX Auto |- | LTN || Soueast-built Chrysler & Dodge vehicles |- | LTP || National Electric Vehicle Sweden AB (NEVS) |- | LTV || FAW [[../Toyota/VIN Codes|Toyota]] (Tianjin) |- | LTW || Zhejiang Dianka Automobile Technology Co. Ltd. (Enovate) |- | LT1 || Yangzhou Tonghua Semi-Trailer Co., Ltd. (truck trailer) |- | LUC || [[../Honda/VIN Codes|Honda]] Automobile (China) |- | LUD || Dongfeng Nissan Diesel Motor Co Ltd. |- | LUG || Qiantu Motor |- | LUJ || Zhejiang Shanqi Tianying Vehicle Industry Co., Ltd. (motorcycles) |- | LUR || Chery Automobile, iCar |- | LUX || Dongfeng Yulon Motor Co. Ltd. |- | LUZ || Hozon Auto New Energy Automobile Co., Ltd. (Neta) |- | LVA || Foton Motor |- | LVB || Foton Motor truck |- | LVC || Foton Motor bus |- | LVF || Changhe Suzuki |- | LVG || GAC Toyota (Toyota, Leahead) |- | LVH || Dongfeng Honda (Honda, Ciimo) |- | LVM || Chery Commercial Vehicle |- | LVP || Dongfeng Sokon Motor Company (DFSK) |- | LVR || Changan Mazda |- | LVS || Changan [[../Ford/VIN Codes|Ford]] (Ford, Lincoln) & Changan Ford Mazda & Volvo S40 and S80L made by Changan Ford Mazda |- | LVT || Chery Automobile, Exeed, Jetour, Soueast |- | LVU || Chery Automobile, Jetour |- | LVV || Chery Automobile, Omoda, Jaecoo |- | LVX || Landwind, JMC (discontinued in 2021) |- | LVX || Aiways Automobiles Company Ltd |- | LVY || Volvo Cars Daqing factory |- | LVZ || Dongfeng Sokon Motor Company (DFSK) |- | LV3 || Hengchi Automobile (Evergrande Group) |- | LV7 || Jinan Qingqi Motorcycle |- | LWB || Wuyang Honda Motorcycle (Guangzhou) Co., Ltd. |- | LWE || Yangtse Motor Group (bus) |- | LWG || Chongqing Huansong Industries (Group) Co., Ltd. |- | LWL || Qingling Isuzu |- | LWM || Chongqing Wonjan Motorcycle Co., Ltd. |- | LWV || GAC Fiat Chrysler Automobiles (Fiat, Jeep) |- | LWX || Shanghai Wanxiang Automobile Manufacturing Co., Ltd. (bus) |- | LW4 || Li Auto |- | LXA || Jiangmen Qipai Motorcycle Co., Ltd. |- | LXD || Ningbo Dongfang Lingyun Vehicle Made Co., Ltd. (motorcycle) |- | LXG || Xuzhou Construction Machinery Group Co., Ltd. (XCMG) |- | LXK || Shanghai Meitian Motorcycle Co., Ltd. |- | LXM || Xiamen Xiashing Motorcycle Co., Ltd. (SYM) |- | LXN || Link Tour |- | LXV || Beijing Borgward Automotive Co., Ltd. |- | LXW || JMC - Ford |- | LXY || Chongqing Shineray Motorcycle Co., Ltd. |- | LX6 || Jiangmen City Huari Group Co. Ltd. (motorcycle) |- | LX8 || Chongqing Xgjao (Xinganjue) Motorcycle Co Ltd. |- | LYB || Weichai (Yangzhou) Yaxing Automobile Co., Ltd. |- | LYD || Taizhou City Kaitong Motorcycle Co., Ltd. (motorcycle) |- | LYJ || Beijing ZhongdaYanjing Auto Co., Ltd. (bus) |- | LYM || Zhuzhou Jianshe Yamaha Motorcycle Co., Ltd. |- | LYS || Nanjing Vmoto Manufacturing Co. Ltd. (motorcycle) |- | LYU || Huansu (BAIC Motor & Yinxiang Group) |- | LYV || Volvo Cars Chengdu factory & Luqiao factory |- | LY4 || Chongqing Yingang Science & Technology Group Co., Ltd. (motorcycle) |- | LZE || Isuzu Guangzhou, China |- | LZF || SAIC Iveco Hongyan (-2021), SAIC Hongyan (2021-) |- | LZG || Shaanxi Automobile Group (Shacman) |- | LZK || Sinotruk (CNHTC) Huanghe bus |- | LZL || Zengcheng Haili Motorcycle Ltd. |- | LZM || MAN China |- | LZP || Zhongshan Guochi Motorcycle (Baotian) |- | LZS || Zongshen, Electra Meccanica Vehicles Corp. (Solo) made by Zongshen |- | LZU || Guangzhou Isuzu Bus |- | LZW || SAIC-GM-Wuling (Wuling, Baojun, Chevrolet [for export]) |- | LZY || Yutong Bus Co., Ltd. |- | LZZ || Sinotruk (CNHTC) (Howo, Sitrak) |- | LZ0 || Shandong Wuzheng Group Co., Ltd. |- | LZ4 || Jiangsu Linzhi Shangyang Group Co Ltd. |- | LZ9/LZX || Raysince |- | L0N || Ezytrail (camper trailers) |- | L1K || Chongqing Hengtong Bus Co., Ltd. |- | L1N || XPeng Motors |- | L10 || Geely Emgrand |- | L2B || Jiangsu Baodiao Locomotive Co., Ltd. (motorcycles) |- | L2C || Chery Jaguar Land Rover |- | L3H || Shanxi Victory Automobile Manufacturing Co., Ltd. |- | L37 || Huzhou Daixi Zhenhua Technology Trade Co., Ltd. (motorcycles) |- | L4B || Xingyue Group (motorcycles) |- | L4F || Suzhou Eagle Electric Vehicle Manufacturing Co., Ltd. |- | L4H || Ningbo Longjia Motorcycle Co., Ltd. |- | L4S || Zhejiang Xingyue Vehicle Co Ltd. (motorcycles) |- | L4Y || Qingqi Group Ningbo Rhon Motorcycle / Ningbo Dalong Smooth Locomotive Industry Co., Ltd. |- | L5C || Zhejiang Kangdi Vehicles Co., Ltd. (motorcycles, ATVs) |- | L5E || Zoomlion Heavy Industry Science & Technology Co., Ltd. |- | L5K || Zhejiang Yongkang Easy Vehicle |- | L5N || Zhejiang Taotao (ATV & motorcycles) |- | L5Y || Taizhou Zhongneng Motorcycle Co. Ltd. (Znen) |- | L6F || Shandong Liangzi Power Co. Ltd. |- | L6J || Zhejiang Kayo Motor Co. Ltd. (ATV) |- | L6K || Shanghai Howhit Machinery Manufacture Co. Ltd. |- | L6T || Geely, Lynk & Co, Zeekr |- | L66 || Zhuhai Granton Bus and Coach Co. Ltd. |- | L82 || Baotian |- | L85 || Zhejiang Yongkang Huabao Electric Appliance |- | L8A || Jinhua Youngman Automobile Manufacturing Co., Ltd. |- | L8X || Zhejiang Summit Huawin Motorcycle |- | L8Y || Zhejiang Jonway Motorcycle Manufacturing Co., Ltd. |- | L9G || Zhuhai Guangtong Automobile Co., Ltd. (bus) |- | L9N || Zhejiang Taotao Vehicles Co., Ltd. |- | MAA || India Kawasaki Motors Pvt. Ltd. |- | MAB || Mahindra & Mahindra |- | MAC || Mahindra & Mahindra |- | MAH || Fiat India Automobiles Pvt. Ltd |- | MAJ || [[../Ford/VIN Codes|Ford]] India |- | MAK || [[../Honda/VIN Codes|Honda]] Cars India |- | MAL || Hyundai Motor India |- | MAN || Eicher Polaris Multix |- | MAT || Tata Motors, Rover CityRover |- | MA1 || Mahindra & Mahindra |- | MA3 || Maruti Suzuki India (domestic & export) |- | MA6 || GM India |- | MA7 || Hindustan Motors Ltd. & Mitsubishi Motors & Isuzu models made by Hindustan Motors |- | MA8 || Daewoo Motor India |- | MBF || Royal Enfield |- | MBH || Suzuki (for export) & Nissan Pixo made by Maruti Suzuki India Limited |- | MBJ || [[../Toyota/VIN Codes|Toyota]] Kirloskar Motor Pvt. Ltd. |- | MBK || MAN Trucks India Pvt. Ltd. |- | MBL || Hero MotoCorp |- | MBR || Mercedes-Benz India |- | MBU || Swaraj Vehicles Limited |- | MBV || Premier Automobiles Ltd. |- | MBX || Piaggio India (Piaggio Ape) |- | MBY || Asia Motor Works Ltd. |- | MB1 || Ashok Leyland |- | MB2 || Hyundai Motor India (SUV) |- | MB7 || Reva Electric Car Company/Mahindra Reva Electric Vehicles Pvt. Ltd. |- | MB8 || Suzuki Motorcycle India Limited |- | MCA || FCA India Automobiles Pvt. Ltd. (Fiat, Jeep) |- | MCB || GM India |- | MCD || Mahindra Two Wheelers |- | MCG || Atul Auto Ltd. |- | MCL || International Cars And Motors Ltd. |- | MC1 || Force Motors Ltd. |- | MC2 || Eicher Motors Ltd./Volvo Eicher Commercial Vehicles Ltd. |- | MC4 || Dilip Chhabria Design Pvt Ltd. |- | MC9/RE1 || Reva Electric Car Company (Reva G-Wiz) |- | MDE || Kinetic Engineering Limited |- | MDH || Nissan Motor India Pvt Ltd. (including Datsun) |- | MDT || Kerala Automobiles Limited |- | MD2 || Bajaj Auto Ltd. & KTM and Husqvarna motorcycles built by Bajaj & Indian-market Triumph motorcycles built by Bajaj |- | MD6 || TVS Motor Company |- | MD7 || LML Ltd including Genuine Scooter Company Stella |- | MD9 || Shuttle Cars India |- | MEC || Daimler India Commercial Vehicles (BharatBenz) |- | MEE || Renault India Private Limited |- | MEG || Harley-Davidson India |- | MER || Benelli India |- | MES || Mahindra Navistar |- | MET || Piaggio India (Vespa, Indian-market Aprilia) |- | MEX || Škoda Auto Volkswagen India Pvt. Ltd. 2015 on |- | ME1 || India Yamaha Motor Pvt. Ltd. |- | ME3 || Royal Enfield |- | ME4 || Honda Motorcycle and Scooter India |- | MYH || Ather Energy |- | MZB || Kia India Pvt. Ltd. |- | MZD || Classic Legends Private Limited – Jawa |- | MZZ || Citroen India (PCA Automobiles India Private Limited) |- | MZ7 || MG Motor India Pvt. Ltd. |- | M3G || Isuzu Motors India |- | M6F || UM Lohia Two Wheelers Private Limited |- | ME9/ || BUYMYEV TECHNOLOGY PVT. LTD. (Indibike) |- | MF3 || PT Hyundai Motor Manufacturing Indonesia |- | MHB || PT Nissan Motor Indonesia |- | MHD || PT Indomobil Suzuki International |- | MHF || PT [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Indonesia |- | MHK || PT Astra Daihatsu Motor (includes Toyotas made by Astra Daihatsu) |- | MHL || PT Mercedes-Benz Indonesia |- | MHR || [[../Honda/VIN Codes|Honda]] Indonesia (PT Honda Prospect Motor) (car) |- | MHY || PT Suzuki Indomobil Motor (car, MPV, van) |- | MH1 || PT Astra Honda Motor (motorcycle) |- | MH3 || PT Yamaha Indonesia Motor Mfg. |- | MH4 || PT Kawasaki Motor Indonesia |- | MH8 || PT Suzuki Indomobil Motor (motorcycle) |- | MJB || GM Indonesia |- | MKF || PT Sokonindo Automobile (DFSK) |- | MK2 || PT Mitsubishi Motors Krama Yudha Indonesia |- | MK3 || PT SGMW Motor Indonesia (Wuling) |- | MLB || Siam Yamaha Co Ltd. |- | MLC || Thai Suzuki Motor Co., Ltd. (motorcycle) |- | MLE || Thai Yamaha Motor Co., Ltd. |- | MLH || Thai [[../Honda/VIN Codes|Honda]] Manufacturing Co., Ltd. (motorcycle) |- | MLW || Sco Motor Co., Ltd. (motorcycle) |- | MLY || Harley-Davidson Thailand |- | ML0 || Ducati Motor (Thailand) Co., Ltd. |- | ML3 || Mitsubishi Motors, Dodge Colt 100 [Canada], [[w:Dodge Attitude#Third generation (A10; 2015)|Dodge Attitude]] [Mexico] made by Mitsubishi (Thailand) |- | ML5 || Kawasaki Motors Enterprise Co. Ltd. (Thailand) |- | MMA || Mitsubishi Motors (Thailand) |- | MMB || Mitsubishi Motors (Thailand) |- | MMC || Mitsubishi Motors (Thailand) |- | MMD || Mitsubishi Motors (Thailand) |- | MME || Mitsubishi Motors (Thailand) |- | MMF || BMW Manufacturing (Thailand) Co., Ltd. |- | MML || MG Thailand (SAIC-CP) |- | MMM || Chevrolet Thailand, Holden Colorado RC pickup |- | MMR || Subaru/Tan Chong Subaru Automotive (Thailand) Co. Ltd. |- | MMS || Suzuki Motor (Thailand) Co., Ltd. (passenger car) |- | MMT || Mitsubishi Motors (Thailand) |- | MMU || Holden Thailand (Colorado RG, Colorado 7, & Trailblazer) |- | MM0, MM6, MM7, MM8 || Mazda Thailand (Ford-Mazda AutoAlliance Thailand plant) |- | MNA || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for Australia/New Zealand export |- | MNB || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for other right-hand drive markets |- | MNC || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for left-hand drive markets |- | MNK || Hino Motors Manufacturing Thailand Co Ltd. |- | MNT || Nissan Motor (Thailand) Co., Ltd. |- | MNU || Great Wall Motor Manufacturing (Thailand) Co., Ltd. |- | MN3 || Eagle Vista [Canada] made by Mitsubishi (Thailand) |- | MPA || Isuzu Motors (Thailand) Co., Ltd. & Holden Rodeo RA pickup made by Isuzu in Thailand |- | MPB || [[../Ford/VIN Codes|Ford]] Thailand (Ford Thailand Manufacturing plant) |- | MP1 || Isuzu Motors (Thailand) Co., Ltd. |- | MP2 || Mazda BT-50 pickup built by Isuzu Motors (Thailand) Co., Ltd. |- | MP3 || Plymouth Colt 100 [Canada] made by Mitsubishi (Thailand) |- | MP5 || Foton Motor Thailand |- | MRH || [[../Honda/VIN Codes|Honda]] Thailand (car) |- | MRT || Neta (Hozon Auto) made by Bangchan General Assembly Co., Ltd. |- | MR0 || [[../Toyota/VIN Codes|Toyota]] Thailand (pickups & Fortuner SUV) |- | MR1 || [[../Toyota/VIN Codes|Toyota]] Thailand |- | MR2 || [[../Toyota/VIN Codes|Toyota]] Thailand (Gateway plant) (passenger cars & CUVs) |- | MR3 || [[../Toyota/VIN Codes|Toyota]] Thailand (Hilux Champ chassis cab) |- | MS0 || [[../SUPER SEVEN STARS MOTORS INDUSTRY CO.,LTD/VIN Codes|Super Seven Stars Motors]] Myanmar |- | MS1 || [[../SUPER SEVEN STARS AUTOMOTIVE CO.,LTD/VIN Codes|Super Seven Stars Automotive]] Myanmar |- | MS3 || Suzuki Myanmar Motor Co., Ltd. |- | MXB || Saryarka AvtoProm bus (Kazakhstan) |- | MXL || Yutong bus made by Qaz Tehna (Kazakhstan) |- | MXV || IMZ-Ural Ural Motorcycles (Kazakhstan) |- | MX3 || Hyundai Trans Auto (Kazakhstan) |- | NAA || Iran Khodro (Peugeot Iran) |- | NAC || Mammut (truck trailers) |- | NAD || Škoda |- | NAL || Maral Sanat Jarvid (truck trailers) |- | NAP || Pars Khodro |- | NAS || SAIPA |- | NC0 || Oghab Afshan (bus) |- | NC9/ || VIRA Diesel |- | ND9/345 || Oghab Afshan (bus) |- | NFB || Honda Atlas Cars Pakistan Ltd. |- | NG3 || Lucky Motor Corporation |- | NLA || Honda Turkiye A.S. cars |- | NLC || Askam Kamyon Imalat Ve Ticaret A.S. |- | NLE || Mercedes-Benz Türk A.S. Truck |- | NLF || Koluman Otomotiv Endustri A.S. (truck trailer) |- | NLH || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv car/SUV |- | NLJ || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv van |- | NLN || Karsan |- | NLR || Otokar |- | NLT || Temsa |- | NLZ || Tezeller |- | NL1 || TOGG |- | NL2 || HABAS/HBS (bus) |- | NMA || MAN Türkiye A.Ş. |- | NMB || Mercedes-Benz Türk A.S. Buses |- | NMC || BMC Otomotiv Sanayi ve Ticaret A.Ş. |- | NMH || Honda Anadolu motorcycle |- | NMS || Otoyol San. A.Ş. |- | NMT || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Turkey |- | NM0 || Ford Otosan |- | NM1 || Oyak Renault Otomobil Fabrikaları A.Ş. |- | NM4 || Tofaş (Turk Otomobil Fabrikasi AS) |- | NNA || Anadolu Isuzu |- | NNN || Gépébus Oréos 4X (based on Otokar Vectio) |- | NNY || Yeksan (truck trailer) |- | NPM || Seyit Usta Treyler (truck trailer) |- | NPR || Oztreyler (truck trailer) |- | NPS || Nursan (truck trailer) |- | NP8|| ÖZGÜL TREYLER (truck trailer) |- | NP9/002 || OKT Trailer (truck trailer) |- | NP9/003 || Aksoylu Trailer (truck trailer) |- | NP9/011 || Güleryüz (bus) |- | NP9/021 || Dogumak (truck trailer) |- | NP9/022 || Alim (truck trailer) |- | NP9/042 || Ali Rıza Usta (truck trailer) |- | NP9/066 || Makinsan (truck trailer) |- | NP9/093 || BRF Trailer (truck trailer) |- | NP9/103 || Türkkar (bus) |- | NP9/106 || Çarsan Treyler (truck trailer) |- | NP9/107 || Arbus Perfect (bus) |- | NP9/108 || Guven Makina (truck trailer) |- | NP9/117 || Katmerciler (truck trailer) |- | NP9/300 || TCV (bus) |- | NP9/258 || Ceytrayler (truck trailer) |- | NP9/306 || Cryocan (truck trailer) |- | NRE || Bozankaya |- | NRX || Musoshi |- | NRY || Pilotcar Otomotiv |- | NR9/012 || Doğan Yıldız (truck trailer) |- | NR9/028 || Micansan (truck trailer) |- | NR9/029 || Yilteks (truck trailer) |- | NR9/034 || Akia (bus) |- | NR9/084 || Harsan (truck trailer) |- | NR9/257 || Vega Trailer (truck trailer) |- | NSA || SamAvto / SAZ (Uzbekistan) |- | NS2 || JV MAN Auto - Uzbekistan |- | NVA || Khazar (IKCO Dena made in Azerbaijan) |- | PAB || Isuzu Philippines Corporation |- | PAD || Honda Cars Philippines |- | PE1 || Ford Motor Company Philippines |- | PE3 || Mazda Philippines made by Ford Motor Company Philippines |- | PFD || Hyundai Motor Group Innovation Center in Singapore (HMGICS) |- | PL1 || Proton, Malaysia |- | PL8 || Inokom-Hyundai |- | PLP || Subaru/Tan Chong Motor Assemblies, Malaysia |- | PLZ || Isuzu Malaysia |- | PMA || MAN Truck & Bus Malaysia |- | PMH || Honda Malaysia (car) |- | PMK || Honda Boon Siew (motorcycle) |- | PML || Hicom |- | PMN || Modenas |- | PMS || Suzuki Assemblers Malaysia (motorcycle) |- | PMV || Hong Leong Yamaha Motor Sdn. Bhd. |- | PMY || Hong Leong Yamaha Motor Sdn. Bhd. |- | PM1 || BMW & Mini/Inokom |- | PM2 || Perodua |- | PM9/ || Bufori |- | PNA || Naza/Kia/Peugeot |- | PNA || Stellantis Gurun (Malaysia) Sdn. Bhd. (Peugeot) |- | PNS || SKSBUS Malaysia (bus) |- | PNS || TMSBUS Malaysia (bus) |- | PNV || Volvo Car Manufacturing Malaysia |- | PN1 || UMW Toyota Motor |- | PN2 || UMW Toyota Motor |- | PN8 || Nissan/Tan Chong Motor Assemblies, Malaysia |- | PPP || Suzuki |- | PPV || Volkswagen/HICOM Automotive Manufacturers (Malaysia) |- | PP1 || Mazda/Inokom |- | PP3 || Hyundai/Inokom |- | PRA || Sinotruk |- | PRH || Chery (by Chery Alado Holdings [joint venture] at Oriental Assemblers plant) |- | PRX || Kia/Inokom |- | PR8 || Ford |- | PRN || GAC Trumpchi made by Warisan Tan Chong Automotif Malaysia |- | PV3 || Ford made by RMA Automotive Cambodia |- | RA1 || Steyr Trucks International FZE, UAE |- | RA9/015 || Al-Assri Industries (Trailers), UAE |- | LFA || Ford Lio Ho Motor Co Ltd. old designation (Taiwan) |- | LM1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LM4 || Tai Ling Motor Co Ltd. old designation (Suzuki ATV made by Tai Ling) (Taiwan) |- | LN1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LPR || Yamaha Motor Taiwan Co. Ltd. old designation (Taiwan) |- | RFB || Kwang Yang Motor Co., Ltd. (Kymco), Taiwan |- | RFC || Taiwan Golden Bee |- | RFD || Tai Ling Motor Co Ltd. new designation (Taiwan) |- | RFG || Sanyang Motor Co., Ltd. (SYM) Taiwan |- | RFL || Her Chee Industrial Co., Ltd. (Adly), Taiwan |- | RFT || CPI Motor Company, Taiwan |- | RFV || Motive Power Industry Co., Ltd. (PGO Scooters including Genuine Scooter Company models made by PGO) (Taiwan) |- | RF3 || Aeon Motor Co., Ltd., Taiwan |- | RF5 || Yulon Motor Co. Ltd., Taiwan (Luxgen) |- | RF8 || EVT Technology Co., Ltd (motorcycle) |- | RGS || Kawasaki made by Kymco (Taiwan) |- | RHA || Ford Lio Ho Motor Co Ltd. new designation (Taiwan) |- | RKJ || Prince Motors Taiwan |- | RKL || Kuozui Motors (Toyota) (Taiwan) |- | RKM || China Motor Corporation (Taiwan) |- | RKR || Yamaha Motor Taiwan Co. Ltd. new designation |- | RKT || Access Motor Co., Ltd. (Taiwan) |- | RK3 || E-Ton Power Tech Co., Ltd. (motorcycle) (Taiwan) |- | RK3 || Honda Taiwan |- | RK7 || Kawasaki ATV made by Tai Ling Motor Co Ltd (rebadged Suzuki ATV) new designation (Taiwan) |- | RLA || Vina Star Motors Corp. – Mitsubishi (Vietnam) |- | RLC || Yamaha Motor Vietnam Co. Ltd. |- | RLE || Isuzu Vietnam Co. |- | RLH || Honda Vietnam Co. Ltd. |- | RLL || VinFast SUV |- | RLM || Mercedes-Benz Vietnam |- | RLN || VinFast |- | RLV || Vietnam Precision Industrial CO., Ltd. (Can-Am DS 70 & DS 90) |- | RL0 || Ford Vietnam |- | RL4 || Toyota Motor Vietnam |- | RP8 || Piaggio Vietnam Co. Ltd. |- | RUN || Sollets-Auto ST6 (Russia) |- | R1J || Jiayuan Power (Hong Kong) Ltd. (Electric Low-Speed Vehicles) (Hong Kong) |- | R1N || Niu Technologies Group Ltd. (Hong Kong) |- | R10 || ZAP (HK) Co. Ltd. |- | R19/003 || GMI (bus) (Hong Kong) |- | R2P || Evoke Electric Motorcycles (Hong Kong) |- | R3M || Mangosteen Technology Co., Ltd. (Hong Kong) |- | R36 || HK Shansu Technology Co., Ltd. (Hong Kong) |- | R4N || Elyx Smart Technology Holdings (Hong Kong) Ltd. |- | R82 || Hangzhou Lantu Technology Co., Ltd. (Hong Kong) |- | SAA || Austin |- | SAB || Optare (1985-2020), Switch Mobility (2021-) |- | SAD || Daimler Company Limited (until April 1987) |- | SAD || Jaguar SUV (E-Pace, F-Pace, I-Pace) |- | SAF || ERF trucks |- | SAH || Honda made by Austin Rover Group |- | SAJ || Jaguar passenger car & Daimler passenger car (after April 1987) |- | SAL || [[../Land Rover/VIN Codes|Land Rover]] |- | SAM || Morris |- | SAR || Rover & MG Rover Group |- | SAT || Triumph car |- | SAX || Austin-Rover Group including Sterling Cars |- | SAY || Norton Motorcycles |- | SAZ || Freight Rover |- | SA3 || Ginetta Cars |- | SA9/ || OX Global |- | SA9/A11 || Morgan Roadster (V6) (USA) |- | SA9/J00 || Morgan Aero 8 (USA) |- | SA9/004 || Morgan (4-wheel passenger cars) |- | SA9/005 || Panther |- | SA9/010 || Invicta S1 |- | SA9/011 || Midas Cars |- | SA9/019 || TVR |- | SA9/022 || Triking Sports Cars |- | SA9/026 || Fleur de Lys |- | SA9/038 || DAX Cars |- | SA9/039 || Westfield Sportscars |- | SA9/048 || McLaren F1 |- | SA9/050 || Marcos Engineering |- | SA9/062 || AC Cars (Brooklands Ace) |- | SA9/068 || Johnston Sweepers |- | SA9/073 || Tomita Auto UK (Tommykaira ZZ) |- | SA9/074 || Ascari |- | SA9/088 || Spectre Angel |- | SA9/105 || Mosler Europe Ltd. |- | SA9/113 || Noble |- | SA9/130 || MG Sport and Racing |- | SA9/141 || Wrightbus |- | SA9/202 || Morgan 3-Wheeler, Super 3 |- | SA9/207 || Radical Sportscars |- | SA9/211 || BAC (Briggs Automotive Company Ltd.) |- | SA9/225 || Paneltex (truck trailer) |- | SA9/231 || Peel Engineering |- | SA9/337 || Ariel |- | SA9/341 || Zenos |- | SA9/438 || Charge Cars |- | SA9/458 || Gordon Murray Automotive |- | SA9/474 || Mellor (bus) |- | SA9/612 || Tiger Racing (kit car) |- | SA9/621 || AC Cars (Ace) |- | SBB || Leyland Vehicles |- | SBC || Iveco Ford Truck |- | SBF || Nugent (trailer) |- | SBJ || Leyland Bus |- | SBL || Leyland Motors & Leyland DAF |- | SBM || McLaren |- | SBS || Scammell |- | SBU || United Trailers (truck trailer) |- | SBV || Kenworth & Peterbilt trucks made by Leyland Trucks |- | SBW || Weightlifter Bodies (truck trailer) |- | SB1 || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing UK |- | SCA || Rolls Royce passenger car |- | SCB || Bentley passenger car |- | SCC || Lotus Cars & Opel Lotus Omega/Vauxhall Lotus Carlton |- | SCD || Reliant Motors |- | SCE || DeLorean Motor Cars N. Ireland (UK) |- | SCF || Aston Martin Lagonda Ltd. passenger car & '21 DBX SUV |- | SCG || Triumph Engineering Co. Ltd. (original Triumph Motorcycle company) |- | SCK || Ifor Williams Trailers |- | SCM || Manitowoc Cranes - Grove |- | SCR || London Electric Vehicle Company & London Taxi Company & London Taxis International |- | SCV || Volvo Truck & Bus Scotland |- | SC5 || Wrightbus (from ~2020) |- | SC6 || INEOS Automotive SUV |- | SDB || Talbot |- | SDC || SDC Trailers Ltd. (truck trailer) |- | SDF || Dodge Trucks – UK 1981–1984 |- | SDG || Renault Trucks Industries 1985–1992 |- | SDK || Caterham Cars |- | SDL || TVR |- | SDP || NAC MG UK & MG Motor UK Ltd. |- | SDU || Utility (truck trailer) |- | SD7 || Aston Martin SUV |- | SD8 || Moke International Ltd. |- | SED || IBC Vehicles (General Motors Luton Plant) (Opel/Vauxhall, 1st gen. Holden Frontera, Isuzu Midi) |- | SEG || Dennis Eagle Ltd., including Renault Trucks Access and D Access |- | SEP || Don-Bur (truck trailer) |- | SEY || LDV Group Ltd. |- | SFA || [[../Ford/VIN Codes|Ford]] UK |- | SFD || Dennis UK / Alexander Dennis |- | SFE || Alexander Dennis UK |- | SFR || Fruehauf (truck trailer) |- | SFN || Foden Trucks |- | SFZ || Tesla Roadster made by Lotus |- | SGA || Avondale (caravans) |- | SGB || Bailey (caravans) |- | SGD || Swift Group Ltd. (caravans) |- | SGE || Elddis (caravans) |- | SGL || Lunar Caravans Ltd. |- | SG4 || Coachman (caravans) |- | SHH || [[../Honda/VIN Codes|Honda]] UK passenger car |- | SHS || [[../Honda/VIN Codes|Honda]] UK SUV |- | SH7 || INEOS Automotive truck |- | SJA || Bentley SUV |- | SJB || Brian James Trailers Ltd |- | SJK || Nissan Motor Manufacturing UK - Infiniti |- | SJN || Nissan Motor Manufacturing UK - Nissan |- | SJ1 || Ree Automotive |- | SKA || Vauxhall |- | SKB || Kel-Berg Trailers & Trucks |- | SKF || Bedford Vehicles |- | SKL || Anaig (UK) Technology Ltd |- | SLA || Rolls Royce SUV |- | SLC || Thwaites Dumpers |- | SLG || McMurtry Automotive |- | SLN || Niftylift |- | SLP || JC Bamford Excavators Ltd. |- | SLV || Volvo bus |- | SMR || Montracon (truck trailer) |- | SMT || Triumph Motorcycles Ltd. (current Triumph Motorcycle company) |- | SMW || Cartwright (truck trailer) |- | SMX || Gray & Adams (truck trailer) |- | SNE || Barkas (East Germany) |- | SNE || Wartburg (East Germany) |- | SNT || Trabant (East Germany) |- | SNZ || MZ (motorcycle) (Germany) |- | SPE || B-ON GmbH (Germany) |- | ST3 || Calabrese (truck trailer) |- | SUA || Autosan (bus) |- | SUB || Tramp Trail (trailer) |- | SUC || Wiola (trailer) |- | SUD || Wielton (truck trailers) |- | SUF || FSM/Fiat Auto Poland (Polski Fiat) |- | SUG || Mega Trailers (truck trailer) (Poland) |- | SUJ || Jelcz (Poland) |- | SUL || FSC (Poland) |- | SUM || Novatrail (truck trailers) |- | SUP || FSO/Daewoo-FSO (Poland) |- | SUU || Solaris Bus & Coach (Poland) |- | SU9/AR1 || Emtech (truck trailer) |- | SU9/BU1 || BODEX (truck trailer) |- | SU9/DE2 || Demarco (truck trailer) |- | SU9/EB1 || Elbo (truck trailer) |- | SU9/EZ1 || Enerco (truck trailer) |- | SU9/NC5 || Zasta (truck trailer) |- | SU9/NJ1 || Janmil (truck trailer) |- | SU9/PL1 || Plandex (truck trailer) |- | SU9/PN1 || Solaris Bus & Coach (Poland) - until 2004 |- | SU9/RE1 || Redos (truck trailer) |- | SU9/RE2 || Gromex (trailer) |- | SU9/TR1 || Plavec (truck trailer) |- | SU9/YV1 || Pilea bus/ARP E-Vehicles (Poland) |- | SU9/ZC1 || Wolf (truck trailer) |- | SVH || ZASŁAW (truck trailer) |- | SVM || Inter Cars (truck trailer) |- | SVS || BODEX (truck trailer) |- | SV9/BC2 || BC-LDS (truck trailer) |- | SV9/DR1 || Dromech (truck trailer) |- | SV9/RN1 || Prod-Rent (truck trailer) |- | SWH || Temared (trailers) |- | SWR || Weekend Trailers (trailers) |- | SWV || TA-NO (Poland) |- | SWZ || Zremb (trailers) |- | SW9/BA1 || Solbus |- | SW9/WG3 || Grew / Opalenica (trailer) |- | SXE || Neptun Trailers |- | SXK || Konar (truck trailer) |- | SXM || MELEX Sp. z o.o. |- | SXY || Wecon (truck trailer) |- | SXX || Martz (trailer) |- | SX7 || Arthur Bus |- | SX9/GR0 || GRAS (truck trailer) |- | SX9/KT1 || AMZ - Kutno (bus) |- | SX9/PN1 || Polkon (truck trailer) |- | SX9/SP1 || SOMMER Polska (truck trailer) |- | SYB || Rydwan (trailer) |- | SYG || Gniotpol, GT Trailers Sp. z o. o. (truck trailer) |- | SY1 || Neso Bus (PAK-PCE Polski Autobus Wodorowy) |- | SY9/FR1 || Feber (truck trailer) |- | SY9/PF1 || KEMPF (truck trailer) |- | SZA || Scania Poland |- | SZC || Vectrix (motorcycle) |- | SZL || Boro Trailers |- | SZN || Przyczepy Głowacz (trailer) |- | SZR || Niewiadów (trailer) |- | SZ9/AE6 || Gewe (trailer) |- | SZ9/BG1 || GALA Syriusz (trailer) |- | SZ9/PW1 || PRO-WAM (truck trailer) |- | SZ9/TU1 || Ovibos (truck trailer) |- | S19/AM0 || AMO Plant (bus) (Latvia) |- | S19/EF1 || Electrify (minibus) (Latvia) |- | S19/MT0 || Mono-Transserviss (truck trailer) (Latvia) |- | TAW || NAW Nutzfahrzeuggesellschaft Arbon & Wetzikon AG (Switzerland) |- | TBS || Boschung AG (Switzerland) |- | TCC || Micro Compact Car AG (smart 1998-1999) (Switzerland) |- | TDM || QUANTYA Swiss Electric Movement (Switzerland) |- | TEB || Bucher Municipal AG (includes Johnston Sweepers) (Switzerland) |- | TEM || Twike (SwissLEM AG) (Switzerland) |- | TFH || FHS Frech-Hoch AG (truck trailer) (Switzerland) |- | TH9/512 || Hess AG (bus, trolleybus) (Switzerland) |- | TJ5 || Vezeko (trailer) (Czech Republic) |- | TKP || Panav a.s. (truck trailer) (Czech Republic) |- | TKX || Agados s.r.o. (trailer) (Czech Republic) |- | TKY || Metaco (truck trailer) (Czech Republic) |- | TK9/AH3 || Atmos Chrást s.r.o. (Czech Republic) |- | TK9/AP3 || Agados, spol. s.r.o. (trailer) (Czech Republic) |- | TK9/HP1 || Hipocar (truck trailer) (Czech Republic) |- | TK9/PP7 || Paragan Trucks (truck trailer) (Czech Republic) |- | TK9/SL5 || SOR Libchavy buses (Czech Republic) |- | TK9/SS5 || SVAN Chrudim (truck trailer) (Czech Republic) |- | TLJ || Jawa Moto (Czech Republic) |- | TMA || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech |- | TMB || Škoda Auto|Škoda (Czech Republic) |- | TMC || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech (SUV) |- | TMK || Karosa (Czech Republic) |- | TMP || Škoda trolleybuses (Czech Republic) |- | TMT || Tatra passenger car (Czech Republic) |- | TM9/CA2 || Oasa bus (Oprava a stavba automobilů) (Czech Republic) |- | TM9/SE3 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/SE4 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/TE6 || TEDOM bus (Czech Republic) |- | TNA || Avia/Daewoo Avia |- | TNE || TAZ |- | TNG || LIAZ (Liberecké Automobilové Závody) |- | TNT || Tatra trucks |- | TNU || Tatra trucks |- | TN9/EE7 || Ekova (bus) (Czech Republic) |- | TN9/VP5 || VPS (truck trailer) |- | TRA || Ikarus Bus |- | TRC || Csepel bus |- | TRE || Rákos bus |- | TRK || Credo bus/Kravtex (Hungary) |- | TRR || Rába Bus (Hungary) |- | TRU || Audi Hungary (TT/TTS) |- | TSB || Ikarus Bus |- | TSC || VIN assigned by the National Transport Authority of Hungary |- | TSE || Ikarus Egyedi Autobuszgyar (EAG) (Hungary) |- | TSF || Alfabusz (Hungary) |- | TSM || Suzuki Hungary (Magyar Suzuki),<br> Fiat Sedici made by Suzuki, Subaru Justy G3X made by Suzuki, Suzuki Swace made by Toyota UK (TMUK) |- | TSY || Keeway Motorcycles (Hungary) |- | TS9/111 || NABI Autóbuszipari (bus) (Hungary) |- | TS9/130 || Enterprise Bus (Hungary) |- | TS9/131 || MJT bus (Hungary) |- | TS9/156 || Ikarus / ARC (Auto Rad Controlle Kft.) bus (Hungary) |- | TS9/167 || Hungarian Bus Kft. (Hungary) |- | TS9/170 || Csaba Metál bus (Hungary) |- | TT9/117 || Ikarus Egyedi Autobusz Gyarto Kft. / Magyar Autóbuszgyártó Kft. / MABI (Hungary) |- | TT9/123 || Ikarus Global Zrt. (Hungary) |- | TWG || CaetanoBus (Portugal) |- | TW0 || CaetanoBus (Portugal) |- | TW1 || Toyota Caetano Portugal, S.A. (Toyota Coaster, Dyna, Optimo, Land Cruiser 70 Series) |- | TW2 || [[../Ford/VIN Codes|Ford]] Lusitana (Portugal) |- | TW4 || UMM (Portugal) |- | TW6 || Citroën (Portugal) |- | TW7 || Mini Moke made by British Leyland & Austin Rover Portugal |- | TX5 || Mini Moke made by Cagiva (Moke Automobili) |- | TX9/046 || Riotrailer (truck trailer) (Portugal) |- | TYA || Mitsubishi Fuso Truck and Bus Corp. Portugal (right-hand drive) |- | TYB || Mitsubishi Fuso Truck and Bus Corp. Portugal (left-hand drive) |- | T3C || Lohr Backa Topola (truck trailer) (Serbia) |- | T49/BG7 || FAP (Serbia) |- | T49/BH8 || Megabus (bus) (Serbia) |- | T49/BM2 || Feniksbus (minibus) (Serbia) |- | T49/V16 || MAZ made by BIK (bus) (Serbia) |- | T7A || Ebusco (Netherlands) |- | UA1 || AUSA Center (Spain) |- | UA4 || Irizar e-mobility (Spain) |- | UCY || Silence Urban Ecomobility (Spain) |- | UD3 || Granalu truck trailers (Belgium) |- | UHE || Scanvogn (trailer) (Denmark) |- | UHL || Camp-let (recreational vehicle) (Denmark) |- | UH2 || Brenderup (trailer) (Denmark) |- | UH2 || De Forenede Trailerfabrikke (trailer) (Denmark) |- | UH9/DA3 || DAB - Danish Automobile Building (acquired by Scania) (Denmark) |- | UH9/FK1 || Dapa Trailer (truck trailer) (Denmark) |- | UH9/HF1 || HFR Trailer A/S (truck trailer) (Denmark) |- | UH9/HM1 || HMK Bilcon A/S (truck trailer) (Denmark) |- | UH9/NS1 || Nopa (truck trailer) (Denmark) |- | UH9/NT1 || Nordic Trailer (truck trailer) (Denmark) |- | UH9/VM2 || VM Tarm a/s (truck trailer) (Denmark) |- | UJG || Garia ApS - Club Car (Denmark) |- | UKR || Hero Camper (Denmark) |- | UMT || MTDK a/s (truck trailer) (Denmark) |- | UN1 || [[../Ford/VIN Codes|Ford]] Ireland |- | UN9/089 || Brian Noone Ltd. bus (Ireland) |- | UU1 || Dacia (Romania) |- | UU2 || Oltcit |- | UU3 || ARO |- | UU4 || Roman/Grivbuz |- | UU5 || Rocar |- | UU6 || Daewoo Romania |- | UU7 || Euro Bus Diamond |- | UU9 || Astra Bus |- | UVW || UMM (truck trailer) |- | UV9/AT1 || ATP Trucks, ATP Bus |- | UWR || Robus Reșița |- | UZT || UTB (Uzina de Tractoare Brașov) |- | U1A || Sanos (North Macedonia) |- | U1V || VDL Van Hool Macedonia (North Macedonia) |- | U5Y || Kia Motors Slovakia |- | U59/AS0 || ASKO (truck trailer) |- | U6A || Granus (bus) (Slovakia) |- | U6Y || Kia Motors Slovakia |- | U69/NL1 || Novoplan (bus) (Slovakia) |- | U69/SB1 || SlovBus (bus) |- | U69/TR8 || Troliga Bus (Slovakia) |- | VAG || Steyr-Daimler-Puch Puch G & Steyr-Puch Pinzgauer |- | VAH || Hangler (truck trailer) |- | VAK || Kässbohrer Transport Technik |- | VAN || MAN Austria/Steyr-Daimler-Puch Steyr Trucks |- | VAV || Schwarzmüller |- | VAX || Schwingenschlogel (truck trailer) |- | VA0 || ÖAF, Gräf & Stift |- | VA4 || KSR Group (motorcycle) |- | VA9/GS0 || Gsodam Fahrzeugbau (truck trailer) |- | VA9/ZT0 || Berger Fahrzeugtechnik (truck trailer) |- | VBF || Fit-Zel (trailer) |- | VBK || KTM |- | VBK || Husqvarna Motorcycles & Gas Gas under KTM ownership |- | VCF || Fisker Inc. (Fisker Ocean) made by Magna Steyr |- | VFA || Alpine, Renault Alpine GTA |- | VFG || Caravelair (caravans) |- | VFK || Fruehauf (truck trailers) |- | VFN || Trailor, General Trailers (truck trailers) |- | VF1 || Renault, Mobilize Duo, Eagle Medallion made by Renault, Opel/Vauxhall Arena made by Renault,<br> Mitsubishi ASX, Colt, & Grandis made by Renault |- | VF2 || Renault Trucks |- | VF3 || Peugeot |- | VF4 || Talbot |- | VF5 || Iveco Unic |- | VF6 || Renault Trucks including vans made by Renault S.A. |- | VF7 || Citroën |- | VF8 || Matra Automobiles (Talbot-Matra Murena, Rancho made by Matra, Renault Espace I/II/III, Avantime made by Matra) |- | VF9/024 || Legras Industries (truck trailer) |- | VF9/049 || G. Magyar (truck trailer) |- | VF9/063 || Maisonneuve (truck trailer) |- | VF9/132 || Jean CHEREAU S.A.S. (truck trailer) |- | VF9/300 || EvoBus France |- | VF9/435 || Merceron (truck trailer) |- | VF9/519 || Hommell |- | VF9/607 || Mathieu (sweeper) |- | VF9/673 || Venturi Automobiles |- | VF9/795 || [[../Bugatti/VIN Codes|Bugatti Automobiles S.A.S.]] |- | VF9/848 || G. Magyar (truck trailer) |- | VF9/880 || Bolloré Bluebus |- | VF9/938 || SAFRA (bus) |- | VGA || Peugeot Motocycles |- | VGT || ASCA (truck trailers) |- | VGU || Trouillet (truck trailers) |- | VGW || BSLT (truck trailers) |- | VGX || Coder (truck trailers) |- | VGY || Lohr (truck trailers) |- | VG5 || MBK (motorcycles) & Yamaha Motor |- | VG6 || Renault Trucks & Mack Trucks medium duty trucks made by Renault Trucks |- | VG7 || Renault Trucks |- | VG8 || Renault Trucks |- | VG9/019 || Naya (autonomous vehicle) |- | VG9/061 || Alstom-NTL Aptis (bus) |- | VHR || Robuste (truck trailer) |- | VHX || Manitowoc Cranes - Potain |- | VH1 || Benalu SAS (truck trailer) |- | VH8 || Microcar |- | VJR || Ligier |- | VJY || Gruau |- | VJ1 || Heuliez Bus |- | VJ2 || Mia Electric |- | VJ4 || Gruau |- | VKD || Cheval Liberté (horse trailer) |- | VK1 || SEG (truck trailer) |- | VK2 || Grandin Automobiles |- | VK8 || Venturi Automobiles |- | VLG || Aixam-Mega |- | VLU || Scania France |- | VL4 || Bluecar, Citroen E-Mehari |- | VMK || Renault Sport Spider |- | VMS || Automobiles Chatenet |- | VMT || SECMA |- | VMW || Gépébus Oréos 55 |- | VM3 || Lamberet (trailer) |- | VM3 || Chereau (truck trailer) |- | VN1 || Renault SOVAB (France), Opel/Vauxhall Movano A made at SOVAB |- | VN4 || Voxan |- | VNE || Iveco Bus/Irisbus (France) |- | VNK || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing France & '11-'13 Daihatsu Charade (XP90) made by TMMF |- | VNV || Nissan made in France by Renault |- | VRW || Goupil |- | VR1 || DS Automobiles |- | VR3 || Peugeot (under Stellantis) |- | VR7 || Citroën (under Stellantis) |- | VPL || Nosmoke S.A.S |- | VP3 || G. Magyar (truck trailers) |- | VXE || Opel Automobile Gmbh/Vauxhall van |- | VXF || Fiat van (Fiat Scudo, Ulysse '22-) |- | VXK || Opel Automobile Gmbh/Vauxhall car/SUV |- | VYC || Lancia Ypsilon (4th gen.) |- | VYE || Jeep Compass (3rd gen. - EU market '26-) |- | VYF || Fiat Doblo '23- & Fiat Topolino '23- & Fiat Grande Panda '25- |- | VYJ || Ram 1200 '25- (sold in Mexico) |- | VYS || Renault & Alpine made by Ampere (Renault 5 E-Tech, Renault 4 E-Tech, Alpine A290) |- | VZ2 || Avtomontaža (bus) (Slovenia) |- | UA2 || Iveco Massif & Campagnola made by Santana Motors in Spain |- | VSA || Mercedes-Benz Spain |- | VSC || Talbot |- | VSE || Santana Motors (Land Rover Series-based models) & Suzuki SJ/Samurai, Jimny, & Vitara made by Santana Motors in Spain |- | VSF || Santana Motors (Anibal/PS-10, 300/350) |- | VSK || Nissan Motor Iberica SA, Nissan passenger car/MPV/van/SUV/pickup & Ford Maverick 1993–1999 |- | VSR || Leciñena (truck trailers) |- | VSS || SEAT/Cupra |- | VSX || Opel Spain |- | VSY || Renault V.I. Spain (bus) |- | VS1 || Pegaso |- | VS5 || Renault Spain |- | VS6 || [[../Ford/VIN Codes|Ford]] Spain |- | VS7 || Citroën Spain |- | VS8 || Peugeot Spain |- | VS9/001 || Setra Seida (Spain) |- | VS9/011 || Advanced Design Tramontana |- | VS9/013 || Mirofret (truck trailer) (Spain) |- | VS9/016 || Irizar bus (Spain) |- | VS9/019 || Cobos Hermanos (truck trailer) (Spain) |- | VS9/031 || Carrocerias Ayats (Spain) |- | VS9/032 || Parcisa (truck trailer) (Spain) |- | VS9/044 || Beulas bus (Spain) (Spain) |- | VS9/047 || Indox (truck trailers) (Spain) |- | VS9/052 || Montull (truck trailer) (Spain) |- | VS9/057 || SOR Ibérica (truck trailers) (Spain) |- | VS9/072 || Mecanicas Silva (truck trailer) (Spain) |- | VS9/098 || Sunsundegui bus (Spain) |- | VS9/172 || EvoBus Iberica |- | VS9/917 || Nogebus (Spain) |- | VTD || Montesa Honda (Honda Montesa motorcycle models) |- | VTH || Derbi (motorcycles) |- | VTL || Yamaha Spain (motorcycles) |- | VTM || Montesa Honda (Honda motorcycle models) |- | VTP || Rieju S.A. (motorcycles) |- | VTR || Gas Gas |- | VTT || Suzuki Spain (motorcycles) |- | VVC || SOR Ibérica (truck trailers) |- | VVG || Tisvol (truck trailers) |- | VV1 || Lecitrailer Group (truck trailers) |- | VV5 || Prim-Ball (truck trailers) |- | VV9/ || [[wikipedia:Tauro Sport Auto|TAURO]] Sport Auto Spain |- | VV9/010 || Castrosúa bus (Spain) |- | VV9/125 || Indetruck (truck trailers) |- | VV9/130 || Vectia Mobility bus (Spain) |- | VV9/130 || UNVI bus (Spain) |- | VV9/359|| Hispano-Suiza |- | VWA || Nissan Vehiculos Industriales SA, Nissan Commercial Vehicles |- | VWF || Guillén Group (truck trailers) |- | VWL || Indox (truck trailers) |- | VWV || Volkswagen Spain |- | VXY || Neobus a.d. (Serbia) |- | VX1 || [[w:Zastava Automobiles|Zastava Automobiles]] / [[w:Yugo|Yugo]] (Yugoslavia/Serbia) |- | V1Y || FAS Sanos bus (Yugoslavia/North Macedonia) |- | V2X || Ikarbus a.d. (Serbia) |- | V31 || Tvornica Autobusa Zagreb (TAZ) (Croatia) |- | V34 || Crobus bus (Croatia) |- | V39/AB8 || Rimac Automobili (Croatia) |- | V39/CB3 || Eurobus (Croatia) |- | V39/WB4 || Rasco (machinery) (Croatia) |- | V6A || Bestnet AS; Tiki trailers (Estonia) |- | V6B || Brentex-Trailer (Estonia) |- | V6T || Verge Motorcycles (Estonia) |- | V61 || Respo Trailers (Estonia) |- | WAC || Audi/Porsche RS2 Avant |- | WAF || Ackermann (truck trailer) |- | WAG || Neoplan |- | WAP || Alpina |- | WAU || Audi car |- | WA1 || Audi SUV |- | WBA || BMW car |- | WBC || Boom Trikes |- | WBJ || Bitter Cars |- | WBK || Böcker Maschinenwerke GmbH |- | WBL || Blumhardt (truck trailers) |- | WBS || BMW M car |- | WBU || Bürstner (caravans) |- | WBX || BMW SUV |- | WBY || BMW i car |- | WB0 || Böckmann Fahrzeugwerke GmbH (trailers) |- | WB1 || BMW Motorrad |- | WB2 || Blyss (trailer) |- | WB3 || BMW Motorrad Motorcycles made in India by TVS |- | WB4 || BMW Motorrad Motorscooters made in China by Loncin |- | WB5 || BMW i SUV |- | WCD || Freightliner Sprinter "bus" (van with more than 3 rows of seats) 2008–2019 |- | WCM || Wilcox (truck trailer) |- | WDA || Mercedes-Benz incomplete vehicle (North America) |- | WDB || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] & Maybach |- | WDC || Mercedes-Benz SUV |- | WDD || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] car |- | WDF || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] van/pickup (French & Spanish built models – Citan & Vito & X-Class) |- | WDP || Freightliner Sprinter incomplete vehicle 2005–2019 |- | WDR || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) 2005–2019 |- | WDT || Dethleffs (caravans) |- | WDW || Dodge Sprinter "bus" (van with more than 3 rows of seats) 2008–2009 |- | WDX || Dodge Sprinter incomplete vehicle 2005–2009 |- | WDY || Freightliner Sprinter truck (cargo van with 1 row of seats) 2005–2019 |- | WDZ || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | WD0 || Dodge Sprinter truck (cargo van with 1 row of seats) 2005–2009 |- | WD1 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 incomplete vehicle |- | WD2 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 truck (cargo van with 1 row of seats) |- | WD3 || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | WD4 || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | WD5 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 MPV (van with 2 or 3 rows of seats) |- | WD6 || Freightliner Unimog truck |- | WD7 || Freightliner Unimog incomplete vehicle |- | WD8 || Dodge Sprinter MPV (van with 2 or 3 rows of seats) 2005–2009 |- | WEB || Evobus GmbH (Mercedes-Benz buses) |- | WEG || Ablinger (trailer) |- | WEL || e.GO Mobile AG |- | WFB || Feldbinder Spezialfahrzeugwerke GmbH |- | WFC || Fendt (caravans) |- | WFD || Fliegl Trailer |- | WFN || Tadano Faun GmbH |- | WF0 || [[../Ford/VIN Codes|Ford]] Germany |- | WF1 || Merkur |- | WGB || Göppel Bus GmbH |- | WG0 || Goldhofer AG (truck trailer) |- | WHB || Hobby (recreational vehicles) |- | WHD || Humbaur GmbH (truck trailer) |- | WHL || Hulco (trailer) |- | WHW || Hako GmbH |- | WHY || Hymer (recreational vehicles) |- | WH7 || Hüfferman (truck trailer) |- | WJM || Iveco/Iveco Magirus |- | WJR || Irmscher |- | WKE || Krone (truck trailers) |- | WKK || Setra (Evobus GmbH; formerly Kässbohrer) |- | WKN || Knaus, Weinsberg (caravans) |- | WKV || Kässbohrer Fahrzeugwerke Gmbh (truck trailers) |- | WK0 || Kögel (truck trailers) |- | WLA || Langendorf semi-trailers |- | WLF || Liebherr (mobile crane) |- | WMA || MAN Truck & Bus |- | WME || smart (from 5/99) |- | WMG || Demag Cranes |- | WMM || Karl Müller GmbH & Co. KG (truck trailers) |- | WMP || M & V GmbH (truck trailers) |- | WMU || Hako GmbH (Multicar) |- | WMW || MINI car |- | WMX || Mercedes-AMG used for Mercedes-Benz SLS AMG & Mercedes-AMG GT & Mercedes-AMG One (not used in North America) |- | WMZ || MINI SUV |- | WNA || Next.e.GO Mobile SE |- | WP0 || Porsche car |- | WP1 || Porsche SUV |- | WRA || Renders (truck trailers) |- | WRJ || Riese & Müller (bicycle) |- | WSE || STEMA Metalleichtbau GmbH (trailers) |- | WSJ || STERK Trailers (truck trailers) |- | WSK || Schmitz-Cargobull Gotha (truck trailers) |- | WSM || Schmitz-Cargobull (truck trailers) |- | WSP || Spitzer (truck trailers) |- | WSV || Aebi Schmidt Group |- | WS5 || StreetScooter |- | WS7 || Sono Motors |- | WTA || Tabbert (caravans) |- | WUA || Audi Sport GmbH (formerly quattro GmbH) car |- | WU1 || Audi Sport GmbH (formerly quattro GmbH) SUV |- | WVG || Volkswagen SUV & Touran |- | WVM || Arbeitsgemeinschaft VW-MAN |- | WVP || Viseon Bus |- | WVW || Volkswagen passenger car, Sharan, Golf Plus, Golf Sportsvan |- | WV1 || Volkswagen Commercial Vehicles (cargo van or 1st gen. Amarok) |- | WV2 || Volkswagen Commercial Vehicles (passenger van or minibus) |- | WV3 || Volkswagen Commercial Vehicles (chassis cab) |- | WV4 || Volkswagen Commercial Vehicles (2nd gen. Amarok & T7 Transporter made by Ford) |- | WV5 || Volkswagen Commercial Vehicles (T7 Caravelle made by Ford) |- | WWA || Wachenhut (truck trailer) |- | WWC || WM Meyer (truck trailer) |- | WZ1 || Toyota Supra (Fifth generation for North America) |- | W0D || Obermaier (truck trailer) |- | W0L || Adam Opel AG/Vauxhall & Holden |- | W0L || Holden Zafira & Subaru Traviq made by GM Thailand |- | W0V || Opel Automobile Gmbh/Vauxhall & Holden (since 2017) |- | W04 || Buick Regal & Buick Cascada |- | W06 || Cadillac Catera |- | W08 || Saturn Astra |- | W09/A55 || Artega Automobile |- | W09/A71 || Apollo |- | W09/B09 || Bitter Cars |- | W09/B16 || Brabus |- | W09/B48 || Bultmann (trailer) |- | W09/B91 || Boerner (truck trailer) |- | W09/C09 || Carnehl Fahrzeugbau (truck trailer) |- | W09/D04 || DOLL (truck trailer) |- | W09/D05 || Drögmöller (bus) |- | W09/D17 || Dinkel (truck trailer) |- | W09/E04 || Eder (trailer) |- | W09/E27 || Esterer (truck trailer) |- | W09/E32 || ES-GE (truck trailer) |- | W09/E45 || Eurotank (truck trailer) |- | W09/F46 || FSN Fahrzeugbau (truck trailer) |- | W09/F57 || Twike |- | W09/G10 || GOFA (truck trailer) |- | W09/G64 || Gumpert |- | W09/H10 || Heitling Fahrzeugbau |- | W09/H21|| Dietrich Hisle GmbH (truck trailer) |- | W09/H46 || Hendricks (truck trailer) |- | W09/H49 || H&W Nutzfahrzeugtechnik GmbH (truck trailer) |- | W09/J02 || Isdera |- | W09/K27 || Krupp |- | W09/K27 || Kotschenreuther (truck trailer) |- | W09/L05 || Liebherr |- | W09/L06 || LMC Caravan (recreational vehicles) |- | W09/M08 || MEILLER Kipper (truck trailer) |- | W09/M09 || Meierling (truck trailer) |- | W09/M29 || MAFA (truck trailer) |- | W09/M40 || Franz Mersch (trailer) |- | W09/M79 || MKF Matallbau (truck trailer) |- | W09/N22 || NFP-Eurotrailer (truck trailer) |- | W09/P13 || Pagenkopf (truck trailer) |- | W09/P72 || De Tomaso Automobili (Capricorn) |- | W09/R06 || RUF |- | W09/R14 || Rancke (truck trailer) |- | W09/R27 || Gebr. Recker Fahrzeugbau (truck trailer) |- | W09/R30 || Reisch (truck trailer) |- | W09/R38 || Rewaco |- | W09/SG0 || Sileo (bus) |- | W09/SG1 || SEKA (truck trailer) |- | W09/S24 || Sommer (truck trailer) |- | W09/S25 || Spermann (truck trailer) |- | W09/S27 || Schröder (truck trailer) |- | W09/W11 || Wilken (truck trailer) |- | W09/W14 || Weka (truck trailer) |- | W09/W16 || Wellmeyer (truck trailer) |- | W09/W20 || Kurt Willig GmbH & Co. KG (truck trailer) |- | W09/W29 || Wiese (truck trailer) |- | W09/W35 || Wecon GmbH (truck trailer) |- | W09/W46 || WT-Metall (trailer) |- | W09/W59 || Wiesmann |- | W09/W70 || Wüllhorst (truck trailer) |- | W09/W86 || Web Trailer GmbH (truck trailer) |- | W09/004 || ORTEN Fahrzeugbau (truck trailer) |- | W1A || smart |- | W1H || Freightliner Econic |- | W1K || Mercedes-Benz car |- | W1N || Mercedes-Benz SUV |- | W1T || Mercedes-Benz truck |- | W1V || Mercedes-Benz van |- | W1W || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | W1X || Mercedes-Benz incomplete vehicle (North America) |- | W1Y || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | W1Z || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | W2W || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) |- | W2X || Freightliner Sprinter incomplete vehicle |- | W2Y || Freightliner Sprinter truck (cargo van with 1 row of seats) |- | W2Z || Freightliner Sprinter "bus" (van with more than 3 rows of seats) |- | XDN || Mercedes Sprinter Classic made by GAZ (Russia) |- | XD2 || CTTM Cargoline (truck trailer) (Russia) |- | XEA || AmberAvto (Avtotor) (Russia) |- | XE2 || AMKAR Automaster (truck trailer) (Russia) |- | XF9/B24 || NK Trailers (truck trailer) (Greece) |- | XF9/D44 || Militsis (trailer) (Greece) |- | XF9/J03 || Christos Nezis (truck trailer) (Greece) |- | XF9/J63 || Kaoussis (truck trailer) (Greece) |- | XG3 || Petros Petropoulos Group - Ecoshift NOOS electric motorscooters (Greece) |- | XG4|| Mpitis (trailer) (Greece) |- | XG5 || Stavropoulos trailers (Greece) |- | XG6 || MGK Hellenic Motor motorcycles (Greece) |- | XG8 || Gorgolis SA motorcycles (Greece) |- | XG9/B01 || Sfakianakis bus Greece |- | XG9/H33 || Rappas Trailer (Greece) |- | XG9/H51 || Eurotrailer Tourlakopoulos (trailer) (Greece) |- | XG9/H92 || Diamantis N. & Co. (trailer) (Greece) |- | XΗ9/B21 || Hellenic Vehicle Industry - ELVO bus Greece |- | XH9/H08 || Poseidonas Litsakis (trailer) (Greece) |- | XH9/H34 || Flexi-Wheels (trailer) (Greece) |- | XJY || Bonum (truck trailer) (Russia) |- | XJ4 || PKTS (PK Transportnye Sistemy) bus (Russia) |- | XKM || Volgabus (Russia) |- | XLA || DAF Bus International |- | XLB || Volvo Car B.V./NedCar B.V. (Volvo Cars) |- | XLC || [[../Ford/VIN Codes|Ford]] Netherlands |- | XLD || Pacton Trailers B.V. |- | XLE || Scania Netherlands |- | XLH || Hapert (trailer) |- | XLJ || Anssems (trailer) |- | XLK || Burg Trailer Service BV (truck trailer) |- | XLR || DAF Trucks & Leyland DAF |- | XLU || Henra (trailer) |- | XLV || DAF Bus |- | XLW || Terberg Benschop BV |- | XL3 || Ebusco |- | XL4 ||Lightyear |- | XL9/001 || ESVE BV (truck trailers) |- | XL9/002 || Jumbo Groenewegen (truck trailers) |- | XL9/003 || Autobusfabriek Bova BV |- | XL9/004 || G.S. Meppel (truck trailers) |- | XL9/007|| Broshuis BV (truck trailer) |- | XL9/010|| Ginaf Trucks |- | XL9/014 || Contar (truck trailer) |- | XL9/017 || Van Eck (truck trailer) |- | XL9/021 || Donkervoort Cars |- | XL9/033 || Wijer (trailer) |- | XL9/039 || Talson (truck trailer) |- | XL9/042 || Den Oudsten Bussen |- | XL9/052 || Witteveen (trailer) |- | XL9/055 || Fripaan (truck trailer) |- | XL9/067 || HTF (truck trailer) |- | XL9/068 || Vogelzang (truck trailer) |- | XL9/069 || Kraker (truck trailer) |- | XL9/070 || Veldhuizen (truck trailers) |- | XL9/073 || Zwalve (truck trailers) |- | XL9/074 || Draco (truck trailers) |- | XL9/081 || EBO van Weel (truck trailers) |- | XL9/084 || Vocol (truck trailers) |- | XL9/089 || Meijvo (trailers) |- | XL9/092 || Bulthuis (truck trailers) |- | XL9/103 || D-TEC (truck trailers) |- | XL9/109|| Groenewold Carrosseriefabriek B.V. (car transporter) |- | XL9/150 || Univan (truck trailer) |- | XL9/251 || Spierings Mobile Cranes |- | XL9/320 || VDL Bova bus |- | XL9/348 || HOKA (trailer) |- | XL9/355 || Berdex (truck trailer) |- | XL9/363 || Spyker |- | XL9/423 || Tijhof (trailer) |- | XL9/461 || BK Market Trailers (trailer) |- | XL9/495 || BE-Combi (truck trailer) |- | XL9/508 || Talson (truck trailer) |- | XL9/527 || GINAF |- | XL9/530 || Ebusco |- | XL9/611 || Zocon (trailer) |- | XMC || NedCar B.V. Mitsubishi Motors (LHD) |- | XMD || NedCar B.V. Mitsubishi Motors (RHD) |- | XMG || VDL Bus International |- | XMR || Nooteboom Trailers |- | XM4 || RAVO Holding B.V. (sweeper) |- | XNB || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - RHD) |- | XNC || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - LHD) |- | XNJ || Broshuis (truck trailer) |- | XNL || VDL Bus & Coach |- | XNT || Pacton Trailers B.V. (truck trailer) |- | XN1 || Kraker Trailers Axel B.V. (truck trailer) |- | XPN || Knapen Trailers |- | XPP || Atec Trailers |- | XP7 || Tesla Europe (based in the Netherlands) (Gigafactory Berlin-Brandenburg) |- | XRP || Proline (trailer) |- | XRY || D-TEC (truck trailer) |- | XR7 || Qarry |- | XTA || Lada / AvtoVAZ (Russia) |- | XTB || Moskvitch / AZLK (Russia) |- | XTC || KAMAZ (Russia) |- | XTD || LuAZ (Ukraine) |- | XTE || ZAZ (Ukraine) |- | XTF || GolAZ (Russia) |- | XTH || GAZ (Russia) |- | XTJ || Lada Oka made by SeAZ (Russia) |- | XTK || IzhAvto (Russia) |- | XTM || MAZ (Belarus); used until 1997 |- | XTP || Ural (Russia) |- | XTS || ChMZAP (truck trailer) |- | XTT || UAZ / Sollers (Russia) |- | XTU || Trolza, previously ZiU (Russia) |- | XTW || LAZ (Ukraine) |- | XTY || LiAZ (Russia) |- | XTZ || ZiL (Russia) |- | XUF || General Motors Russia |- | XUS || Nizhegorodets (minibus) (Russia) |- | XUU || Avtotor (Russia, Chevrolet SKD, Kaiyi Auto) |- | XUV || Avtotor (DFSK, SWM) |- | XUZ || InterPipeVAN (truck trailer) |- | XU6 || Avtodom (minibus) (Russia) |- | XVG || MARZ (bus) (Russia) |- | XVU || Start (truck trailer) |- | XW7 || Toyota Motor Manufacturing Russia |- | XW8 || Volkswagen Group Russia |- | XWB || UZ-Daewoo/GM Uzbekistan/Ravon/UzAuto Motors (Uzbekistan) |- | XWB || Avtotor (Russia, BAIC SKD) |- | XWE || Avtotor (Russia, Hyundai-Kia SKD) |- | XWF || Avtotor (Russia, Chevrolet Tahoe/Opel/Cadillac/Hummer SKD) |- | XX3 || Ujet Manufacturing (Luxembourg) |- | XZB || SIMAZ (bus) (Russia) |- | XZE || Specpricep (truck trailer) |- | XZG || Great Wall Motor (Haval Motor Rus) |- | XZP || Gut Trailer (truck trailer) |- | XZT || FoxBus (minibus) (Russia) |- | X1D || RAF (Rīgas Autobusu Fabrika) |- | X1E || KAvZ (Russia) |- | X1F || NefAZ (Russia) |- | X1M || PAZ (Russia) |- | X1P || Ural (Russia) |- | X2L || Fox Trailer (truck trailer) (Russia) |- | X21 || Diesel-S (truck trailer) (Russia) |- | X4K || Volgabus (Volzhanin) (Russia) |- | X4T || Sommer (truck trailer) (Russia) |- | X4X || Avtotor (Russia, BMW SKD) |- | X5A || UralSpetzTrans (trailer) (Russia) |- | X6D || VIS-AVTO (Russia) |- | X6S || TZA (truck trailer) (Russia) |- | X7L || Renault AvtoFramos (1998-2014), Renault Russia (2014-2022), Moskvitch (2022-) (Russia) |- | X7M || [[../Hyundai/VIN Codes|Hyundai]] & Vortex (rebadged Chery) made by TagAZ (Russia) |- | X89/AD4 || ВМЗ (VMZ) bus |- | X89/BF8 || Rosvan bus |- | X89/CU2 || EvoBus Russland (bus) |- | X89/DJ2 || VMK (bus) |- | X89/EY4 || Brabill (minibus) |- | X89/FF6 || Lotos (bus) |- | X89/FY1 || Sherp |- | X8J || IMZ-Ural Ural Motorcycles |- | X8U || Scania Russia |- | X9F || Ford Motor Company ZAO |- | X9L || GM-AvtoVAZ |- | X9N || Samoltor (minibus) |- | X9P || Volvo Vostok ZAO Volvo Trucks |- | X9W || Brilliance, Lifan made by Derways |- | X9X || Great Wall Motors |- | X96 || GAZ |- | X99/000 || Marussia |- | X90 || GRAZ (truck trailer) |- | X0T || Tonar (truck trailer) |- | YAF || Faymonville (special transport trailers) |- | YAG || Syma aanhangwagenbouw BV (trailers) |- | YAM || MAX Trailer (truck trailers) |- | YAR || Toyota Motor Europe (based in Belgium) used for Toyota ProAce, Toyota ProAce City and Toyota ProAce Max made by PSA/Stellantis |- | YA2 || Atlas Copco Group |- | YA5 || Renders (truck trailers) |- | YA9/ || Lambrecht Constructie NV (truck trailers) |- | YA9/111 || OVA (truck trailer) |- | YA9/121 || Atcomex (truck trailer) |- | YA9/128 || EOS (bus) |- | YA9/139 || ATM Maaseik (truck trailer) |- | YA9/168 || Forthomme s.a. (truck trailer) |- | YA9/169 || Automobiles Gillet |- | YA9/180 || EOS (bus) |- | YA9/191 || Stokota (truck trailers) |- | YA9/195 || Denolf & Depla (minibus) |- | YBC || Toyota Supra (Fifth generation for Europe) |- | YBD || Addax Motors |- | YBW || Volkswagen Belgium |- | YB1 || Volvo Trucks Belgium (truck) |- | YB2 || Volvo Trucks Belgium (bus chassis) |- | YB3 || Volvo Trucks Belgium (incomplete vehicle) |- | YB4 || LAG Trailers N.V. (truck trailer) |- | YB6 || Jonckheere (VDL Belgium) |- | YCM || Mazda Motor Logistics Europe (based in Belgium) used for European-market Mazda 121 made by Ford in UK |- | YC1 || Honda Belgium NV (motorcycle) |- | YC3 || Eduard Trailers |- | YD3 || Chateau Caravans (Belgium) |- | YE1 || Van Hool (trailers) (Belgium) |- | YE2 || Van Hool (buses) (Belgium) |- | YE6 || STAS (truck trailer) |- | YE7 || Turbo's Hoet (truck trailer) |- | YF1 || Närko (truck trailer) (Finland) |- | YF3 || NTM (truck trailer) (Finland) |- | YF9/050 || JYKI (truck trailer) (Finland) |- | YGU || JJ-Trailer (trailer) (Finland) |- | YH1 || Solifer (caravans) |- | YH2 || BRP Finland (Lynx snowmobiles) |- | YH4 || Fisker Automotive (Fisker Karma) built by Valmet Automotive |- | YK1 || Saab-Valmet Finland |- | YK2, YK7 || Sisu Auto |- | YK9/003 || Kabus (bus) |- | YK9/008 || Lahden Autokori (-2013), SOE Busproduction Finland (2014-2024) (bus) |- | YK9/016 || Linkker (bus) |- | YSC || Cadillac BLS (made by Saab) |- | YSM || Polestar cars |- | YSP || Volta Trucks AB |- | YSR || Polestar SUV |- | YS2 || Scania commercial vehicles (Södertälje factory) |- | YS3 || Saab cars |- | YS4 || Scania buses and bus chassis until 2002 (Katrineholm factory) |- | YS5 || OmniNova (minibus) |- | YS7 || Solifer (recreational vehicles) |- | YS9/KV1 || Backaryd (minibus) |- | YTN || Saab made by NEVS |- | YT7 || Kabe (recreational vehicles) |- | YT9/007 || Koenigsegg |- | YT9/034 || Carvia |- | YU1 || Fogelsta, Brenderup Group (trailer) |- | YU7 || Husaberg (motorcycles) |- | YVV || WiMa 442 EV |- | YV1 || [[../Volvo/VIN Codes|Volvo]] cars |- | YV2 || [[../Volvo/VIN Codes|Volvo]] trucks |- | YV3 || [[../Volvo/VIN Codes|Volvo]] buses and bus chassis |- | YV4 || [[../Volvo/VIN Codes|Volvo]] SUV |- | YV5 || [[../Volvo/VIN Codes|Volvo Trucks]] incomplete vehicle |- | YYB || Tysse (trailer) (Norway) |- | YYC || Think Nordic (Norway) |- | YY9/017 || Skala Fabrikk (truck trailer) (Norway) |- | Y29/005 || Buddy Electric (Norway) |- | Y3D || MTM (truck trailer) (Belarus) |- | Y3F || Lida Buses Neman (Belarus) |- | Y3J || Belkommunmash (Belarus) |- | Y3K || Neman Bus (Belarus) |- | Y3M || MAZ (Belarus) |- | Y3W || VFV built by Unison (Belarus) |- | Y39/047 || Altant-M (minibus) (Belarus) |- | Y39/051 || Bus-Master (minibus) (Belarus) |- | Y39/052 || Aktriya (minibus) (Belarus) |- | Y39/072 || Klassikbus (minibus) (Belarus) |- | Y39/074 || Alterra (minibus) (Belarus) |- | Y39/135 || EuroDjet (minibus) (Belarus) |- | Y39/240 || Alizana (minibus) (Belarus) |- | Y39/241 || RSBUS (minibus) (Belarus) |- | Y39/323 || KF-AVTO (minibus) (Belarus) |- | Y4F || [[../Ford/VIN Codes|Ford]] Belarus |- | Y4K || Geely / BelGee (Belarus) |- | Y6B || Iveco (Ukraine) |- | Y6D || ZAZ / AvtoZAZ (Ukraine) |- | Y6E || LAZ (Ukraine) |- | Y6J || Bogdan group (Ukraine) |- | Y6L || Bogdan group including buses, Hyundai made by Bogdan (Ukraine) |- | Y6U || Škoda Auto made by Eurocar (Ukraine) |- | Y6W || PGFM (trailer) (Ukraine) |- | Y6Y || LEV (trailer) (Ukraine) |- | Y69/B19 || Stryi Avto (bus) (Ukraine) |- | Y69/B98 || VESTT (truck trailer) (Ukraine) |- | Y69/C49 || TAD (truck trailer) (Ukraine) |- | Y69/D75 || Barrel Dash (truck trailer) (Ukraine) |- | Y7A || KrAZ trucks (Ukraine) |- | Y7B || Bogdan group (Ukraine) |- | Y7C || Great Wall Motors, Geely made by KrASZ (Ukraine) |- | Y7D || GAZ made by KrymAvtoGAZ (Ukraine) |- | Y7F || Boryspil Bus Factory (BAZ) (Ukraine) |- | Y7S || Korida-Tech (trailer) (Ukraine) |- | Y7W || Geely made by KrASZ (Ukraine) |- | Y7X || ChRZ - Ruta (minibus) (Ukraine) |- | Y79/A23 || OdAZ (truck trailer) (Ukraine) |- | Y79/B21 || Everlast (truck trailer) (Ukraine) |- | Y79/B65 || Avtoban (trailer) (Ukraine) |- | Y8A || LAZ (Ukraine) |- | Y8H || UNV Leader (trailer) (Ukraine) |- | Y8S || Alekseevka Ximmash (truck trailer) |- | Y8X || GAZ Gazelle made by KrASZ (Ukraine) |- | Y89/A98 || VARZ (trailer) (Ukraine) |- | Y89/B75 || Knott (trailer) (Ukraine) |- | Y89/C65 || Electron (Ukraine) |- | Y9A || PAVAM (trailer) (Ukraine) |- | Y9H || LAZ (Ukraine) |- | Y9M || AMS (trailer) (Ukraine) |- | Y9T || Dnipro (trailer) (Ukraine) |- | Y9W || Pragmatec (trailer) (Ukraine) |- | Y9Z || Lada, Renault made in Ukraine |- | Y99/B32 || Santey (trailer) (Ukraine) |- | Y99/E21 || Zmiev-Trans (truck trailer) (Ukraine) |- | Y99/C79 || Electron (bus) (Ukraine) |- | ZAA || Autobianchi |- | ZAA || Alfa Romeo Junior 2024- |- | ZAC || Jeep, Dodge Hornet |- | ZAH || Rolfo SpA (car transporter) |- | ZAJ || Trigano SpA; Roller Team recreational vehicles |- | ZAM || [[../Maserati/VIN Codes|Maserati]] |- | ZAP || Piaggio/Vespa/Gilera |- | ZAR || Alfa Romeo car |- | ZAS || Alfa Romeo Alfasud & Sprint through 1989 |- | ZAS || Alfa Romeo SUV 2018- |- | ZAX || Zorzi (truck trailer) |- | ZA4 || Omar (truck trailer) |- | ZA9/A12 || [[../Lamborghini/VIN Codes|Lamborghini]] through mid-2003 (including LM002) |- | ZA9/A17 || Carrozzeria Luigi Dalla Via (bus) |- | ZA9/A18 || De Simon (bus) |- | ZA9/A33 || Bucher Schörling Italia (sweeper) |- | ZA9/A47 || Silver Car (truck trailer) |- | ZA9/B09 || Mauri Bus System |- | ZA9/B34 || Mistrall Siloveicoli (truck trailer) |- | ZA9/B45 || Bolgan (truck trailer) |- | ZA9/B49 || OMSP Macola (truck trailer) |- | ZA9/B95 || Carrozzeria Autodromo Modena (bus) |- | ZA9/C38 || Dulevo (sweeper) |- | ZA9/D38 || Cizeta Automobili SRL |- | ZA9/D39 || [[../Bugatti/VIN Codes|Bugatti Automobili S.p.A]] |- | ZA9/D50 || Italdesign Giugiaro |- | ZA9/E15 || Tecnobus Industries S.r.l. |- | ZA9/E73 || Sitcar (bus) |- | ZA9/E88 || Cacciamali (bus) |- | ZA9/F16 || OMT (truck trailer) |- | ZA9/F21 || FGM (truck trailer) |- | ZA9/F48 || Rampini Carlo S.p.A. (bus) |- | ZA9/F76 || Pagani Automobili S.p.A. |- | ZA9/G97 || EPT Horus (bus) |- | ZA9/H02 || O.ME.P.S. (truck trailer) |- | ZA9/H44|| Green-technik by Green Produzione s.r.l. (machine trailer) |- | ZA9/J21 || VRV (truck trailer) |- | ZA9/J93 || Barbi (bus) |- | ZA9/K98 || Esagono Energia S.r.l. |- | ZA9/M09 || Italdesign Automobili Speciali |- | ZA9/M27 || Dallara Stradale |- | ZA9/M91 || Automobili Pininfarina |- | ZA9/180 || De Simon (bus) |- | ZA0 || Acerbi (truck trailer) |- | ZBA || Piacenza (truck trailer) |- | ZBB || Bertone |- | ZBD || InBus |- | ZBN || Benelli |- | ZBW || Rayton-Fissore Magnum |- | ZB3 || Cardi (truck trailer) |- | ZCB || E. Bartoletti SpA (truck trailer) |- | ZCF || Iveco / Irisbus (Italy) |- | ZCG || Cagiva SpA / MV Agusta |- | ZCG || Husqvarna Motorcycles Under MV Agusta ownership |- | ZCM || BredaMenarinibus / Menarinibus / IIA (Industria Italiana Autobus) |- | ZCN || Astra Veicoli Industriali S.p.A. |- | ZCV || Vibreti (truck trailer) |- | ZCZ || BredaBus |- | ZC1 || AnsaldoBreda S.p.A. |- | ZC2 || Chrysler TC by Maserati |- | ZDC || Honda Italia Industriale SpA |- | ZDF || [[../Ferrari/VIN Codes|Ferrari]] Dino |- | ZDJ || ACM Biagini |- | ZDM || Ducati Motor Holdings SpA |- | ZDT || De Tomaso Modena SpA |- | ZDY || Cacciamali |- | ZD0 || Yamaha Motor Italia SpA & Belgarda SpA |- | ZD3 || Beta Motor |- | ZD4 || Aprilia |- | ZD5 || Casalini |- | ZEB || Ellebi (trailer) |- | ZEH || Trigano SpA (former SEA Group); McLouis & Mobilvetta recreational vehicles |- | ZES || Bimota |- | ZEX || TM Racing (motorcycle) |- | ZE5 || Carmosino (truck trailer) |- | ZFA || Fiat |- | ZFB || Fiat MPV/SUV & Ram Promaster City |- | ZFC || Fiat truck (Fiat Ducato for Mexico, Ram 1200) |- | ZFE || KL Motorcycle |- | ZFF || [[../Ferrari/VIN Codes|Ferrari]] |- | ZFJ || Carrozzeria Pezzaioli (truck trailer) |- | ZFM || Fantic Motor |- | ZFR || Pininfarina |- | ZF4 || Qvale |- | ZGA || Iveco Bus |- | ZGP || Merker (truck trailer) |- | ZGU || Moto Guzzi |- | ZG2 || FAAM (commercial vehicle) |- | ZHU || Husqvarna Motorcycles Under Cagiva ownership |- | ZHW || [[../Lamborghini/VIN Codes|Lamborghini]] (Mid-2003 – ) |- | ZHZ || Menci SpA (truck trailer) |- | ZH5 || FB Mondial (motorcycle) |- | ZJM || Malaguti |- | ZJN || Innocenti |- | ZJT || Italjet |- | ZKC || Ducati Energia Free Duck (electric quadricycle) |- | ZKH || Husqvarna Motorcycles Srl Under BMW ownership |- | ZLA || Lancia |- | ZLF || Tazzari GL SpA |- | ZLM || Moto Morini srl |- | ZLV || Laverda |- | ZNN || Energica |- | ZN0 || SWM Motorcycles S.r.l. |- | ZN3 || Iveco Defence |- | ZN6 || Maserati SUV |- | ZPB || [[../Lamborghini/VIN Codes|Lamborghini]] SUV |- | ZPY || DR Automobiles |- | ZP6 || XEV |- | ZP8 || Regis Motors |- | ZRG || Tazzari GL Imola SpA |- | ZR1 || Microlino |- | ZSG || [[../Ferrari/VIN Codes|Ferrari]] SUV |- | ZX1 || TAM (Tovarna Avtomobilov Maribor) bus (Slovenia) |- | ZX9/KU0 || K-Bus / Kutsenits (bus) (Slovenia) |- | ZX9/DUR || TAM bus (Slovenia) |- | ZX9/TV0 || TAM (Tovarna Vozil Maribor) bus (Slovenia) |- | ZY1 || Adria (recreational vehicles) (Slovenia) |- | ZY9/002 || Gorica (truck trailer) (Slovenia) |- | ZZ1 || Tomos motorcycle (Slovenia) |- | Z29/555 || Vozila FLuid (truck trailer) (Slovenia) |- | Z39/008 || Autogalantas (truck trailer) (Lithuania) |- | Z39/009 || Patikima Linija / Rimo (truck trailer) (Lithuania) |- | Z6F || Ford Sollers (Russia) |- | Z7C || Luidor (bus) (Russia) |- | Z7N || KAvZ (bus) (Russia) |- | Z7T || RoAZ (bus) (Russia) |- | Z7X || Isuzu Rus (Russia) |- | Z76 || SEMAZ (Kazakhstan) |- | Z8M || Marussia (Russia) |- | Z8N || Nissan Manufacturing Rus (Russia) |- | Z8T || PCMA Rus (Peugeot, Citroen, Mitsubishi) (Russia) |- | Z8Y || Nasteviya (bus) (Russia) |- | Z9B || KuzbassAvto (Hyundai bus) (Russia) |- | Z9M || Mercedes-Benz Trucks Vostok (Russia) |- | Z9N || Samotlor-NN (Iveco) (Russia) |- | Z94 || Hyundai Motor Manufacturing Rus (2008-2023), Solaris Auto - AGR Automotive (2023-) (Russia) |- | Z07 || Volgabus (Russia) |- | 1A4 1A8 || Chrysler brand MPV/SUV 2006–2009 only |- | 1A9/007 || Advance Mixer Inc. |- | 1A9/111 || Amerisport Inc. (federalized late model DeTomaso Pantera) |- | 1A9/398 || Ameritech (federalized McLaren F1 & Bugatti EB110) |- | 1A9/569 || American Custom Golf Cars Inc. (AGC) |- | 1AC || American Motors Corporation MPV |- | 1AF || American LaFrance truck |- | 1AJ || Ajax Manufacturing (truck trailer) |- | 1AM || American Motors Corporation car & Renault Alliance 1983 only |- | 1BN || Beall Trailers (truck trailer) |- | 1B3 || Dodge car 1981–2011 |- | 1B4 || Dodge MPV/SUV 1981–2002 |- | 1B6 || Dodge incomplete vehicle 1981–2002 |- | 1B7 || Dodge truck 1981–2002 |- | 1B9/133 || Buell Motorcycle Company through mid-1995 |- | 1B9/274 || Brooks Brothers Trailers |- | 1B9/275 || Boydstun Metal Works (truck trailer) |- | 1B9/285 || Boss Hoss Cycles |- | 1B9/374 || Big Dog Custom Motorcycles |- | 1B9/975 || Motus Motorcycles |- | 1BA || Blue Bird Corporation bus |- | 1BB || Blue Bird Wanderlodge MPV |- | 1BD || Blue Bird Corporation incomplete vehicle |- | 1BL || Balko, Inc. |- | 1C3 || Chrysler brand car 1981–2011 |- | 1C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 1C4 || Chrysler brand MPV 1990–2005 |- | 1C4 || Chrysler Group (all brands) MPV 2012– |- | 1C6 || Chrysler Group (all brands) truck 2012– |- | 1C8 || Chrysler brand MPV 2001–2005 |- | 1C9/257 || CEI Equipment Company (truck trailer) |- | 1C9/291 || CX Automotive |- | 1C9/496 || Carlinville Truck Equipment (truck trailer) |- | 1C9/535 || Chance Coach (bus) |- | 1C9/772 || Cozad (truck trailer) |- | 1C9/971 || Cool Amphibious Manufacturers International |- | 1CM || Checker Motors Corporation |- | 1CU || Cushman Haulster (Cushman division of Outboard Marine Corporation) |- | 1CY || Crane Carrier Company |- | 1CY || Battle Motors, Inc. |- | 1D3 || Dodge truck 2002–2009 |- | 1D4 || Dodge MPV/SUV 2003–2011 only |- | 1D7 || Dodge truck 2002–2011 |- | 1D8 || Dodge MPV/SUV 2003–2009 only |- | 1D9/008 || KME Fire Apparatus |- | 1D9/791 || Dennis Eagle, Inc. |- | 1DW || Stoughton Trailers (truck trailer) |- | 1E9/007 || E.D. Etnyre & Co. (truck trailer) |- | 1E9/190 || Electric Transit Inc. (trolleybus) |- | 1E9/363 || E-SUV LLC (E-Ride Industries) |- | 1E9/456 || Electric Motorsport (GPR-S electric motorcycle) |- | 1E9/526 || Epic TORQ |- | 1E9/581 || Vetter Razor |- | 1EU || Eagle Coach Corporation (bus) |- | 1FA || [[../Ford/VIN Codes|Ford]] car |- | 1FB || [[../Ford/VIN Codes|Ford]] "bus" (van with more than 3 rows of seats) |- | 1FC || [[../Ford/VIN Codes|Ford]] stripped chassis made by Ford |- | 1FD || [[../Ford/VIN Codes|Ford]] incomplete vehicle |- | 1FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 1FT || [[../Ford/VIN Codes|Ford]] truck |- | 1FU || Freightliner (truck) |- | 1FV || Freightliner (incomplete vehicle) |- | 1F1 || Ford SUV - Limousine (through 2009) |- | 1F6 || Ford stripped chassis made by Detroit Chassis LLC |- | 1F9/037 || Federal Motors Inc. |- | 1F9/140 || Ferrara Fire Apparatus (incomplete vehicle) |- | 1F9/458 || Faraday Future prototypes |- | 1F9/FT1 || FWD Corp. |- | 1F9/ST1 || Seagrave Fire Apparatus |- | 1F9/ST2 || Seagrave Fire Apparatus |- | 1G || [[../GM/VIN Codes|General Motors]] USA |- | 1G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 1G0 || GMC Rapid Transit Series (RTS) bus 1981–1984 |- | 1G0 || Opel/Vauxhall car 2007–2017 |- | 1G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 1G2 || [[../GM/VIN Codes|Pontiac]] car |- | 1G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 1G4 || [[../GM/VIN Codes|Buick]] car |- | 1G5 || GMC MPV/SUV 1981–1986 |- | 1G6 || [[../GM/VIN Codes|Cadillac]] car |- | 1G7 || Pontiac car only sold by GM Canada |- | 1G8 || Chevrolet MPV/SUV 1981–1986 |- | 1G8 || [[../GM/VIN Codes|Saturn]] car 1991–2010 |- | 1G9/492 || GreenPower Motor Company incomplete vehicle |- | 1G9/495 || Google & Waymo |- | 1GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 1GB || Chevrolet incomplete vehicles |- | 1GC || [[../GM/VIN Codes|Chevrolet]] truck |- | 1GD || GMC incomplete vehicles |- | 1GE || Cadillac incomplete vehicle |- | 1GF || Flxible bus |- | 1GG || Isuzu pickup trucks made by GM |- | 1GH || GMC Rapid Transit Series (RTS) bus 1985–1986 |- | 1GH || Oldsmobile MPV/SUV 1990–2004 |- | 1GH || Holden Acadia 2019–2020 |- | 1GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 1GK || GMC MPV/SUV 1987– |- | 1GM || [[../GM/VIN Codes|Pontiac]] MPV |- | 1GN || [[../GM/VIN Codes|Chevrolet]] MPV/SUV 1987- |- | 1GR || Great Dane Trailers (truck trailer) |- | 1GT || [[../GM/VIN Codes|GMC]] Truck |- | 1GY || [[../GM/VIN Codes|Cadillac]] SUV |- | 1HA || Chevrolet incomplete vehicles made by Navistar International |- | 1HD || Harley-Davidson & LiveWire |- | 1HF || Honda motorcycle/ATV/UTV |- | 1HG || [[../Honda/VIN Codes|Honda]] car made by Honda of America Mfg. in Ohio |- | 1HS || International Trucks & Caterpillar Trucks truck |- | 1HT || International Trucks & Caterpillar Trucks & Chevrolet Silverado 4500HD, 5500HD, 6500HD incomplete vehicle |- | 1HV || IC Bus incomplete bus |- | 1H9/674 || Hines Specialty Vehicle Group |- | 1JC || Jeep SUV 1981–1988 (using AMC-style VIN structure) |- | 1JJ || Wabash (truck trailer) |- | 1JT || Jeep truck 1981–1988 (using AMC-style VIN structure) |- | 1JU || Marmon Motor Company |- | 1J4 || Jeep SUV 1989–2011 (using Chrysler-style VIN structure) |- | 1J7 || Jeep truck 1989–1992 (using Chrysler-style VIN structure) |- | 1J8 || Jeep SUV 2002–2011 (using Chrysler-style VIN structure) |- | 1K9/058 || Kovatech Mobile Equipment (fire engine) |- | 1LH || Landoll (truck trailer) |- | 1LJ || Lincoln incomplete vehicle |- | 1LN || [[../Ford/VIN Codes|Lincoln]] car |- | 1LV || Lectra Motors |- | 1L0 || Lufkin Trailers |- | 1L1 || Lincoln car – limousine |- | 1L9/155 || LA Exotics |- | 1L9/234 || Laforza |- | 1MB || Mercedes-Benz Truck Co. |- | 1ME || [[../Ford/VIN Codes|Mercury]] car |- | 1MR || Continental Mark VI & VII 1981–1985 & Continental sedan 1982–1985 |- | 1M0 || John Deere Gator |- | 1M1 || Mack Truck USA (truck) |- | 1M2 || Mack Truck USA (incomplete vehicle) |- | 1M3 || Mack Truck USA (incomplete vehicle) |- | 1M4 || Mack Truck USA |- | 1M8 || Motor Coach Industries (bus) |- | 1M9/089 || Mauck Special Vehicles (bus) |- | 1M9/682 || Mosler Automotive |- | 1M9/816 || Proterra Through mid-2019 |- | 1N4 || Nissan car |- | 1N6 || Nissan truck |- | 1N9/019 || Neoplan USA |- | 1N9/084 || Eldorado National (California) |- | 1N9/140 || North American Bus Industries (bus) |- | 1N9/393 || Nikola Corporation (truck) |- | 1NK || Kenworth (incomplete vehicle) |- | 1NL || Gulf Stream Coach (recreational vehicles) |- | 1NN || Monon made by Evans Products Co. (truck trailer) |- | 1NP || Peterbilt (incomplete vehicle) |- | 1NX || Toyota car made by NUMMI |- | 1P3 || Plymouth car |- | 1P4 || Plymouth MPV/SUV |- | 1P7 || Plymouth Scamp |- | 1P9/038 || Hawk Vehicles, Inc. (Trihawk motorcycles) |- | 1P9/213 || Panoz |- | 1P9/255 || Pinson Truck Equipment Company (truck trailer) |- | 1PM || Polar Tank Trailer (truck trailer) |- | 1PT || Trailmobile Trailer Corporation (truck trailer) |- | 1PY || John Deere USA |- | 1RF || Roadmaster, Monaco Coach Corporation |- | 1RN || Reitnouer (truck trailer) |- | 1R9/956 || Reede Fabrication and Design (motorcycles) |- | 1ST || Airstream (recreational vehicles) |- | 1S1 || Strick Trailers (truck trailer) |- | 1S9/003 || Sutphen Corporation (fire engines - truck) |- | 1S9/009|| Superior Trailer Works (truck trailer) |- | 1S9/098 || Scania AB (Scania CN112 bus made in Orange, CT) |- | 1S9/842 || Saleen S7 |- | 1S9/260 || Stairs Welding RL (truck trailer) |- | 1S9/901 || Suckerpunch Sallys, LLC |- | 1S9/944 || SSC North America |- | 1TD || Timpte (truck trailer) |- | 1TK || Trail King (truck trailer) |- | 1TD || Transcraft Corporation (truck trailer) |- | 1T7 || Thomas Built Buses |- | 1T8 || Thomas Built Buses |- | 1T9/072 || The Trailer Co. (truck trailer) |- | 1T9/717 || Thunder Mountain Custom Cycles |- | 1T9/825 || TICO Manufacturing Company (truck) |- | 1T9/899 || Tomcar USA |- | 1T9/970 || Three Two Chopper |- | 1TC || Coachmen Recreational Vehicle Co., LLC |- | 1TU || Transportation Manufacturing Corporation |- | 1UJ || Jayco, Inc. |- | 1UT || AM General military trucks, Jeep DJ made by AM General |- | 1UY || Utility Trailer (truck trailer) |- | 1VH || Orion Bus Industries |- | 1VW || Volkswagen car |- | 1V1 || Volkswagen truck |- | 1V2 || Volkswagen SUV |- | 1V9/048 || Vector Aeromotive |- | 1V9/113 || Vantage Vehicle International Inc (low-speed vehicle) |- | 1V9/190 || Vanderhall Motor Works |- | 1WT || Winnebago Industries |- | 1WU || White Motor Company (truck) |- | 1WV 1WW || Winnebago Industries |- | 1WX 1WY || White Motor Company (incomplete vehicle) |- | 1W1 || Wilson Trailer Co. (truck trailer) |- | 1W8 || Witzco (truck trailer) |- | 1W9/010 || Weld-It Company (truck trailer) |- | 1W9/485 || Wheego Electric Cars |- | 1W9/488 || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (2010 & later) |- | 1XA || Excalibur Automobile Corporation |- | 1XK || Kenworth (truck) |- | 1XM || Renault Alliance/GTA/Encore 1984–1987 |- | 1XP || Peterbilt (truck) |- | 1Y1 || Chevrolet/Geo car made by NUMMI |- | 1YJ || Rokon International, Inc. |- | 1YV || [[../Ford/VIN Codes|Mazda made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZV || [[../Ford/VIN Codes|Ford made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZW || [[../Ford/VIN Codes|Mercury made by AutoAlliance International]] |- | 1Z3 1Z7 || Mitsubishi Raider |- | 1Z9/170 || [[w:Orange County Choppers|Orange County Choppers]] |- | 10B || Brenner Tank (truck trailer) |- | 10R || E-Z-GO |- | 10T || Oshkosh Corporation |- | 11H || Hendrickson Mobile Equipment, Inc. (fire engines - incomplete vehicle) |- | 12A || Avanti |- | 137 || AM General Hummer & Hummer H1 |- | 13N || Fontaine (truck trailer) |- | 15G || Gillig bus |- | 16C || Clenet Coachworks |- | 16W || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (prior to 2010) |- | 16X || Vixen 21 motorhome |- | 17N || John Deere incomplete vehicle (RV chassis) |- | 19U || Acura car made by Honda of America Mfg. in Ohio |- | 19V || Acura car made by Honda Manufacturing of Indiana |- | 19X || Honda car made by Honda Manufacturing of Indiana |- | 2A3 || Imperial |- | 2A4 2A8 || Chrysler brand MPV/SUV 2006–2011 only |- | 2AY 2AZ || Hino |- | 2BC || Jeep Wrangler (YJ) 1987–1988 (using AMC-style VIN structure) |- | 2BP || Ski-Doo |- | 2BV || Can-Am & Bombardier ATV |- | 2BW || Can-Am Commander E LSV |- | 2BX || Can-Am Spyder |- | 2BZ || Can-Am Freedom Trailer for Can-Am Spyder |- | 2B1 || Orion Bus Industries |- | 2B3 || Dodge car 1981–2011 |- | 2B4 || Dodge MPV 1981–2002 |- | 2B5 || Dodge "bus" (van with more than 3 rows of seats) 1981–2002 |- | 2B6 || Dodge incomplete vehicle 1981–2002 |- | 2B7 || Dodge truck 1981–2002 |- | 2B9/001 || BWS Manufacturing (truck trailer) |- | 2C1 || Geo/Chevrolet car made by CAMI Automotive |- | 2C3 || Chrysler brand car 1981–2011 |- | 2C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 2C4 || Chrysler brand MPV/SUV 2000–2005 |- | 2C4 || Chrysler Group (all brands) MPV (including Lancia Voyager & Volkswagen Routan) 2012- |- | 2C7 || Pontiac car made by CAMI Automotive only sold by GM Canada |- | 2C8 || Chrysler brand MPV/SUV 2001–2005 |- | 2C9/145 || Campagna Motors |- | 2C9/197 || Canadian Electric Vehicles |- | 2CC || American Motors Corporation MPV |- | 2CG || Asüna/Pontiac SUV made by CAMI Automotive only sold by GM Canada |- | 2CK || GMC Tracker SUV made by CAMI Automotive only sold by GM Canada 1990–1991 only |- | 2CK || Pontiac Torrent SUV made by CAMI Automotive 2006–2009 only |- | 2CM || American Motors Corporation car |- | 2CN || Geo/Chevrolet SUV made by CAMI Automotive 1990–2011 only |- | 2CT || GMC Terrain SUV made by CAMI Automotive 2010–2011 only |- | 2D4 || Dodge MPV 2003–2011 only |- | 2D6 || Dodge incomplete vehicle 2003 |- | 2D7 || Dodge truck 2003 |- | 2D8 || Dodge MPV 2003–2011 only |- | 2DG || Ontario Drive & Gear |- | 2DM || Di-Mond Trailers (truck trailer) |- | 2DN || Dynasty Electric Car Corporation |- | 2EZ || Electra Meccanica Vehicles Corp. (Solo) |- | 2E3 || Eagle car 1989–1997 (using Chrysler-style VIN structure) |- | 2E4 || 2011 Lancia MPV (Voyager) |- | 2E9/080 || Electra Meccanica Vehicles Corp. (Solo) |- | 2FA || [[../Ford/VIN Codes|Ford]] car |- | 2FH || Zenn Motor Co., Ltd. (low-speed vehicle) |- | 2FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 2FT || [[../Ford/VIN Codes|Ford]] truck |- | 2FU || Freightliner (truck) |- | 2FV || Freightliner (incomplete vehicle) |- | 2FW || Sterling Trucks (truck-complete vehicle) |- | 2FY || New Flyer |- | 2FZ || Sterling Trucks (incomplete vehicle) |- | 2Gx || [[../GM/VIN Codes|General Motors]] Canada |- | 2G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 2G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 2G2 || [[../GM/VIN Codes|Pontiac]] car |- | 2G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 2G4 || [[../GM/VIN Codes|Buick]] car |- | 2G5 || GMC MPV 1981–1986 |- | 2G5 || Chevrolet BrightDrop / BrightDrop Zevo truck 2023- |- | 2G6 || [[../GM/VIN Codes|Cadillac]] car |- | 2G7 || Pontiac car only sold by GM Canada |- | 2G8 || Chevrolet MPV 1981–1986 |- | 2GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 2GB || Chevrolet incomplete vehicles |- | 2GC || Chevrolet truck |- | 2GD || GMC incomplete vehicles |- | 2GE || Cadillac incomplete vehicle |- | 2GH || GMC GM New Look bus & GM Classic series bus |- | 2GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 2GK || GMC MPV/SUV 1987– |- | 2GN || Chevrolet MPV/SUV 1987- |- | 2GT || GMC truck |- | 2HG || [[../Honda/VIN Codes|Honda]] car made by Honda of Canada Manufacturing |- | 2HH || Acura car made by Honda of Canada Manufacturing |- | 2HJ || [[../Honda/VIN Codes|Honda]] truck made by Honda of Canada Manufacturing |- | 2HK || [[../Honda/VIN Codes|Honda]] MPV/SUV made by Honda of Canada Manufacturing |- | 2HM || Hyundai Canada |- | 2HN || Acura SUV made by Honda of Canada Manufacturing |- | 2HS || International Trucks truck |- | 2HT || International Trucks incomplete vehicle |- | 2J4 || Jeep Wrangler (YJ) 1989–1992 (using Chrysler-style VIN structure) |- | 2L1 || Lincoln incomplete vehicle – limo |- | 2LD || Triple E Canada Ltd. |- | 2LJ || Lincoln incomplete vehicle – hearse |- | 2LM || Lincoln SUV |- | 2LN || Lincoln car |- | 2M1 || Mack Trucks |- | 2M2 || Mack Trucks |- | 2ME || [[../Ford/VIN Codes|Mercury]] car |- | 2MG || Motor Coach Industries (Produced from Sept. 1, 2008 on) |- | 2MH || [[../Ford/VIN Codes|Mercury]] incomplete vehicle |- | 2MR || [[../Ford/VIN Codes|Mercury]] MPV |- | 2M9/044 || Westward Industries |- | 2M9/058 || Motor Coach Industries |- | 2NK || Kenworth incomplete vehicle |- | 2NP || Peterbilt incomplete vehicle |- | 2NV || Nova Bus |- | 2P3 || Plymouth car |- | 2P4 || Plymouth MPV 1981–2000 |- | 2P5 || Plymouth "bus" (van with more than 3 rows of seats) 1981–1983 |- | 2P9/001 || Prevost 1981–1995 |- | 2PC || Prevost 1996- |- | 2S2 || Suzuki car made by CAMI Automotive |- | 2S3 || Suzuki SUV made by CAMI Automotive |- | 2TU || Tri-Star Industries Limited |- | 2T1 || [[../Toyota/VIN Codes|Toyota]] car made by TMMC |- | 2T2 || Lexus SUV made by TMMC |- | 2T3 || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMC |- | 2T9/206 || Triple E Canada Ltd. |- | 2V4 || Volkswagen Routan made by Chrysler Canada |- | 2V8 || Volkswagen Routan made by Chrysler Canada |- | 2W9/044 || Westward Industries |- | 2WK || Western Star (truck) |- | 2WL || Western Star (incomplete vehicle) |- | 2WM || Western Star (incomplete vehicle) |- | 2XK || Kenworth truck |- | 2XM || Eagle Premier 1988 only (using AMC-style VIN structure) |- | 2XP || Peterbilt truck |- | 3A4 3A8 || Chrysler brand MPV 2006–2010 only |- | 3A9/050 || MARGO (truck trailer) |- | 3AK || Freightliner Trucks (truck) |- | 3AL || Freightliner Trucks (incomplete vehicle) |- | 3AW || Fruehauf de Mexico (truck trailer) |- | 3AX || Scania Mexico |- | 3BE || Scania Mexico (buses) |- | 3BJ || Western Star 3700 truck made by DINA S.A. |- | 3BK || Kenworth (incomplete vehicle) |- | 3BM || Motor Coach Industries bus made by DINA S.A. |- | 3BP || Peterbilt (incomplete vehicle) |- | 3B3 || Dodge car 1981–2011 |- | 3B4 || Dodge SUV 1986–1993 |- | 3B6 || Dodge incomplete vehicle 1981–2002 |- | 3B7 || Dodge truck 1981–2002 |- | 3C3 || Chrysler brand car 1981–2011 |- | 3C3 || Chrysler Group (all brands) car (including Fiat) 2012- |- | 3C4 || Chrysler brand MPV 2001–2005 |- | 3C4 || Chrysler Group (all brands) MPV (including Fiat) 2012- |- | 3C6 || Chrysler Group (all brands) truck 2012– |- | 3C7 || Chrysler Group (all brands) incomplete vehicle 2012– |- | 3C8 || Chrysler brand MPV 2001–2005 |- | 3CA || Chrysler brand MPV 2001 (PT Cruiser w/serial# 232057-265662) |- | 3CE || Volvo Buses de Mexico |- | 3CG || KTMMEX S.A. de C.V. |- | 3CZ || Honda SUV made by Honda de Mexico |- | 3D2 || Dodge incomplete vehicle 2007–2009 |- | 3D3 || Dodge truck 2006–2009 |- | 3D4 || Dodge SUV 2009–2011 |- | 3D6 || Dodge incomplete vehicle 2003–2011 |- | 3D7 || Dodge truck 2002–2011 |- | 3EL || ATRO (truck trailer) |- | 3E4 || 2011 Fiat SUV (Freemont) |- | 3FA || [[../Ford/VIN Codes|Ford]] car |- | 3FC || Ford stripped chassis made by Ford & IMMSA |- | 3FE || [[../Ford/VIN Codes|Ford]] Mexico |- | 3FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 3FN || Ford F-650/F-750 made by Blue Diamond Truck Co. (truck) |- | 3FR || Ford F-650/F-750 & Ford LCF made by Blue Diamond Truck Co. (incomplete vehicle) |- | 3FT || [[../Ford/VIN Codes|Ford]] truck |- | 3F6 || Sterling Bullet |- | 3G || [[../GM/VIN Codes|General Motors]] Mexico |- | 3G0 || Saab 9-4X 2011 |- | 3G0 || Holden Equinox 2018–2020 |- | 3G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 3G2 || [[../GM/VIN Codes|Pontiac]] car |- | 3G4 || [[../GM/VIN Codes|Buick]] car |- | 3G5 || [[../GM/VIN Codes|Buick]] SUV |- | 3G7 || [[../GM/VIN Codes|Pontiac]] SUV |- | 3GA || JAC models assembled by Giant Motors in Mexico |- | 3GC || Chevrolet truck |- | 3GK || GMC SUV |- | 3GM || Holden Suburban |- | 3GN || Chevrolet SUV |- | 3GP || Honda Prologue EV made by GM |- | 3GS || Saturn SUV |- | 3GT || GMC truck |- | 3GY || Cadillac SUV |- | 3H1 || Honda motorcycle/UTV |- | 3H3 || Hyundai de Mexico, S.A. de C.V. for Hyundai Translead (truck trailers) |- | 3HA || International Trucks incomplete vehicle |- | 3HC || International Trucks truck |- | 3HD || Acura SUV made by Honda de Mexico |- | 3HG || [[../Honda/VIN Codes|Honda]] car made by Honda de Mexico |- | 3HS || International Trucks & Caterpillar Trucks truck |- | 3HT || International Trucks & Caterpillar Trucks incomplete vehicle |- | 3HV || International incomplete bus |- | 3JB || BRP Mexico (Can-Am ATV/UTV & Can-Am Ryker) |- | 3KM || Kia/Hyundai MPV/SUV made by KMMX |- | 3KP || Kia/Hyundai car made by KMMX |- | 3LN || Lincoln car |- | 3MA || Mercury car (1988-1995) |- | 3MD || Mazda de Mexico car (Mazda 2) |- | 3ME || Mercury car (1996-2011) |- | 3MF || BMW M car |- | 3MG || Isuzu Motors de Mexico |- | 3MJ || Mazda CX-3 (Mazda de Mexico) |- | 3MV || Mazda de Mexico SUV (Mazda CX-30) |- | 3MW || BMW car |- | 3MY || Toyota car made by Mazda de Mexico Vehicle Operation |- | 3MZ || Mazda de Mexico car (Mazda 3) |- | 3N1 || Nissan Mexico car |- | 3N6 || Nissan Mexico truck & Chevrolet City Express |- | 3N8 || Nissan Mexico MPV |- | 3NS || Polaris Industries ATV |- | 3NE || Polaris Industries UTV |- | 3P3 || Plymouth car |- | 3PC || Infiniti SUV made by COMPAS |- | 3TM || Toyota truck made by TMMBC |- | 3TY || Toyota truck made by TMMGT |- | 3VV || Volkswagen Mexico SUV |- | 3VW || Volkswagen Mexico car |- | 3WK || Kenworth truck |- | 3WP || Peterbilt truck |- | 4A3 || Mitsubishi Motors car |- | 4A4 || Mitsubishi Motors SUV |- | 4B3 || Dodge car made by Diamond-Star Motors factory |- | 4B9/038 || BYD Coach & Bus LLC |- | 4C3 || Chrysler car made by Diamond-Star Motors factory |- | 4C6 || Reinke Manufacturing Company (truck trailer) |- | 4C9/272 || Christini Technologies (motorcycle) |- | 4C9/561 || Czinger |- | 4C9/626 || Canoo Inc. |- | 4CD || Oshkosh Chassis Division incomplete vehicle (RV chassis) |- | 4DR || IC Bus |- | 4E3 || Eagle car made by Diamond-Star Motors factory |- | 4EN || E-ONE, Inc. (fire engines - truck) |- | 4F2 || Mazda SUV made by Ford |- | 4F4 || Mazda truck made by Ford |- | 4G1 || Chevrolet Cavalier convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G2 || Pontiac Sunfire convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G3 || Toyota Cavalier made by GM |- | 4G5 || General Motors EV1 |- | 4GD || WhiteGMC Brigadier 1988–1989 made by GM |- | 4GD || Opel/Vauxhall Sintra |- | 4GL || Buick incomplete vehicle |- | 4GT || Isuzu incomplete vehicle built by GM |- | 4JG || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] SUV |- | 4J8 || LBT, Inc. (truck trailer) |- | 4KB || Chevrolet W-Series incomplete vehicle (gas engine only) made by GM |- | 4KD || GMC W-Series incomplete vehicle (gas engine only) made by GM |- | 4KE || U.S. Electricar Consulier |- | 4KL || Isuzu N-Series incomplete vehicle (gas engine only) built by GM |- | 4LM || Capacity of Texas (truck) |- | 4M2 || [[../Ford/VIN Codes|Mercury]] MPV/SUV |- | 4MB || Mitsubishi Motors |- | 4ML || Oshkosh Trailer Division |- | 4MZ || Buell Motorcycle Company |- | 4N2 || Nissan Quest made by Ford |- | 4NU || Isuzu Ascender made by GM |- | 4P1 || Pierce Manufacturing Inc. USA |- | 4P3 || Plymouth car made by Diamond-Star Motors factory 1990–1994 |- | 4P3 || Mitsubishi Motors SUV made by Mitsubishi Motor Manufacturing of America 2013–2015 for export only |- | 4RK || Nova Bus & Prevost made by Nova Bus (US) Inc. |- | 4S1 || Isuzu truck made by Subaru Isuzu Automotive |- | 4S2 || Isuzu SUV made by Subaru Isuzu Automotive & 2nd gen. Holden Frontera made by SIA |- | 4S3 || [[../Subaru/VIN Codes|Subaru]] car |- | 4S4 || [[../Subaru/VIN Codes|Subaru]] SUV/MPV |- | 4S6 || Honda SUV made by Subaru Isuzu Automotive |- | 4S7 || Spartan Motors incomplete vehicle |- | 4S9/197 || Smith Electric Vehicles |- | 4S9/345 || Satellite Suites (trailer) |- | 4S9/419 || Spartan Motors truck |- | 4S9/454 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/520 || Signature Autosport, LLC (Osprey Custom Cars) |- | 4S9/542 || Scuderia Cameron Glickenhaus SCG Boot (M.P.V.) |- | 4S9/544 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/559 || Spartan Fire, LLC truck (formerly Spartan ER) |- | 4S9/560 || Spartan Fire, LLC incomplete vehicle (formerly Spartan ER) |- | 4S9/569 || SC Autosports, LLC (Kandi) |- | 4TA || [[../Toyota/VIN Codes|Toyota]] truck made by NUMMI |- | 4T1 || [[../Toyota/VIN Codes|Toyota]] car made by Toyota Motor Manufacturing Kentucky |- | 4T3 || [[../Toyota/VIN Codes|Toyota]] MPV/SUV made by Toyota Motor Manufacturing Kentucky |- | 4T4 || [[../Toyota/VIN Codes|Toyota]] car made by Subaru of Indiana Automotive |- | 4T9/208 || Xos, Inc. |- | 4T9/228 || Lumen Motors |- | 4UF || Arctic Cat Inc. |- | 4US || BMW car |- | 4UZ || Freightliner Custom Chassis Corporation & <br /> gas-powered Mitsubishi Fuso trucks assembled by Freightliner Custom Chassis & <br /> Thomas Built Buses FS-65 & Saf-T-Liner C2 |- | 4V0 || Crossroads RV (recreational vehicles) |- | 4V1 || WhiteGMC (truck) |- | 4V2 || WhiteGMC (incomplete vehicle) |- | 4V3 || Volvo Trucks North America (truck) |- | 4V4 || Volvo Trucks North America (truck) |- | 4V5 || Volvo Trucks North America (incomplete vehicle) |- | 4V6 || Volvo Trucks North America (truck) |- | 4VA || Volvo Trucks North America (truck) |- | 4VE || Volvo Trucks North America (incomplete vehicle) |- | 4VG || Volvo Trucks North America (truck) |- | 4VH || Volvo Trucks North America (incomplete vehicle) |- | 4VM || Volvo Trucks North America (incomplete vehicle) |- | 4VZ || Spartan Motors/The Shyft Group (incomplete vehicle – bare chassis only) |- | 4WW || Wilson Trailer Sales |- | 4W1 || '24+ Chevrolet Suburban HD made by GM Defense for US govt. in Concord, NC |- | 4W5 || Acura ZDX EV made by GM |- | 4XA || Polaris Inc. |- | 4X4 || Forest River |- | 4YD || KeyStone RV Company (recreational vehicle) |- | 4YM || Carry-On Trailer, Inc. |- | 4YM || Anderson Manufacturing (trailer) |- | 4Z3 || American LaFrance truck |- | 43C || Consulier |- | 44K || HME Inc. (fire engines - incomplete vehicle) (HME=Hendrickson Mobile Equipment) |- | 46G || Gillig incomplete vehicle |- | 46J || Federal Motors Inc |- | 478 || Honda ATV |- | 480 || Sterling Trucks (truck) |- | 49H || Sterling Trucks (incomplete vehicle) |- | 5AS || Global Electric Motorcars (GEM) 1999-2011 |- | 5AX || Armor Chassis (truck trailer) |- | 5A4 || Load Rite Trailers Inc. |- | 5BP || Solectria |- | 5BZ || Nissan "bus" (van with more than 3 rows of seats) |- | 5B4 || Workhorse Custom Chassis, LLC incomplete vehicle (RV chassis) |- | 5CD || Indian Motorcycle Company of America (Gilroy, CA) |- | 5CX || Shelby Series 1 |- | 5DF || Thomas Dennis Company LLC |- | 5DG || Terex Advance Mixer |- | 5EH || Excelsior-Henderson Motorcycle |- | 5EO || Cottrell (truck trailer) |- | 5FC || Columbia Vehicle Group (Columbia, Tomberlin) (low-speed vehicles) |- | 5FN || Honda MPV/SUV made by Honda Manufacturing of Alabama |- | 5FP || Honda truck made by Honda Manufacturing of Alabama |- | 5FR || Acura SUV made by Honda Manufacturing of Alabama |- | 5FT || Feeling Trailers |- | 5FY || New Flyer |- | 5GA || Buick MPV/SUV |- | 5GD || Daewoo G2X |- | 5GN || Hummer H3T |- | 5GR || Hummer H2 |- | 5GT || Hummer H3 |- | 5GZ || Saturn MPV/SUV |- | 5G8 || Holden Volt |- | 5HD || Harley-Davidson for export markets |- | 5HT || Heil Trailer (truck trailer) |- | 5J5 || Club Car |- | 5J6 || Honda SUV made by Honda of America Mfg. in Ohio |- | 5J8 || Acura SUV made by Honda of America Mfg. in Ohio |- | 5KB || Honda car made by Honda Manufacturing of Alabama |- | 5KJ || Western Star Trucks truck |- | 5KK || Western Star Trucks truck |- | 5KM || Vento Motorcycles |- | 5KT || Karavan Trailers |- | 5L1 || [[../Ford/VIN Codes|Lincoln]] SUV - Limousine (2004–2009) |- | 5L5 || American IronHorse Motorcycle |- | 5LD || Ford & Lincoln incomplete vehicle – limousine (2010–2014) |- | 5LM || [[../Ford/VIN Codes|Lincoln]] SUV |- | 5LT || [[../Ford/VIN Codes|Lincoln]] truck |- | 5MZ || Buell Motorcycle Company for export markets |- | 5N1 || Nissan & Infiniti SUV |- | 5N3 || Infiniti SUV |- | 5NH || Forest River |- | 5NM || Hyundai SUV made by HMMA |- | 5NP || Hyundai car made by HMMA |- | 5NT || Hyundai truck made by HMMA |- | 5PV || Hino incomplete vehicle made by Hino Motors Manufacturing USA |- | 5RJ || Android Industries LLC |- | 5RX || Heartland Recreational Vehicles |- | 5S3 || Saab 9-7X |- | 5SA || Suzuki Manufacturing of America Corp. (ATV) |- | 5SX || American LaFrance incomplete vehicle (Condor) |- | 5TB || [[../Toyota/VIN Codes|Toyota]] truck made by TMMI |- | 5TD || Toyota MPV/SUV & Lexus TX made by TMMI |- | 5TE || Toyota truck made by NUMMI |- | 5TF || Toyota truck made by TMMTX |- | 5TU || Construction Trailer Specialist (truck trailer) |- | 5UM || BMW M car |- | 5UX || BMW SUV |- | 5VC || Autocar incomplete vehicle |- | 5VF || American Electric Vehicle Company (low-speed vehicle) |- | 5VP || Victory Motorcycles |- | 5V8 || Vanguard National (truck trailer) |- | 5WE || IC Bus incomplete vehicle |- | 5XX || Kia car made by KMMG |- | 5XY || Kia/Hyundai SUV made by KMMG |- | 5YA || Indian Motorcycle Company (Kings Mountain, NC) |- | 5YF || Toyota car made by TMMMS |- | 5YJ || Tesla, Inc. passenger car (only used for US-built Model S and Model 3 starting from Nov, 1st 2021) |- | 5YM || BMW M SUV |- | 5YN || Cruise Car, Inc. |- | 5Y2 || Pontiac Vibe made by NUMMI |- | 5Y4 || Yamaha Motor Motor Mfg. Corp. of America (ATV, UTV) |- | 5ZT || Forest River (recreational vehicles) |- | 5ZU || Greenkraft (truck) |- | 5Z6 || Suzuki Equator (truck) made by Nissan |- | 50E || Lucid Motors passenger car |- | 50G || Karma Automotive |- | 516 || Autocar truck |- | 51R || Brammo Motorcycles |- | 522 || GreenGo Tek (low-speed vehicle) |- | 523 || VPG (The Vehicle Production Group) |- | 52C || GEM subsidiary of Polaris Inc. |- | 537 || Azure Dynamics Transit Connect Electric |- | 538 || Zero Motorcycles |- | 53G || Coda Automotive |- | 53T || Think North America in Elkhart, IN |- | 546 || EBR |- | 54C || Winnebago Industries travel trailer |- | 54D || Isuzu & Chevrolet commercial trucks built by Spartan Motors/The Shyft Group |- | 54F || Rosenbauer |- | 55S || Mercedes-Benz car |- | 56K || Indian Motorcycle International, LLC (Polaris subsidiary) |- | 573 || Grand Design RV (truck trailer) |- | 57C || Maurer Manufacturing (truck trailer) |- | 57R || Oreion Motors |- | 57S || Lightning Motors Corp. (electric motorcycles) |- | 57W || Mobility Ventures |- | 57X || Polaris Slingshot |- | 58A || Lexus car made by TMMK (Lexus ES) |- | 6AB || MAN Australia |- | 6AM || Jayco Corp. (RVs) |- | 6F1 || Ford |- | 6F2 || Iveco Trucks Australia Ltd. |- | 6F4 || Nissan Motor Company Australia |- | 6F5 || Kenworth Australia |- | 6FM || Mack Trucks Australia |- | 6FP || [[../Ford/VIN Codes|Ford]] Australia |- | 6G1 || [[../GM/VIN Codes|General Motors]]-Holden (post Nov 2002) & Chevrolet & Vauxhall Monaro & VXR8 |- | 6G2 || [[../GM/VIN Codes|Pontiac]] Australia (GTO & G8) |- | 6G3 || [[../GM/VIN Codes|General Motors]] Chevrolet Caprice PPV & SS performance sedan 2014-2017 |- | 6H8 || [[../GM/VIN Codes|General Motors]]-Holden (pre Nov 2002) |- | 6KT || BCI Bus |- | 6MM || Mitsubishi Motors Australia |- | 6MP || Mercury Capri 1991-1994 |- | 6T1 || [[../Toyota/VIN Codes|Toyota]] Motor Corporation Australia |- | 6T9 || Privately Imported car (VIN issued by Victoria) or Trailer in Australia |- | 6U9 || Privately Imported car in Australia |- | 6ZZ || Privately Imported car in Australia |- | 7AB || MAN New Zealand |- | 7AT || VIN assigned by the New Zealand Transport Authority Waka Kotahi from 29 November 2009 |- | 7A1 || Mitsubishi New Zealand |- | 7A3 || Honda New Zealand |- | 7A4 || Toyota New Zealand |- | 7A5 || Ford New Zealand |- | 7A7 || Nissan New Zealand |- | 7A8 || VIN assigned by the New Zealand Transport Authority Waka Kotahi before 29 November 2009 |- | 7B2 || Nissan Diesel bus New Zealand |- | 7FA || Honda SUV made by Honda Manufacturing of Indiana |- | 7FC || Rivian truck |- | 7F7 || Arcimoto, Inc. |- | 7GZ || GMC incomplete vehicles made by Navistar International |- | 7G0 || Faraday Future |- | 7G2 || Tesla, Inc. truck (used for Nevada-built Semi Trucks & Texas-built Cybertruck) |- | 7H4 || Hino truck |- | 7H8 || Cenntro Electric Group Limited low-speed vehicle |- | 7JD || Volvo Cars SUV |- | 7JR || Volvo Cars passenger car |- | 7JZ || Proterra From mid-2019 on |- | 7KG || Vanderhall Motor Works |- | 7KY || Dorsey (truck trailer) |- | 7MM || Mazda SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MU || Toyota SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MW || Cenntro Electric Group Limited truck |- | 7MZ || HDK electric vehicles |- | 7NA || Navistar Defense |- | 7NY || Lordstown Motors |- | 7PD || Rivian SUV |- | 7RZ || Electric Last Mile Solutions |- | 7SA || Tesla, Inc. (US-built MPVs (e.g. Model X, Model Y)) |- | 7SU || Blue Arc electric trucks made by The Shyft Group |- | 7SV || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMTX |- | 7SX || Global Electric Motorcars (WAEV) 2022- |- | 7SY || Polestar SUV |- | 7TN || Canoo |- | 7UU || Lucid Motors MPV/SUV |- | 7UZ || Kaufman Trailers (trailer) |- | 7VV || Ree Automotive |- | 7WE || Bollinger Motors incomplete vehicle |- | 7YA || Hyundai MPV/SUV made by HMGMA |- | 7Z0 || Zoox |- | 722 || Isuzu North America Corp. (incomplete vehicle - medium duty) |- | 8AB || Mercedes Benz truck & bus (Argentina) |- | 8AC || Mercedes Benz vans (for South America) |- | 8AD || Peugeot Argentina |- | 8AE || Peugeot van |- | 8AF || [[../Ford/VIN Codes|Ford]] Argentina |- | 8AG || [[../GM/VIN Codes|Chevrolet]] Argentina |- | 8AJ || [[../Toyota/VIN Codes|Toyota]] Argentina |- | 8AK || Suzuki Argentina |- | 8AN || Nissan Argentina |- | 8AP || Fiat Argentina |- | 8AT || Iveco Argentina |- | 8AW || Volkswagen Argentina |- | 8A1 || Renault Argentina |- | 8A3 || Scania Argentina |- | 8BB || Agrale Argentina S.A. |- | 8BC || Citroën Argentina |- | 8BN || Mercedes-Benz incomplete vehicle (North America) |- | 8BR || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | 8BT || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | 8BU || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | 8CH || Honda motorcycle |- | 8C3 || Honda car/SUV |- | 8G1 || Automotores Franco Chilena S.A. Renault |- | 8GD || Automotores Franco Chilena S.A. Peugeot |- | 8GG || [[../GM/VIN Codes|Chevrolet]] Chile |- | 8LD || General Motors OBB - Chevrolet Ecuador |- | 8LF || Maresa (Mazda) |- | 8LG || Aymesa (Hyundai Motor & Kia) |- | 8L4 || Great Wall Motors made by Ciudad del Auto (Ciauto) |- | 8XD || Ford Motor Venezuela |- | 8XJ || Mack de Venezuela C.A. |- | 8XV || Iveco Venezuela C.A. |- | 8Z1 || General Motors Venezolana C.A. |- | 829 || Industrias Quantum Motors S.A. (Bolivia) |- | 9BD || Fiat Brazil & Dodge, Ram made by Fiat Brasil |- | 9BF || [[../Ford/VIN Codes|Ford]] Brazil |- | 9BG || [[../GM/VIN Codes|Chevrolet]] Brazil |- | 9BH || Hyundai Motor Brasil |- | 9BM || Mercedes-Benz Brazil car, SUV, commercial truck & bus |- | 9BN || Mafersa |- | 9BR || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 9BS || Scania Brazil |- | 9BV || Volvo Trucks |- | 9BW || Volkswagen Brazil |- | 9BY || Agrale S.A. |- | 9C2 || Moto Honda Da Amazonia Ltda. |- | 9C6 || Yamaha Motor Da Amazonia Ltda. |- | 9CD || Suzuki (motorcycles) assembled by J. Toledo Motos do Brasil |- | 9DF || Puma |- | 9DW || Kenworth & Peterbilt trucks made by Volkswagen do Brasil |- | 9EZ || homemade or handbuilt vehicles |- | 92H || Origem Brazil |- | 932 || Harley-Davidson Brazil |- | 935 || Citroën Brazil |- | 936 || Peugeot Brazil |- | 937 || Dodge Dakota |- | 93C || Chevrolet SUV [Tracker] or pickup [Tornado, Montana, S10] (sold in Mexico, made in Brazil) |- | 93H || [[../Honda/VIN Codes|Honda]] Brazil car/SUV |- | 93K || Volvo Trucks |- | 93P || Volare |- | 93S || Navistar International |- | 93R || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 93U || Audi Brazil 1999–2006 |- | 93W || Fiat Ducato made by Iveco 2000–2016 |- | 93V || Navistar International |- | 93X || Souza Ramos – Mitsubishi Motors / Suzuki Jimny |- | 93Y || Renault Brazil |- | 93Z || Iveco |- | 94D || Nissan Brazil |- | 94N || RWM Brazil |- | 94T || Troller Veículos Especiais |- | 95P || CAOA Hyundai & CAOA Chery |- | 95V || Dafra Motos (motorscooters from SYM) & Ducati, KTM, & MV Agusta assembled by Dafra |- | 95V || BMW motorcycles assembled by Dafra Motos 2009–2016 |- | 95Z || Buell Motorcycle Company assembled by Harley-Davidson Brazil |- | 953 || VW Truck & Bus / MAN Truck & Bus |- | 96P || Kawasaki |- | 97N || Triumph Motorcycles Ltd. |- | 988 || Jeep, Ram [Rampage], and Fiat [Toro] (made at the Goiana plant) |- | 98M || BMW car/SUV |- | 98P || DAF Trucks |- | 98R || Chery |- | 99A || Audi 2016- |- | 99H || Shineray |- | 99J || Jaguar Land Rover |- | 99K || Haojue & Kymco assembled by JTZ Indústria e Comércio de Motos |- | 99L || BYD |- | 99Z || BMW Motorrad (Motorcycle assembled by BMW 2017-) |- | 9FB || Renault Colombia (Sofasa) |- | 9FC || Compañía Colombiana Automotriz S.A. (Mazda) |- | 9GA || [[../GM/VIN Codes|Chevrolet]] Colombia (GM Colmotores S.A.) |- | 9UJ || Chery assembled by Chery Socma S.A. (Uruguay) |- | 9UK || Lifan (Uruguay) |- | 9UT || Dongfeng trucks made by Nordex S.A. |- | 9UW || Kia made by Nordex S.A. |- | 9VC || Fiat made by Nordex S.A. (Scudo, 2025 Titano) |- | 9V7 || Citroen made by Nordex S.A. (Jumpy) |- | 9V8 || Peugeot made by Nordex S.A. (Expert) |} ==References== {{reflist}} {{BookCat}} 6dexgfv5bg35fzxc085wjemmjz58sw5 4635328 4635327 2026-05-11T18:32:54Z JustTheFacts33 3434282 /* List of Many WMIs */ 4635328 wikitext text/x-wiki ==World Manufacturer Identifier== The first three characters uniquely identify the manufacturer of the vehicle using the '''World Manufacturer Identifier''' or '''WMI''' code. A manufacturer that builds fewer than 1000 vehicles per year uses a 9 as the third digit and the 12th, 13th and 14th position of the VIN for a second part of the identification. Some manufacturers use the third character as a code for a vehicle category (e.g., bus or truck), a division within a manufacturer, or both. For example, within 1G (assigned to General Motors in the United States), 1G1 represents Chevrolet passenger cars; 1G2, Pontiac passenger cars; and 1GC, Chevrolet trucks. ===WMI Regions=== The first character of the WMI is the region in which the manufacturer is located. In practice, each is assigned to a country of manufacture. Common auto-manufacturing countries are noted. <ref>{{cite web | url=https://standards.iso.org/iso/3780/ | title=ISO Standards Maintenance Portal: ISO 3780 | publisher=[[wikipedia:International Organization for Standardization]]}}</ref> {| class="wikitable" style="text-align:center" |- ! WMI ! Region ! Notes |- | A-C | Africa | AA-AH = South Africa<br />BF-BG = Kenya<br />BU = Uganda<br />CA-CB = Egypt<br />DF-DK = Morocco |- | H-R | Asia | H = China<br />J = Japan<br />KF-KH = Israel<br />KL-KR = South Korea<br />L = China<br />MA-ME = India<br />MF-MK = Indonesia<br />ML-MR = Thailand<br />MS = Myanmar<br />MX = Kazakhstan<br />MY-M0 = India<br />NF-NG = Pakistan<br />NL-NR = Turkey<br />NS-NT = Uzbekistan<br />PA-PC = Philippines<br />PF-PG = Singapore<br />PL-PR = Malaysia<br />PS-PT = Bangladesh<br />PV=Cambodia<br />RA-RB = United Arab Emirates<br />RF-RK = Taiwan<br />RL-RN = Vietnam<br />R1-R7 = Hong Kong |- | S-Z | Europe | SA-SM = United Kingdom<br />SN-ST = Germany (formerly East Germany)<br />SU-SZ = Poland<br />TA-TH = Switzerland<br />TJ-TP = Czech Republic<br />TR-TV = Hungary<br />TW-T2 = Portugal<br />UH-UM = Denmark<br />UN-UR = Ireland<br />UU-UX = Romania<br />U1-U2 = North Macedonia<br />U5-U7 = Slovakia<br />VA-VE = Austria<br />VF-VR = France<br />VS-VW = Spain<br />VX-V2 = France (formerly Serbia/Yugoslavia)<br />V3-V5 = Croatia<br />V6-V8 = Estonia<br /> W = Germany (formerly West Germany)<br />XA-XC = Bulgaria<br />XF-XH = Greece<br />XL-XR = The Netherlands<br />XS-XW = Russia (formerly USSR)<br />XX-XY = Luxembourg<br />XZ-X0 = Russia<br />YA-YE = Belgium<br />YF-YK = Finland<br />YS-YW = Sweden<br />YX-Y2 = Norway<br />Y3-Y5 = Belarus<br />Y6-Y8 = Ukraine<br />ZA-ZU = Italy<br />ZX-ZZ = Slovenia<br />Z3-Z5 = Lithuania<br />Z6-Z0 = Russia |- | 1-5 | North America | 1, 4, 5 = United States<br />2 = Canada<br />3 = Mexico<br />7F-70 = United States |- | 6-7 | Oceania | 6A-6W = Australia<br />7A-7E = New Zealand |- | 8-9 | South America | 8A-8E = Argentina<br />8F-8G = Chile<br />8L-8N = Ecuador<br />8S-8T = Peru<br />8X-8Z = Venezuela<br />82 = Bolivia<br />84 = Costa Rica<br />9A-9E, 91-90 = Brazil<br />9F-9G = Colombia<br />9S-9V = Uruguay |} {| class="wikitable" style="text-align:center" |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''A''' || colspan="8" | South Africa || colspan="2" | Ivory Coast || colspan="2" | Lesotho || colspan="2" | Botswana || colspan="2" | Namibia || colspan="2" | Madagascar || colspan="2" | Mauritius || colspan="2" | Tunisia || colspan="2" | Cyprus || colspan="2" | Zimbabwe || colspan="2" | Mozambique || colspan="5" | ''Africa'' |- | '''B''' || colspan="2" | Angola || colspan="1" | Ethiopia || colspan="2" | ''Africa'' || colspan="2" | Kenya || colspan="1" | Rwanda || colspan="2" | ''Africa'' || colspan="1" | Nigeria || colspan="3" | ''Africa'' || colspan="1" | Algeria || colspan="1" | ''Africa'' || colspan="1" | Swaziland || colspan="1" | Uganda || colspan="7" | ''Africa''|| colspan="2" | Libya || colspan="6" | ''Africa'' |- | '''C''' || colspan="2" | Egypt || colspan="3" | ''Africa'' || colspan="2" | Morocco || colspan="3" | ''Africa'' || colspan="2" | Zambia || colspan="21" | ''Africa'' |- | '''D''' || colspan="33" rowspan="1" | |- | '''E''' || colspan="33" | Russia |- | '''F''' || colspan="33" rowspan="2" | |- | '''G''' |- | '''H''' || colspan="33" | China |- | '''J''' || colspan="33" | Japan |- | '''K''' || colspan="5" | ''Asia'' || colspan="3" | Israel || colspan="2" | ''Asia'' || colspan="5" | South Korea || colspan="2" | Jordan || colspan="6" | ''Asia'' || colspan="3" | South Korea || colspan="1" | ''Asia'' || colspan="1" | Kyrgyzstan || colspan="5" | ''Asia'' |- | '''L''' || colspan="33" | China |- | '''M''' || colspan="5" | India || colspan="5" | Indonesia || colspan="5" | Thailand || colspan="1" | Myanmar || colspan="1" | ''Asia'' || colspan="1" | Mongolia || colspan="2" | ''Asia'' || colspan="1" | Kazakhstan || colspan="12" | India |- | '''N''' || colspan="5" | Iran || colspan="2" | Pakistan || colspan="1" | ''Asia'' || colspan="1" | Iraq || colspan="1" | ''Asia'' || colspan="5" | Turkey || colspan="2" | Uzbekistan || colspan="1" | ''Asia'' || colspan="1" | Azerbaijan || colspan="1" | ''Asia'' || colspan="1" | Tajikistan || colspan="1" | Armenia || colspan="1" | ''Asia'' || colspan="5" | Iran || colspan="1" | ''Asia'' || colspan="2" | Turkey || colspan="2" | ''Asia'' |- | '''P''' || colspan="3" | Philippines || colspan="2" | ''Asia'' || colspan="2" | Singapore || colspan="3" | ''Asia'' || colspan="5" | Malaysia || colspan="2" | Bangladesh || colspan="10" | ''Asia'' || colspan="6" | India |- | '''R''' || colspan="2" | UAE || colspan="3" | ''Asia'' || colspan="5" | Taiwan || colspan="3" | Vietnam || colspan="1" | Laos || colspan="1" | ''Asia'' || colspan="2" | Saudi Arabia || colspan="3" | Russia || colspan="3" | ''Asia'' || colspan="7" | Hong Kong || colspan="3" | ''Asia'' |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''S''' || colspan="12" | United Kingdom || colspan="5" | Germany <small>(former East Germany)</small> || colspan="6" | Poland || colspan="2" | Latvia || colspan="1" | Georgia || colspan="1" | Iceland || colspan="6" | ''Europe'' |- | '''T''' || colspan="8" | Switzerland || colspan="6" | Czech Republic || colspan="5" | Hungary || colspan="6" | Portugal || colspan="3" | Serbia || colspan="1" | Andorra || colspan="2" | Netherlands || colspan="2" | ''Europe'' |- | '''U''' || colspan="3" | Spain || colspan="4" | ''Europe'' || colspan="5" | Denmark || colspan="3" | Ireland || colspan="2" | ''Europe'' || colspan="4" | Romania || colspan="2" | ''Europe'' || colspan="2" | North Macedonia || colspan="2" | ''Europe'' || colspan="3" | Slovakia || colspan="3" | Bosnia & Herzogovina |- | '''V''' || colspan="5" | Austria || colspan="10" | France || colspan="5" | Spain || colspan="5" | France <small>(formerly Yugoslavia & Serbia)</small> || colspan="3" | Croatia || colspan="3" | Estonia || colspan="2" | ''Europe'' |- | '''W''' || colspan="33" | Germany |- | '''X''' || colspan="3" | Bulgaria || colspan="2" | Russia || colspan="3" | Greece || colspan="2" | Russia || colspan="5" | Netherlands || colspan="5" | Russia <small>(former USSR)</small> || colspan="2" | Luxembourg || colspan="11" | Russia |- | '''Y''' || colspan="5" | Belgium || colspan="5" | Finland || colspan="2" | ''Europe'' || colspan="1" | Malta || colspan="2" | ''Europe'' || colspan="5" | Sweden || colspan="5" | Norway || colspan="3" | Belarus || colspan="3" | Ukraine || colspan="2" | ''Europe'' |- | '''Z''' || colspan="18" | Italy || colspan="2" | ''Europe'' || colspan="3" | Slovenia || colspan="1" | San Marino|| colspan="1" | ''Europe''|| colspan="3" | Lithuania || colspan="5" | Russia |- | '''1''' || colspan="33" | United States |- | '''2''' || colspan="28" | Canada || colspan="5" | ''North America'' |- | '''3''' || colspan="21" | Mexico || colspan="5" | ''North America'' || colspan="1" | Nicaragua || colspan="1" | Dom. Rep. || colspan="1" | Honduras || colspan="1" | Panama || colspan="2" | Puerto Rico || colspan="1" | ''North America'' |- | '''4''' || colspan="33" rowspan="2" | United States |- | '''5''' |- | '''6''' || colspan="21" | Australia || colspan="3" | New Zealand || colspan="9" | ''Oceania'' |- | '''7''' || colspan="5" | New Zealand || colspan="28" | United States |- | '''8''' || colspan="5" | Argentina || colspan=2 | Chile || colspan="3" | ''South America'' || colspan="3" | Ecuador || colspan="2" | ''South America'' || colspan="2" | Peru || colspan="3" | ''South America'' || colspan="3" | Venezuela || colspan="1" | ''SA'' || colspan="1" | Bolivia || colspan="1" | ''SA'' || colspan="1" | Costa Rica || colspan="6" | ''South America'' |- | '''9''' || colspan="5" | Brazil || colspan="2" | Colombia || colspan="8" | ''South America'' || colspan="4" | Uruguay || colspan="4" | ''South America'' || colspan="10" | Brazil |- | '''0''' || colspan="33" rowspan="1" | |} ===List of Many WMIs=== The [[w:Society of Automotive Engineers|Society of Automotive Engineers]] (SAE) in the US assigns WMIs to countries and manufacturers.<ref>{{cite web | url=https://www.iso.org/standard/45844.html | title=ISO 3780:2009 - Road vehicles — World manufacturer identifier (WMI) code | date=October 2009 | publisher=International Organization for Standardization}}</ref> The following table contains a list of mainly commonly used WMIs, although there are many others assigned. {| class="wikitable x" style="text-align:center" |- ! WMI !! Manufacturer |- | AAA|| Audi South Africa made by Volkswagen of South Africa |- | AAK|| FAW Vehicle Manufacturers SA (PTY) Ltd. |- | AAM|| MAN Automotive (South Africa) (Pty) Ltd. (includes VW Truck & Bus) |- |AAP || VIN restamped by South African Police Service (so-called SAPVIN or AAPV number) |- | AAV || Volkswagen South Africa |- | AAW || Challenger Trailer Pty Ltd. (South Africa) |- | AA9/CN1 || TR-Tec Pty Ltd. (South Africa) |- | ABJ || Mitsubishi Colt & Triton pickups made by Mercedes-Benz South Africa 1994–2011 |- | ABJ || Mitsubishi Fuso made by Daimler Trucks & Buses Southern Africa |- | ABM || BMW Southern Africa |- | ACV || Isuzu Motors South Africa 2018- |- | AC5 || [[../Hyundai/VIN Codes|Hyundai]] Automotive South Africa |- | AC9/BM1 || Beamish Beach Buggies (South Africa) |- | ADB || Mercedes-Benz South Africa car |- | ADD || UD Trucks Southern Africa (Pty) Ltd. |- | ADM || General Motors South Africa (includes Isuzu through 2018) |- | ADN || Nissan South Africa (Pty) Ltd. |- | ADR || Renault Sandero made by Nissan South Africa (Pty) Ltd. |- | ADX || Tata Automobile Corporation (SA) Ltd. |- | AE9/MT1 || Backdraft Racing (South Africa) |- | AFA || Ford Motor Company of Southern Africa & Samcor |- | AFB || Mazda BT-50 made by Ford Motor Company of Southern Africa |- | AFD || BAIC Automotive South Africa |- | AFZ || Fiat Auto South Africa |- | AHH || Hino South Africa |- | AHM || Honda Ballade made by Mercedes-Benz South Africa 1982–2000 |- | AHT || Toyota South Africa Motors (Pty.) Ltd. |- | BF9/|| KIBO Motorcycles, Kenya |- | BUK || Kiira Motors Corporation, Uganda |- | BR1 || Mercedes-Benz Algeria (SAFAV MB) |- | BRY || FIAT Algeria |- | CA3 || MCV bus (Egypt) |- | DDY || Geyushi Motors (bus) (Egypt) |- | DF9/|| Laraki (Morocco) |- | EAA || Aurus Motors (Russia) |- | EAN || Evolute (Russia) |- | EAU || Elektromobili Manufacturing Rus - EVM (Russia) |- | EBE || Sollers-Auto (Russia) |- | EBZ || Nizhekotrans bus (Russia) |- | ECE || XCITE (Russia) |- | ECW || Trans-Alfa bus (Russia) |- | HAC || GAC Motor (Aion) |- | HA0 || Wuxi Sundiro Electric Vehicle Co., Ltd. (Palla, Parray) |- | HA6 || Niu Technologies |- | HA7 || Jinan Qingqi KR Motors Co., Ltd. |- | HES || smart Automobile Co., Ltd. (Mercedes-Geely joint venture) |- | HGL || Farizon Auto van (Geely) |- | HGX || Wuling Motors commercial vehicle (Geely) |- | HHZ || Huazi Automobile |- | HJN || Nio, Firefly |- | HJR || Chery Commercial Vehicle (Anhui) Co., Ltd. Jetour made by Chery Commercial Vehicle |- | HJZ || Juzhen Chengshi van |- | HJ4 || BAW car |- | HL4 || Zhejiang Morini Vehicle Co., Ltd. <br />(Moto Morini subsidiary of Taizhou Zhongneng Motorcycle Co., Ltd.) |- | HLX || Li Auto |- | HRV || Beijing Henrey Automobile Technology Co., Ltd. |- | HVW || Volkswagen Anhui |- | HWM || WM Motor Technology Co., Ltd. (Weltmeister) |- | HXM || Xiaomi |- | HZ2 || Taizhou Zhilong Technology Co., Ltd (motorcycle) |- | H0D || Taizhou Qianxin Vehicle Co., Ltd. (motorcycle) |- | H0G || Wisdom (Fujian) Motor Co., Ltd. (bus) |- | JAA || Isuzu truck, Holden Rodeo TF, Opel Campo, Bedford/Vauxhall Brava pickup made by Isuzu in Japan |- | JAB || Isuzu car |- | JAC || Isuzu SUV, Opel/Vauxhall Monterey & Holden Jackaroo/Monterey made by Isuzu in Japan |- | JAE || Acura SLX made by Isuzu |- | JAL || Isuzu commercial trucks & <br /> Chevrolet commercial trucks made by Isuzu 2016+ & <br /> Hino S-series truck made by Isuzu (Incomplete Vehicle - medium duty) |- | JAM || Isuzu commercial trucks (Incomplete Vehicle - light duty) |- | JA3 || Mitsubishi car (for North America) |- | JA4 || Mitsubishi MPV/SUV (for North America) & Nissan Rogue PHEV '26 |- | JA7 || Mitsubishi truck (for North America) |- | JB3 || Dodge car made by Mitsubishi Motors |- | JB4 || Dodge MPV/SUV made by Mitsubishi Motors |- | JB7 || Dodge truck made by Mitsubishi Motors |- | JC0 || Ford brand cars made by Mazda |- | JC1 || Fiat 124 Spider made by Mazda |- | JC2 || Ford Courier made by Mazda |- | JDA || Daihatsu, Subaru Justy made by Daihatsu |- | JD1 || Daihatsu car |- | JD2 || Daihatsu SUV |- | JD4 || Daihatsu truck |- | JE3 || Eagle car made by Mitsubishi Motors |- | JE4 || Mitsubishi Motors |- | JF1 || ([[../Subaru/VIN Codes|Subaru]]) car |- | JF2 || ([[../Subaru/VIN Codes|Subaru]]) SUV |- | JF3 || ([[../Subaru/VIN Codes|Subaru]]) truck |- | JF4 || Saab 9-2X made by Subaru |- | JG1 || Chevrolet/Geo car made by Suzuki |- | JG2 || Pontiac car made by Suzuki |- | JG7 || Pontiac/Asuna car made by Suzuki for GM Canada |- | JGC || Chevrolet/Geo SUV made by Suzuki (classified as a truck) |- | JGT || GMC SUV made by Suzuki for GM Canada (classified as a truck) |- | JHA || Hino truck |- | JHB || Hino incomplete vehicle |- | JHD || Hino |- | JHF || Hino |- | JHH || Hino incomplete vehicle |- | JHF-JHG, JHL-JHN, JHZ,<br/>JH1-JH5 || [[../Honda/VIN Codes|Honda]] |- | JHL || [[../Honda/VIN Codes|Honda]] MPV/SUV |- | JHM || [[../Honda/VIN Codes|Honda]] car |- | JH1 || [[../Honda/VIN Codes|Honda]] truck |- | JH2 || [[../Honda/VIN Codes|Honda]] motorcycle/ATV |- | JH3 || [[../Honda/VIN Codes|Honda]] ATV |- | JH4 || Acura car |- | JH6 || Hino incomplete vehicle |- | JJ3 || Chrysler brand car made by Mitsubishi Motors |- | JKA || Kawasaki (motorcycles) |- | JKB || Kawasaki (motorcycles) |- | JKM || Mitsuoka |- | JKS || Suzuki Marauder 1600/Boulevard M95 motorcycle made by Kawasaki |- | JK8 || Suzuki QUV620F UTV made by Kawasaki |- | JLB || Mitsubishi Fuso Truck & Bus Corp. |- | JLF || Mitsubishi Fuso Truck & Bus Corp. |- | JLS || Sterling Truck 360 made by Mitsubishi Fuso Truck & Bus Corp. |- | JL5 || Mitsubishi Fuso Truck & Bus Corp. |- | JL6 || Mitsubishi Fuso Truck & Bus Corp. |- | JL7 || Mitsubishi Fuso Truck & Bus Corp. |- | JMA || Mitsubishi Motors (right-hand drive) for Europe |- | JMB || Mitsubishi Motors (left-hand drive) for Europe |- | JMF || Mitsubishi Motors for Australia (including Mitsubishi Express made by Renault) |- | JMP || Mitsubishi Motors (left-hand drive) |- | JMR || Mitsubishi Motors (right-hand drive) |- | JMY || Mitsubishi Motors (left-hand drive) for South America & Middle East |- | JMZ || Mazda for Europe export & Mazda 2 made by Ford Spain & Mazda 2 Hybrid made by Toyota Motor Manufacturing France |- | JM0 || Mazda for Oceania export |- | JM1 || Mazda car |- | JM2 || Mazda truck |- | JM3 || Mazda MPV/SUV |- | JM4 || Mazda |- | JM6 || Mazda |- | JM7 || Mazda |- | JNA || Nissan Diesel/UD Trucks incomplete vehicle |- | JNC || Nissan Diesel/UD Trucks |- | JNE || Nissan Diesel/UD Trucks truck |- | JNK || Infiniti car |- | JNR || Infiniti SUV |- | JNX || Infiniti incomplete vehicle |- | JN1 || Nissan car & Infiniti car |- | JN3 || Nissan incomplete vehicle |- | JN6 || Nissan truck/van & Mitsubishi Fuso Canter Van |- | JN8 || Nissan MPV/SUV & Infiniti SUV |- | JPC || Nissan Diesel/UD Trucks |- | JP3 || Plymouth car made by Mitsubishi Motors |- | JP4 || Plymouth MPV/SUV made by Mitsubishi Motors |- | JP7 || Plymouth truck made by Mitsubishi Motors |- | JR2 || Isuzu Oasis made by Honda |- | JSA || Suzuki ATV & '03 Kawasaki KFX400 ATV made by Suzuki, Suzuki car/SUV (outside N. America), Holden Cruze YG made by Suzuki |- | JSK || Kawasaki KLX125/KLX125L motorcycle made by Suzuki |- | JSL || '04-'06 Kawasaki KFX400 ATV made by Suzuki |- | JST || Suzuki Across SUV made by Toyota |- | JS1 || Suzuki motorcycle & Kawasaki KLX400S/KLX400SR motorcycle made by Suzuki |- | JS2 || Suzuki car |- | JS3 || Suzuki SUV |- | JS4 || Suzuki truck |- | JTB || Toyota bus |- | JTD || Toyota car |- | JTE || Toyota MPV/SUV |- | JTF || Toyota van/truck |- | JTG || Toyota MPV/bus |- | JTH || Lexus car |- | JTJ || Lexus SUV |- | JTK || Toyota car |- | JTL || Toyota SUV |- | JTM || Toyota SUV, Subaru Solterra made by Toyota |- | JTN || Toyota car |- | JTP || Toyota SUV |- | JT1 || [[../Toyota/VIN Codes|Toyota]] van |- | JT2 || Toyota car |- | JT3 || Toyota MPV/SUV |- | JT4 || Toyota truck/van |- | JT5 || Toyota incomplete vehicle |- | JT6 || Lexus SUV |- | JT7 || Toyota bus/van |- | JT8 || Lexus car |- | JW6 || Mitsubishi Fuso division of Mitsubishi Motors (through mid-2003) |- | JYA || Yamaha motorcycles |- | JYE || Yamaha snowmobile |- | JY3 || Yamaha 3-wheel ATV |- | JY4 || Yamaha 4-wheel ATV |- | J81 || Chevrolet/Geo car made by Isuzu |- | J87 || Pontiac/Asüna car made by Isuzu for GM Canada |- | J8B || Chevrolet commercial trucks made by Isuzu (incomplete vehicle) |- | J8C || Chevrolet commercial trucks made by Isuzu (truck) |- | J8D || GMC commercial trucks made by Isuzu (incomplete vehicle) |- | J8T || GMC commercial trucks made by Isuzu (truck) |- | J8Z || Chevrolet LUV pickup truck made by Isuzu |- | KF3 || Merkavim (Israel) |- | KF6 || Automotive Industries, Ltd. (Israel) |- | KF9/004 || Tomcar (Israel) |- | KG9/002 || Charash Ashdod (truck trailer) (Israel) |- | KG9/004 || H. Klein (truck trailer) (Israel) |- | KG9/007 || Agam Trailers (truck trailer) (Israel) |- | KG9/009 || Merkavey Noa (trailer) (Israel) |- | KG9/010 || Weingold Trailers (trailer) (Israel) |- | KG9/011 || Netzer Sereni (truck trailer) (Israel) |- | KG9/015 || Merkaz Hagrorim (trailer) (Israel) |- | KG9/035 || BEL Technologies (truck trailer) (Israel) |- | KG9/091 || Jansteel (truck trailer) (Israel) |- | KG9/101 || Bassamco (truck trailer) (Israel) |- | KG9/104 || Global Handasa (truck trailer) (Israel) |- | KL || Daewoo [[../GM/VIN Codes|General Motors]] South Korea |- | KLA || Daewoo/GM Daewoo/GM Korea (Chevrolet/Alpheon)<br /> from Bupyeong & Kunsan plants |- | KLP || CT&T United (battery electric low-speed vehicles) |- | KLT || Tata Daewoo |- | KLU || Tata Daewoo |- | KLY || Daewoo/GM Daewoo/GM Korea (Chevrolet) from Changwon plant |- | KL1 || GM Daewoo/GM Korea (Chevrolet car) |- | KL2 || Daewoo/GM Daewoo (Pontiac) |- | KL3 || GM Daewoo/GM Korea (Holden) |- | KL4 || GM Korea (Buick) |- | KL5 || GM Daewoo (Suzuki) |- | KL6 || GM Daewoo (GMC) |- | KL7 || Daewoo (GM Canada brands: Passport, Asuna (Pre-2000)) |- | KL7 || GM Daewoo/GM Korea (Chevrolet MPV/SUV (Post-2000)) |- | KL8 || GM Daewoo/GM Korea (Chevrolet car from Changwon plant (Spark)) |- | KM || [[../Hyundai/VIN Codes|Hyundai]] |- | KMC || Hyundai commercial truck |- | KME || Hyundai commercial truck (semi-tractor) |- | KMF || Hyundai van & commercial truck & Bering Truck |- | KMH || Hyundai car & Mexican market Dodges made by Hyundai |- | KMJ || Hyundai minibus/bus |- | KMT || Genesis Motor car |- | KMU || Genesis Motor SUV |- | KMX || Hyundai Galloper SUV |- | KMY || Daelim Motor Company, Ltd/DNA Motors Co., Ltd. (motorcycles) |- | KM1 || Hyosung Motors (motorcycles) |- | KM4 || Hyosung Motors/S&T Motors/KR Motors (motorcycles) |- | KM8 || Hyundai SUV |- | KNA || Kia car |- | KNC || Kia truck |- | KND || Kia MPV/SUV & Hyundai Entourage |- | KNE || Kia for Europe export |- | KNF || Kia, special vehicles |- | KNG || Kia minibus/bus |- | KNJ || Ford Festiva & Aspire made by Kia |- | KNL || Kia Elan/Vigato made by Kia Motech |- | KNM || Renault Samsung Motors, Nissan Rogue made by Renault Samsung, Nissan Sunny made by Renault Samsung |- | KNM || Renault Korea Co., Ltd. |- | KN1 || Asia Motors |- | KN2 || Asia Motors |- | KPA || SsangYong/KG Mobility (KGM) pickup |- | KPB || SsangYong car |- | KPD || SsangYong TransStar (bus) |- | KPH || Mitsubishi Precis |- | KPT || SsangYong/KG Mobility (KGM) SUV/MPV |- | LAA || Shanghai Jialing Vehicle Co., Ltd. (motorcycle) |- | LAE || Jinan Qingqi Motorcycle |- | LAL || Sundiro [[../Honda/VIN Codes|Honda]] Motorcycle |- | LAN || Changzhou Yamasaki Motorcycle |- | LAP || Chongqing Jianshe Motorcycle Co., Ltd. |- | LAP || Zhuzhou Nanfang Motorcycle Co., Ltd. |- | LAT || Luoyang Northern Ek Chor Motorcycle Co., Ltd. (Dayang) |- | LA6 || Xiamen King Long United Automotive Industry Co., Ltd. (bus) |- | LA7 || Radar Auto (Geely) |- | LA8 || Anhui Ankai |- | LA9/AYS || Jiangsu Alfa Bus Co., Ltd. (bus) |- | LA9/BFC || Beijing North Huade Neoplan Bus Co., Ltd. |- | LA9/FBC || Xiamen Fengtai Bus & Coach International Co., Ltd. (FTBCI) (bus) |- | LA9/HFF || Anhui Huaxia Vehicle Manufacturing Co., Ltd. (bus) |- | LA9/JXK || CHTC Bonluck Bus Co., Ltd. |- | LA9/LC0 || BYD |- | LA9/LFJ || Xinlongma Automobile |- | LA9/LM6 || SRM Shineray |- | LBB || Zhejiang Qianjiang Motorcycle (QJ Motor/Keeway/Benelli) |- | LBE || Beijing [[../Hyundai/VIN Codes|Hyundai]] (Hyundai, Shouwang) |- | LBM || Zongshen Piaggio |- | LBP || Chongqing Jianshe Yamaha Motor Co. Ltd. (motorcycles) |- | LBV || BMW Brilliance (BMW, Zinoro) |- | LBX || Jiangsu Kinroad Xintian Motorcycle Manufacture Co. Ltd. (motorcycles) |- | LBZ || Yantai Shuchi Vehicle Co., Ltd. (bus) |- | LB1 || Fujian Benz |- | LB2 || Geely Motorcycles |- | LB3 || Zhejiang Geely Holding Group (Geely, Galaxy, Geometry, Kandi) |- | LB4 || Chongqing Yinxiang Motorcycle Group Co., Ltd. |- | LB5 || Foshan City Fosti Motorcycle Co., Ltd. |- | LB7 || Tibet New Summit Motorcycle Co., Ltd. |- | LCE || Hangzhou Chunfeng Motorcycles (CFMOTO) |- | LCR || Gonow |- | LC0 || BYD Auto (BYD, Denza) |- | LC2 || Changzhou Kwang Yang Motor Co., Ltd. (Kymco) |- | LC6 || Changzhou Haojue Suzuki Motorcycle Co. Ltd. |- | LDB || Dadi Auto |- | LDC || Dongfeng Peugeot Citroen Automobile Co., Ltd. (DPCA), Dongfeng Fengshen (Aeolus) L60 |- | LDD || Dandong Huanghai Automobile |- | LDF || Dezhou Fulu Vehicle Co., Ltd. (motorcycles), BAW Yuanbao electric car (Ace P1 in Norway) |- | LDK || FAW Bus (Dalian) Co., Ltd. |- | LDN || Soueast (South East (Fujian) Motor Co., Ltd.) including Mitsubishi made by Soueast |- | LDP || Dongfeng, Dongfeng Fengshen (Aeolus), Voyah, Renault City K-ZE/Venucia e30 made by eGT New Energy Automotive |- | LDY || Zhongtong Bus Holding Co. Ltd. |- | LD3 || Guangdong Tayo Motorcycle Technology Co. (Zontes) (motorcycle) |- | LD5 || Benzhou Vehicle Industry Group Ltd. (motorcycle) |- | LD9/L3A || SiTech (FAW) |- | LEC || Tianjin Qingyuan Electric Vehicle Co., Ltd. |- | LEF || Jiangling Motors Corporation Ltd. (JMC) |- | LEH || Zhejiang Riya Motorcycle Co. Ltd. |- | LET || Jiangling-Isuzu Motors, China |- | LEW || Dongfeng commercial vehicle |- | LE4 || Beijing Benz & Beijing Benz-Daimler Chrysler Automotive Co. (Chrysler, Jeep, Mitsubishi, Mercedes-Benz) & Beijing Jeep Corp. |- | LE8 || Guangzhou Panyu Hua'Nan Motors Industry Co. Ltd. (motorcycles) |- | LFB || FAW Group (Bestune, Hongqi) & Mazda made under license by FAW (Mazda 8, CX-7) |- | LFF || Zhejiang Taizhou Wangye Power Co., Ltd. |- | LFG || Taizhou Chuanl Motorcycle Manufacturing |- | LFJ || Fujian Motors Group (Keyton) |- | LFM || FAW Toyota Motor (Toyota, Ranz) |- | LFN || FAW Bus (Wuxi) Co., Ltd. (truck, bus) |- | LFP || FAW Car, Bestune, Hongqi (passenger vehicles) & Mazda made under license by FAW (Mazda 6, CX-4) |- | LFT || FAW (trailers) |- | LFU || Lifeng Group Co., Ltd. (motorcycles) |- | LFV || FAW-Volkswagen (VW, Audi, Jetta, Kaili) |- | LFW || FAW JieFang (truck) |- | LFX || Sany Heavy Industry (truck) |- | LFY || Changshu Light Motorcycle Factory |- | LFZ || Leapmotor |- | LF3 || Lifan Motorcycle |- | LGA || Dongfeng Commercial Vehicle Co., Ltd. trucks |- | LGB || Dongfeng Nissan (Nissan, Infiniti, Venucia) |- | LGB || Dongfeng Commercial Vehicle Co., Ltd. |- | LGC || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGD || Dongfeng Commercial Vehicle Co., Ltd. |- | LGF || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGG || Dongfeng Liuzhou Motor (Forthing/Fengxing) |- | LGJ || Dongfeng Fengshen (Aeolus) |- | LGL || Guilin Daewoo |- | LGV || Heshan Guoji Nanlian Motorcycle Industry Co., Ltd. |- | LGW || Great Wall Motor (GWM, Haval, Ora, Tank, Wey) |- | LGX || BYD Auto (BYD, Fangchengbao) |- | LGZ || Guangzhou Denway Bus |- | LG6 || Dayun Group |- | LHA || Shuanghuan Auto |- | LHB || Beijing Automotive Industry Holding |- | LHG || GAC Honda (Honda, Everus, Acura) |- | LHJ || Chongqing Astronautic Bashan Motorcycle Manufacturing Co., Ltd. |- | LHM || Dongfeng Renault Automobile Co. |- | LHW || CRRC Electric Vehicle Co., Ltd. (bus) |- | LH0 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LH1 || FAW-Haima, China |- | LJC || Jincheng Corporation |- | LJD || Yueda Kia (previously Dongfeng Yueda Kia) (Kia, Horki) & Human Horizons - HiPhi (made under contract by Yueda Kia) |- | LJM || Sunlong (bus) |- | LJN || Zhengzhou Nissan |- | LJR || CIMC Vehicles Group (truck trailer) |- | LJS || Yaxing Coach, Asiastar Bus |- | LJU || Shanghai Maple Automobile & Kandi & Zhidou |- | LJU || Lotus Technology (Wuhan Lotus Cars Co., Ltd.) |- | LJV || Sinotruk Chengdu Wangpai Commercial Vehicle Co., Ltd. |- | LJW || JMC Landwind |- | LJX || JMC Ford |- | LJ1 || JAC (JAC, Sehol) |- | LJ1 || Nio, Inc. |- | LJ4 || Shanghai Jmstar Motorcycle Co., Ltd. |- | LJ5 || Cixi Kingring Motorcycle Co., Ltd. (Jinlun) |- | LJ8 || Zotye Auto made by Jiangnan Automobile |- | LKC || BAIC commercial vehicles, previously Changhe |- | LKG || Youngman Lotus Automobile Co., Ltd. |- | LKH || Hafei Motor |- | LKL || Higer Bus |- | LKT || Yunnan Lifan Junma Vehicle Co., Ltd. commercial vehicles |- | LK2 || Anhui JAC Bus |- | LK6 || SAIC-GM-Wuling (Wuling, Baojun) microcars and other vehicles |- | LK8 || Zhejiang Yule New Energy Automobile Technology Co., Ltd. (ATV) |- | LLC || Loncin Motor Co., Ltd. (motorcycle) |- | LLJ || Jiangsu Xinling Motorcycle Fabricate Co., Ltd. |- | LLN || Qoros |- | LLP || Zhejiang Jiajue Motorcycle Manufacturing Co., Ltd. |- | LLU || Dongfeng Fengxing Jingyi |- | LLV || Lifan, Maple (owned by Geely), Livan Automotive |- | LLX || Yudo Auto |- | LL0 || Sanmen County Yongfu Machine Co., Ltd. (motorcycles) |- | LL2 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LL3 || Xiamen Golden Dragon Bus Co. Ltd. |- | LL6 || GAC Mitsubishi Motors Co., Ltd. (formerly Hunan Changfeng) |- | LL8 || Jiangsu Linhai Yamaha Motor Co., Ltd. |- | LMC || Suzuki Hong Kong (motorcycles) |- | LME || Skyworth (formerly Skywell), Elaris Beo |- | LMF || Jiangmen Zhongyu Motor Co., Ltd. |- | LMG || GAC Motor, Trumpchi, [[w:Dodge Attitude#Fourth generation (2025)|Dodge Attitude made by GAC]] |- | LMH || Jiangsu Guowei Motor Co., Ltd. (Motoleader) |- | LMP || Geely Sichuan Commercial Vehicle Co., Ltd. |- | LMV || Haima Car Co., Ltd. |- | LMV || XPeng Motors G3 (not G3i) made by Haima |- | LMW || GAC Group, [[w:Trumpchi GS5#Dodge Journey|Dodge Journey made by GAC]] |- | LMX || Forthing (Dongfeng Fengxing) |- | LM0 || Wangye Holdings Co., Ltd. (motorcycles) |- | LM6 || SWM (automobiles) |- | LM8 || Seres (formerly SF Motors), AITO |- | LNA || GAC Aion New Energy Automobile Co., Ltd., Hycan |- | LNB || BAIC Motor (Senova, Weiwang, Huansu) & Arcfox & Xiaomi SU7 built by BAIC |- | LND || JMEV (Jiangxi Jiangling Group New Energy Vehicle Co., Ltd.), Eveasy/Mobilize Limo |- | LNE || Zhejiang CRRC Electric Vehicle Co., Ltd. (bus) |- | LNP || NAC MG UK Limited & Nanjing Fiat Automobile |- | LNN || Chery Automobile, Omoda, Jaecoo |- | LNV || Naveco (Nanjing Iveco Automobile Co. Ltd.) |- | LNX || Dongfeng Liuzhou Motor (Chenglong trucks) |- | LNY || Yuejin |- | LPA || Changan PSA (DS Automobiles) |- | LPE || BYD Auto |- | LPS || Polestar |- | LP6 || Guangzhou Panyu Haojian Motorcycle Industry Co., Ltd. |- | LRB || SAIC-General Motors (Buick for export) |- | LRD || Beijing Foton Daimler Automotive Co., Ltd. Auman trucks |- | LRE || SAIC-General Motors (Cadillac for export) |- | LRP || Chongqing Rato Power Co. Ltd. (Asus) |- | LRR || Ningbo Longjia Power Technology Co., Ltd. (motorcycles) |- | LRW || Tesla, Inc. (Gigafactory Shanghai) |- | LR4 || Yadi Technology Group |- | LR6 || Guangzhou Dayun Vehicle Co., Ltd. |- | LSC || Changan Automobile (light truck) |- | LSF || SAIC Maxus or LDV pickup/SUV & Chevrolet S10 Max & Shanghai Sunwin Bus Corporation |- | LSG || SAIC-General Motors (For China: Chevrolet, Buick, Cadillac, Sail Springo, For export: Chevrolet) |- | LSH || SAIC Maxus van or LDV van & Chevrolet Express Max |- | LSJ || SAIC MG & SAIC Roewe & IM Motors & Rising Auto |- | LSK || SAIC Maxus or LDV van |- | LSV || SAIC-Volkswagen (VW, Skoda, Audi, Tantus) |- | LSY || Brilliance (Jinbei, Zhonghua) & Jinbei GM |- | LS3 || Hejia New Energy Vehicle Co., Ltd |- | LS4 || Changan Automobile (MPV/SUV) |- | LS5 || Changan Automobile (car) & Changan Suzuki |- | LS6 || Changan Automobile & Deepal Automobile & Avatr |- | LS7 || JMC Heavy Duty Truck Co., Ltd. |- | LS8 ||Henan Shaolin Auto Co., Ltd. (bus) |- | LTA || ZX Auto |- | LTN || Soueast-built Chrysler & Dodge vehicles |- | LTP || National Electric Vehicle Sweden AB (NEVS) |- | LTV || FAW [[../Toyota/VIN Codes|Toyota]] (Tianjin) |- | LTW || Zhejiang Dianka Automobile Technology Co. Ltd. (Enovate) |- | LT1 || Yangzhou Tonghua Semi-Trailer Co., Ltd. (truck trailer) |- | LUC || [[../Honda/VIN Codes|Honda]] Automobile (China) |- | LUD || Dongfeng Nissan Diesel Motor Co Ltd. |- | LUG || Qiantu Motor |- | LUJ || Zhejiang Shanqi Tianying Vehicle Industry Co., Ltd. (motorcycles) |- | LUR || Chery Automobile, iCar |- | LUX || Dongfeng Yulon Motor Co. Ltd. |- | LUZ || Hozon Auto New Energy Automobile Co., Ltd. (Neta) |- | LVA || Foton Motor |- | LVB || Foton Motor truck |- | LVC || Foton Motor bus |- | LVF || Changhe Suzuki |- | LVG || GAC Toyota (Toyota, Leahead) |- | LVH || Dongfeng Honda (Honda, Ciimo) |- | LVM || Chery Commercial Vehicle |- | LVP || Dongfeng Sokon Motor Company (DFSK) |- | LVR || Changan Mazda |- | LVS || Changan [[../Ford/VIN Codes|Ford]] (Ford, Lincoln) & Changan Ford Mazda & Volvo S40 and S80L made by Changan Ford Mazda |- | LVT || Chery Automobile, Exeed, Jetour, Soueast |- | LVU || Chery Automobile, Jetour |- | LVV || Chery Automobile, Omoda, Jaecoo |- | LVX || Landwind, JMC (discontinued in 2021) |- | LVX || Aiways Automobiles Company Ltd |- | LVY || Volvo Cars Daqing factory |- | LVZ || Dongfeng Sokon Motor Company (DFSK) |- | LV3 || Hengchi Automobile (Evergrande Group) |- | LV7 || Jinan Qingqi Motorcycle |- | LWB || Wuyang Honda Motorcycle (Guangzhou) Co., Ltd. |- | LWE || Yangtse Motor Group (bus) |- | LWG || Chongqing Huansong Industries (Group) Co., Ltd. |- | LWL || Qingling Isuzu |- | LWM || Chongqing Wonjan Motorcycle Co., Ltd. |- | LWV || GAC Fiat Chrysler Automobiles (Fiat, Jeep) |- | LWX || Shanghai Wanxiang Automobile Manufacturing Co., Ltd. (bus) |- | LW4 || Li Auto |- | LXA || Jiangmen Qipai Motorcycle Co., Ltd. |- | LXD || Ningbo Dongfang Lingyun Vehicle Made Co., Ltd. (motorcycle) |- | LXG || Xuzhou Construction Machinery Group Co., Ltd. (XCMG) |- | LXK || Shanghai Meitian Motorcycle Co., Ltd. |- | LXM || Xiamen Xiashing Motorcycle Co., Ltd. (SYM) |- | LXN || Link Tour |- | LXV || Beijing Borgward Automotive Co., Ltd. |- | LXW || JMC - Ford |- | LXY || Chongqing Shineray Motorcycle Co., Ltd. |- | LX6 || Jiangmen City Huari Group Co. Ltd. (motorcycle) |- | LX8 || Chongqing Xgjao (Xinganjue) Motorcycle Co Ltd. |- | LYB || Weichai (Yangzhou) Yaxing Automobile Co., Ltd. |- | LYD || Taizhou City Kaitong Motorcycle Co., Ltd. (motorcycle) |- | LYJ || Beijing ZhongdaYanjing Auto Co., Ltd. (bus) |- | LYM || Zhuzhou Jianshe Yamaha Motorcycle Co., Ltd. |- | LYS || Nanjing Vmoto Manufacturing Co. Ltd. (motorcycle) |- | LYU || Huansu (BAIC Motor & Yinxiang Group) |- | LYV || Volvo Cars Chengdu factory & Luqiao factory |- | LY4 || Chongqing Yingang Science & Technology Group Co., Ltd. (motorcycle) |- | LZE || Isuzu Guangzhou, China |- | LZF || SAIC Iveco Hongyan (-2021), SAIC Hongyan (2021-) |- | LZG || Shaanxi Automobile Group (Shacman) |- | LZK || Sinotruk (CNHTC) Huanghe bus |- | LZL || Zengcheng Haili Motorcycle Ltd. |- | LZM || MAN China |- | LZP || Zhongshan Guochi Motorcycle (Baotian) |- | LZS || Zongshen, Electra Meccanica Vehicles Corp. (Solo) made by Zongshen |- | LZU || Guangzhou Isuzu Bus |- | LZW || SAIC-GM-Wuling (Wuling, Baojun, Chevrolet [for export]) |- | LZY || Yutong Bus Co., Ltd. |- | LZZ || Sinotruk (CNHTC) (Howo, Sitrak) |- | LZ0 || Shandong Wuzheng Group Co., Ltd. |- | LZ4 || Jiangsu Linzhi Shangyang Group Co Ltd. |- | LZ9/LZX || Raysince |- | L0N || Ezytrail (camper trailers) |- | L1K || Chongqing Hengtong Bus Co., Ltd. |- | L1N || XPeng Motors |- | L10 || Geely Emgrand |- | L2B || Jiangsu Baodiao Locomotive Co., Ltd. (motorcycles) |- | L2C || Chery Jaguar Land Rover |- | L3H || Shanxi Victory Automobile Manufacturing Co., Ltd. |- | L37 || Huzhou Daixi Zhenhua Technology Trade Co., Ltd. (motorcycles) |- | L4B || Xingyue Group (motorcycles) |- | L4F || Suzhou Eagle Electric Vehicle Manufacturing Co., Ltd. |- | L4H || Ningbo Longjia Motorcycle Co., Ltd. |- | L4S || Zhejiang Xingyue Vehicle Co Ltd. (motorcycles) |- | L4Y || Qingqi Group Ningbo Rhon Motorcycle / Ningbo Dalong Smooth Locomotive Industry Co., Ltd. |- | L5C || Zhejiang Kangdi Vehicles Co., Ltd. (motorcycles, ATVs) |- | L5E || Zoomlion Heavy Industry Science & Technology Co., Ltd. |- | L5K || Zhejiang Yongkang Easy Vehicle |- | L5N || Zhejiang Taotao (ATV & motorcycles) |- | L5Y || Taizhou Zhongneng Motorcycle Co. Ltd. (Znen) |- | L6F || Shandong Liangzi Power Co. Ltd. |- | L6J || Zhejiang Kayo Motor Co. Ltd. (ATV) |- | L6K || Shanghai Howhit Machinery Manufacture Co. Ltd. |- | L6T || Geely, Lynk & Co, Zeekr |- | L66 || Zhuhai Granton Bus and Coach Co. Ltd. |- | L82 || Baotian |- | L85 || Zhejiang Yongkang Huabao Electric Appliance |- | L8A || Jinhua Youngman Automobile Manufacturing Co., Ltd. |- | L8X || Zhejiang Summit Huawin Motorcycle |- | L8Y || Zhejiang Jonway Motorcycle Manufacturing Co., Ltd. |- | L9G || Zhuhai Guangtong Automobile Co., Ltd. (bus) |- | L9N || Zhejiang Taotao Vehicles Co., Ltd. |- | MAA || India Kawasaki Motors Pvt. Ltd. |- | MAB || Mahindra & Mahindra |- | MAC || Mahindra & Mahindra |- | MAH || Fiat India Automobiles Pvt. Ltd |- | MAJ || [[../Ford/VIN Codes|Ford]] India |- | MAK || [[../Honda/VIN Codes|Honda]] Cars India |- | MAL || Hyundai Motor India |- | MAN || Eicher Polaris Multix |- | MAT || Tata Motors, Rover CityRover |- | MA1 || Mahindra & Mahindra |- | MA3 || Maruti Suzuki India (domestic & export) |- | MA6 || GM India |- | MA7 || Hindustan Motors Ltd. & Mitsubishi Motors & Isuzu models made by Hindustan Motors |- | MA8 || Daewoo Motor India |- | MBF || Royal Enfield |- | MBH || Suzuki (for export) & Nissan Pixo made by Maruti Suzuki India Limited |- | MBJ || [[../Toyota/VIN Codes|Toyota]] Kirloskar Motor Pvt. Ltd. |- | MBK || MAN Trucks India Pvt. Ltd. |- | MBL || Hero MotoCorp |- | MBR || Mercedes-Benz India |- | MBU || Swaraj Vehicles Limited |- | MBV || Premier Automobiles Ltd. |- | MBX || Piaggio India (Piaggio Ape) |- | MBY || Asia Motor Works Ltd. |- | MB1 || Ashok Leyland |- | MB2 || Hyundai Motor India (SUV) |- | MB7 || Reva Electric Car Company/Mahindra Reva Electric Vehicles Pvt. Ltd. |- | MB8 || Suzuki Motorcycle India Limited |- | MCA || FCA India Automobiles Pvt. Ltd. (Fiat, Jeep) |- | MCB || GM India |- | MCD || Mahindra Two Wheelers |- | MCG || Atul Auto Ltd. |- | MCL || International Cars And Motors Ltd. |- | MC1 || Force Motors Ltd. |- | MC2 || Eicher Motors Ltd./Volvo Eicher Commercial Vehicles Ltd. |- | MC4 || Dilip Chhabria Design Pvt Ltd. |- | MC9/RE1 || Reva Electric Car Company (Reva G-Wiz) |- | MDE || Kinetic Engineering Limited |- | MDH || Nissan Motor India Pvt Ltd. (including Datsun) |- | MDT || Kerala Automobiles Limited |- | MD2 || Bajaj Auto Ltd. & KTM and Husqvarna motorcycles built by Bajaj & Indian-market Triumph motorcycles built by Bajaj |- | MD6 || TVS Motor Company |- | MD7 || LML Ltd including Genuine Scooter Company Stella |- | MD9 || Shuttle Cars India |- | MEC || Daimler India Commercial Vehicles (BharatBenz) |- | MEE || Renault India Private Limited |- | MEG || Harley-Davidson India |- | MER || Benelli India |- | MES || Mahindra Navistar |- | MET || Piaggio India (Vespa, Indian-market Aprilia) |- | MEX || Škoda Auto Volkswagen India Pvt. Ltd. 2015 on |- | ME1 || India Yamaha Motor Pvt. Ltd. |- | ME3 || Royal Enfield |- | ME4 || Honda Motorcycle and Scooter India |- | MYH || Ather Energy |- | MZB || Kia India Pvt. Ltd. |- | MZD || Classic Legends Private Limited – Jawa |- | MZZ || Citroen India (PCA Automobiles India Private Limited) |- | MZ7 || MG Motor India Pvt. Ltd. |- | M3G || Isuzu Motors India |- | M6F || UM Lohia Two Wheelers Private Limited |- | ME9/ || BUYMYEV TECHNOLOGY PVT. LTD. (Indibike) |- | MF3 || PT Hyundai Motor Manufacturing Indonesia |- | MHB || PT Nissan Motor Indonesia |- | MHD || PT Indomobil Suzuki International |- | MHF || PT [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Indonesia |- | MHK || PT Astra Daihatsu Motor (includes Toyotas made by Astra Daihatsu) |- | MHL || PT Mercedes-Benz Indonesia |- | MHR || [[../Honda/VIN Codes|Honda]] Indonesia (PT Honda Prospect Motor) (car) |- | MHY || PT Suzuki Indomobil Motor (car, MPV, van) |- | MH1 || PT Astra Honda Motor (motorcycle) |- | MH3 || PT Yamaha Indonesia Motor Mfg. |- | MH4 || PT Kawasaki Motor Indonesia |- | MH8 || PT Suzuki Indomobil Motor (motorcycle) |- | MJB || GM Indonesia |- | MKF || PT Sokonindo Automobile (DFSK) |- | MK2 || PT Mitsubishi Motors Krama Yudha Indonesia |- | MK3 || PT SGMW Motor Indonesia (Wuling) |- | MLB || Siam Yamaha Co Ltd. |- | MLC || Thai Suzuki Motor Co., Ltd. (motorcycle) |- | MLE || Thai Yamaha Motor Co., Ltd. |- | MLH || Thai [[../Honda/VIN Codes|Honda]] Manufacturing Co., Ltd. (motorcycle) |- | MLW || Sco Motor Co., Ltd. (motorcycle) |- | MLY || Harley-Davidson Thailand |- | ML0 || Ducati Motor (Thailand) Co., Ltd. |- | ML3 || Mitsubishi Motors, Dodge Colt 100 [Canada], [[w:Dodge Attitude#Third generation (A10; 2015)|Dodge Attitude]] [Mexico] made by Mitsubishi (Thailand) |- | ML5 || Kawasaki Motors Enterprise Co. Ltd. (Thailand) |- | MMA || Mitsubishi Motors (Thailand) |- | MMB || Mitsubishi Motors (Thailand) |- | MMC || Mitsubishi Motors (Thailand) |- | MMD || Mitsubishi Motors (Thailand) |- | MME || Mitsubishi Motors (Thailand) |- | MMF || BMW Manufacturing (Thailand) Co., Ltd. |- | MML || MG Thailand (SAIC-CP) |- | MMM || Chevrolet Thailand, Holden Colorado RC pickup |- | MMR || Subaru/Tan Chong Subaru Automotive (Thailand) Co. Ltd. |- | MMS || Suzuki Motor (Thailand) Co., Ltd. (passenger car) |- | MMT || Mitsubishi Motors (Thailand) |- | MMU || Holden Thailand (Colorado RG, Colorado 7, & Trailblazer) |- | MM0, MM6, MM7, MM8 || Mazda Thailand (Ford-Mazda AutoAlliance Thailand plant) |- | MNA || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for Australia/New Zealand export |- | MNB || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for other right-hand drive markets |- | MNC || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for left-hand drive markets |- | MNK || Hino Motors Manufacturing Thailand Co Ltd. |- | MNT || Nissan Motor (Thailand) Co., Ltd. |- | MNU || Great Wall Motor Manufacturing (Thailand) Co., Ltd. |- | MN3 || Eagle Vista [Canada] made by Mitsubishi (Thailand) |- | MPA || Isuzu Motors (Thailand) Co., Ltd. & Holden Rodeo RA pickup made by Isuzu in Thailand |- | MPB || [[../Ford/VIN Codes|Ford]] Thailand (Ford Thailand Manufacturing plant) |- | MP1 || Isuzu Motors (Thailand) Co., Ltd. |- | MP2 || Mazda BT-50 pickup built by Isuzu Motors (Thailand) Co., Ltd. |- | MP3 || Plymouth Colt 100 [Canada] made by Mitsubishi (Thailand) |- | MP5 || Foton Motor Thailand |- | MRH || [[../Honda/VIN Codes|Honda]] Thailand (car) |- | MRT || Neta (Hozon Auto) made by Bangchan General Assembly Co., Ltd. |- | MR0 || [[../Toyota/VIN Codes|Toyota]] Thailand (pickups & Fortuner SUV) |- | MR1 || [[../Toyota/VIN Codes|Toyota]] Thailand |- | MR2 || [[../Toyota/VIN Codes|Toyota]] Thailand (Gateway plant) (passenger cars & CUVs) |- | MR3 || [[../Toyota/VIN Codes|Toyota]] Thailand (Hilux Champ chassis cab) |- | MS0 || [[../SUPER SEVEN STARS MOTORS INDUSTRY CO.,LTD/VIN Codes|Super Seven Stars Motors]] Myanmar |- | MS1 || [[../SUPER SEVEN STARS AUTOMOTIVE CO.,LTD/VIN Codes|Super Seven Stars Automotive]] Myanmar |- | MS3 || Suzuki Myanmar Motor Co., Ltd. |- | MXB || Saryarka AvtoProm bus (Kazakhstan) |- | MXL || Yutong bus made by Qaz Tehna (Kazakhstan) |- | MXV || IMZ-Ural Ural Motorcycles (Kazakhstan) |- | MX3 || Hyundai Trans Auto (Kazakhstan) |- | NAA || Iran Khodro (Peugeot Iran) |- | NAC || Mammut (truck trailers) |- | NAD || Škoda |- | NAL || Maral Sanat Jarvid (truck trailers) |- | NAP || Pars Khodro |- | NAS || SAIPA |- | NC0 || Oghab Afshan (bus) |- | NC9/ || VIRA Diesel |- | ND9/345 || Oghab Afshan (bus) |- | NFB || Honda Atlas Cars Pakistan Ltd. |- | NG3 || Lucky Motor Corporation |- | NLA || Honda Turkiye A.S. cars |- | NLC || Askam Kamyon Imalat Ve Ticaret A.S. |- | NLE || Mercedes-Benz Türk A.S. Truck |- | NLF || Koluman Otomotiv Endustri A.S. (truck trailer) |- | NLH || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv car/SUV |- | NLJ || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv van |- | NLN || Karsan |- | NLR || Otokar |- | NLT || Temsa |- | NLZ || Tezeller |- | NL1 || TOGG |- | NL2 || HABAS/HBS (bus) |- | NMA || MAN Türkiye A.Ş. |- | NMB || Mercedes-Benz Türk A.S. Buses |- | NMC || BMC Otomotiv Sanayi ve Ticaret A.Ş. |- | NMH || Honda Anadolu motorcycle |- | NMS || Otoyol San. A.Ş. |- | NMT || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Turkey |- | NM0 || Ford Otosan |- | NM1 || Oyak Renault Otomobil Fabrikaları A.Ş. |- | NM4 || Tofaş (Turk Otomobil Fabrikasi AS) |- | NNA || Anadolu Isuzu |- | NNN || Gépébus Oréos 4X (based on Otokar Vectio) |- | NNY || Yeksan (truck trailer) |- | NPM || Seyit Usta Treyler (truck trailer) |- | NPR || Oztreyler (truck trailer) |- | NPS || Nursan (truck trailer) |- | NP8|| ÖZGÜL TREYLER (truck trailer) |- | NP9/002 || OKT Trailer (truck trailer) |- | NP9/003 || Aksoylu Trailer (truck trailer) |- | NP9/011 || Güleryüz (bus) |- | NP9/021 || Dogumak (truck trailer) |- | NP9/022 || Alim (truck trailer) |- | NP9/042 || Ali Rıza Usta (truck trailer) |- | NP9/066 || Makinsan (truck trailer) |- | NP9/093 || BRF Trailer (truck trailer) |- | NP9/103 || Türkkar (bus) |- | NP9/106 || Çarsan Treyler (truck trailer) |- | NP9/107 || Arbus Perfect (bus) |- | NP9/108 || Guven Makina (truck trailer) |- | NP9/117 || Katmerciler (truck trailer) |- | NP9/300 || TCV (bus) |- | NP9/258 || Ceytrayler (truck trailer) |- | NP9/306 || Cryocan (truck trailer) |- | NRE || Bozankaya |- | NRX || Musoshi |- | NRY || Pilotcar Otomotiv |- | NR9/012 || Doğan Yıldız (truck trailer) |- | NR9/028 || Micansan (truck trailer) |- | NR9/029 || Yilteks (truck trailer) |- | NR9/034 || Akia (bus) |- | NR9/084 || Harsan (truck trailer) |- | NR9/257 || Vega Trailer (truck trailer) |- | NSA || SamAvto / SAZ (Uzbekistan) |- | NS2 || JV MAN Auto - Uzbekistan |- | NVA || Khazar (IKCO Dena made in Azerbaijan) |- | PAB || Isuzu Philippines Corporation |- | PAD || Honda Cars Philippines |- | PE1 || Ford Motor Company Philippines |- | PE3 || Mazda Philippines made by Ford Motor Company Philippines |- | PFD || Hyundai Motor Group Innovation Center in Singapore (HMGICS) |- | PL1 || Proton, Malaysia |- | PL8 || Inokom-Hyundai |- | PLP || Subaru/Tan Chong Motor Assemblies, Malaysia |- | PLZ || Isuzu Malaysia |- | PMA || MAN Truck & Bus Malaysia |- | PMH || Honda Malaysia (car) |- | PMK || Honda Boon Siew (motorcycle) |- | PML || Hicom |- | PMN || Modenas |- | PMS || Suzuki Assemblers Malaysia (motorcycle) |- | PMV || Hong Leong Yamaha Motor Sdn. Bhd. |- | PMY || Hong Leong Yamaha Motor Sdn. Bhd. |- | PM1 || BMW & Mini/Inokom |- | PM2 || Perodua |- | PM9/ || Bufori |- | PNA || Naza/Kia/Peugeot |- | PNA || Stellantis Gurun (Malaysia) Sdn. Bhd. (Peugeot) |- | PNS || SKSBUS Malaysia (bus) |- | PNS || TMSBUS Malaysia (bus) |- | PNV || Volvo Car Manufacturing Malaysia |- | PN1 || UMW Toyota Motor |- | PN2 || UMW Toyota Motor |- | PN8 || Nissan/Tan Chong Motor Assemblies, Malaysia |- | PPP || Suzuki |- | PPV || Volkswagen/HICOM Automotive Manufacturers (Malaysia) |- | PP1 || Mazda/Inokom |- | PP3 || Hyundai/Inokom |- | PRA || Sinotruk |- | PRH || Chery (by Chery Alado Holdings [joint venture] at Oriental Assemblers plant) |- | PRX || Kia/Inokom |- | PR8 || Ford |- | PRN || GAC Trumpchi made by Warisan Tan Chong Automotif Malaysia |- | PV3 || Ford made by RMA Automotive Cambodia |- | RA1 || Steyr Trucks International FZE, UAE |- | RA9/015 || Al-Assri Industries (Trailers), UAE |- | LFA || Ford Lio Ho Motor Co Ltd. old designation (Taiwan) |- | LM1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LM4 || Tai Ling Motor Co Ltd. old designation (Suzuki ATV made by Tai Ling) (Taiwan) |- | LN1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LPR || Yamaha Motor Taiwan Co. Ltd. old designation (Taiwan) |- | RFB || Kwang Yang Motor Co., Ltd. (Kymco), Taiwan |- | RFC || Taiwan Golden Bee |- | RFD || Tai Ling Motor Co Ltd. new designation (Taiwan) |- | RFG || Sanyang Motor Co., Ltd. (SYM) Taiwan |- | RFL || Her Chee Industrial Co., Ltd. (Adly), Taiwan |- | RFT || CPI Motor Company, Taiwan |- | RFV || Motive Power Industry Co., Ltd. (PGO Scooters including Genuine Scooter Company models made by PGO) (Taiwan) |- | RF3 || Aeon Motor Co., Ltd., Taiwan |- | RF5 || Yulon Motor Co. Ltd., Taiwan (Luxgen) |- | RF8 || EVT Technology Co., Ltd (motorcycle) |- | RGS || Kawasaki made by Kymco (Taiwan) |- | RHA || Ford Lio Ho Motor Co Ltd. new designation (Taiwan) |- | RKJ || Prince Motors Taiwan |- | RKL || Kuozui Motors (Toyota) (Taiwan) |- | RKM || China Motor Corporation (Taiwan) |- | RKR || Yamaha Motor Taiwan Co. Ltd. new designation |- | RKT || Access Motor Co., Ltd. (Taiwan) |- | RK3 || E-Ton Power Tech Co., Ltd. (motorcycle) (Taiwan) |- | RK3 || Honda Taiwan |- | RK7 || Kawasaki ATV made by Tai Ling Motor Co Ltd (rebadged Suzuki ATV) new designation (Taiwan) |- | RLA || Vina Star Motors Corp. – Mitsubishi (Vietnam) |- | RLC || Yamaha Motor Vietnam Co. Ltd. |- | RLE || Isuzu Vietnam Co. |- | RLH || Honda Vietnam Co. Ltd. |- | RLL || VinFast SUV |- | RLM || Mercedes-Benz Vietnam |- | RLN || VinFast |- | RLV || Vietnam Precision Industrial CO., Ltd. (Can-Am DS 70 & DS 90) |- | RL0 || Ford Vietnam |- | RL4 || Toyota Motor Vietnam |- | RP8 || Piaggio Vietnam Co. Ltd. |- | RUN || Sollets-Auto ST6 (Russia) |- | R1J || Jiayuan Power (Hong Kong) Ltd. (Electric Low-Speed Vehicles) (Hong Kong) |- | R1N || Niu Technologies Group Ltd. (Hong Kong) |- | R10 || ZAP (HK) Co. Ltd. |- | R19/003 || GMI (bus) (Hong Kong) |- | R2P || Evoke Electric Motorcycles (Hong Kong) |- | R3M || Mangosteen Technology Co., Ltd. (Hong Kong) |- | R36 || HK Shansu Technology Co., Ltd. (Hong Kong) |- | R4N || Elyx Smart Technology Holdings (Hong Kong) Ltd. |- | R82 || Hangzhou Lantu Technology Co., Ltd. (Hong Kong) |- | SAA || Austin |- | SAB || Optare (1985-2020), Switch Mobility (2021-) |- | SAD || Daimler Company Limited (until April 1987) |- | SAD || Jaguar SUV (E-Pace, F-Pace, I-Pace) |- | SAF || ERF trucks |- | SAH || Honda made by Austin Rover Group |- | SAJ || Jaguar passenger car & Daimler passenger car (after April 1987) |- | SAL || [[../Land Rover/VIN Codes|Land Rover]] |- | SAM || Morris |- | SAR || Rover & MG Rover Group |- | SAT || Triumph car |- | SAX || Austin-Rover Group including Sterling Cars |- | SAY || Norton Motorcycles |- | SAZ || Freight Rover |- | SA3 || Ginetta Cars |- | SA9/ || OX Global |- | SA9/A11 || Morgan Roadster (V6) (USA) |- | SA9/J00 || Morgan Aero 8 (USA) |- | SA9/004 || Morgan (4-wheel passenger cars) |- | SA9/005 || Panther |- | SA9/010 || Invicta S1 |- | SA9/011 || Midas Cars |- | SA9/019 || TVR |- | SA9/022 || Triking Sports Cars |- | SA9/026 || Fleur de Lys |- | SA9/038 || DAX Cars |- | SA9/039 || Westfield Sportscars |- | SA9/048 || McLaren F1 |- | SA9/050 || Marcos Engineering |- | SA9/062 || AC Cars (Brooklands Ace) |- | SA9/068 || Johnston Sweepers |- | SA9/073 || Tomita Auto UK (Tommykaira ZZ) |- | SA9/074 || Ascari |- | SA9/088 || Spectre Angel |- | SA9/105 || Mosler Europe Ltd. |- | SA9/113 || Noble |- | SA9/130 || MG Sport and Racing |- | SA9/141 || Wrightbus |- | SA9/202 || Morgan 3-Wheeler, Super 3 |- | SA9/207 || Radical Sportscars |- | SA9/211 || BAC (Briggs Automotive Company Ltd.) |- | SA9/225 || Paneltex (truck trailer) |- | SA9/231 || Peel Engineering |- | SA9/337 || Ariel |- | SA9/341 || Zenos |- | SA9/438 || Charge Cars |- | SA9/458 || Gordon Murray Automotive |- | SA9/474 || Mellor (bus) |- | SA9/612 || Tiger Racing (kit car) |- | SA9/621 || AC Cars (Ace) |- | SBB || Leyland Vehicles |- | SBC || Iveco Ford Truck |- | SBF || Nugent (trailer) |- | SBJ || Leyland Bus |- | SBL || Leyland Motors & Leyland DAF |- | SBM || McLaren |- | SBS || Scammell |- | SBU || United Trailers (truck trailer) |- | SBV || Kenworth & Peterbilt trucks made by Leyland Trucks |- | SBW || Weightlifter Bodies (truck trailer) |- | SB1 || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing UK |- | SCA || Rolls Royce passenger car |- | SCB || Bentley passenger car |- | SCC || Lotus Cars & Opel Lotus Omega/Vauxhall Lotus Carlton |- | SCD || Reliant Motors |- | SCE || DeLorean Motor Cars N. Ireland (UK) |- | SCF || Aston Martin Lagonda Ltd. passenger car & '21 DBX SUV |- | SCG || Triumph Engineering Co. Ltd. (original Triumph Motorcycle company) |- | SCK || Ifor Williams Trailers |- | SCM || Manitowoc Cranes - Grove |- | SCR || London Electric Vehicle Company & London Taxi Company & London Taxis International |- | SCV || Volvo Truck & Bus Scotland |- | SC5 || Wrightbus (from ~2020) |- | SC6 || INEOS Automotive SUV |- | SDB || Talbot |- | SDC || SDC Trailers Ltd. (truck trailer) |- | SDF || Dodge Trucks – UK 1981–1984 |- | SDG || Renault Trucks Industries 1985–1992 |- | SDK || Caterham Cars |- | SDL || TVR |- | SDP || NAC MG UK & MG Motor UK Ltd. |- | SDU || Utility (truck trailer) |- | SD7 || Aston Martin SUV |- | SD8 || Moke International Ltd. |- | SED || IBC Vehicles (General Motors Luton Plant) (Opel/Vauxhall, 1st gen. Holden Frontera, Isuzu Midi) |- | SEG || Dennis Eagle Ltd., including Renault Trucks Access and D Access |- | SEP || Don-Bur (truck trailer) |- | SEY || LDV Group Ltd. |- | SFA || [[../Ford/VIN Codes|Ford]] UK |- | SFD || Dennis UK / Alexander Dennis |- | SFE || Alexander Dennis UK |- | SFR || Fruehauf (truck trailer) |- | SFN || Foden Trucks |- | SFZ || Tesla Roadster made by Lotus |- | SGA || Avondale (caravans) |- | SGB || Bailey (caravans) |- | SGD || Swift Group Ltd. (caravans) |- | SGE || Elddis (caravans) |- | SGL || Lunar Caravans Ltd. |- | SG4 || Coachman (caravans) |- | SHH || [[../Honda/VIN Codes|Honda]] UK passenger car |- | SHS || [[../Honda/VIN Codes|Honda]] UK SUV |- | SH7 || INEOS Automotive truck |- | SJA || Bentley SUV |- | SJB || Brian James Trailers Ltd |- | SJK || Nissan Motor Manufacturing UK - Infiniti |- | SJN || Nissan Motor Manufacturing UK - Nissan |- | SJ1 || Ree Automotive |- | SKA || Vauxhall |- | SKB || Kel-Berg Trailers & Trucks |- | SKF || Bedford Vehicles |- | SKL || Anaig (UK) Technology Ltd |- | SLA || Rolls Royce SUV |- | SLC || Thwaites Dumpers |- | SLG || McMurtry Automotive |- | SLN || Niftylift |- | SLP || JC Bamford Excavators Ltd. |- | SLV || Volvo bus |- | SMR || Montracon (truck trailer) |- | SMT || Triumph Motorcycles Ltd. (current Triumph Motorcycle company) |- | SMW || Cartwright (truck trailer) |- | SMX || Gray & Adams (truck trailer) |- | SNE || Barkas (East Germany) |- | SNE || Wartburg (East Germany) |- | SNT || Trabant (East Germany) |- | SNZ || MZ (motorcycle) (Germany) |- | SPE || B-ON GmbH (Germany) |- | ST3 || Calabrese (truck trailer) |- | SUA || Autosan (bus) |- | SUB || Tramp Trail (trailer) |- | SUC || Wiola (trailer) |- | SUD || Wielton (truck trailers) |- | SUF || FSM/Fiat Auto Poland (Polski Fiat) |- | SUG || Mega Trailers (truck trailer) (Poland) |- | SUJ || Jelcz (Poland) |- | SUL || FSC (Poland) |- | SUM || Novatrail (truck trailers) |- | SUP || FSO/Daewoo-FSO (Poland) |- | SUU || Solaris Bus & Coach (Poland) |- | SU9/AR1 || Emtech (truck trailer) |- | SU9/BU1 || BODEX (truck trailer) |- | SU9/DE2 || Demarco (truck trailer) |- | SU9/EB1 || Elbo (truck trailer) |- | SU9/EZ1 || Enerco (truck trailer) |- | SU9/NC5 || Zasta (truck trailer) |- | SU9/NJ1 || Janmil (truck trailer) |- | SU9/PL1 || Plandex (truck trailer) |- | SU9/PN1 || Solaris Bus & Coach (Poland) - until 2004 |- | SU9/RE1 || Redos (truck trailer) |- | SU9/RE2 || Gromex (trailer) |- | SU9/TR1 || Plavec (truck trailer) |- | SU9/YV1 || Pilea bus/ARP E-Vehicles (Poland) |- | SU9/ZC1 || Wolf (truck trailer) |- | SVH || ZASŁAW (truck trailer) |- | SVM || Inter Cars (truck trailer) |- | SVS || BODEX (truck trailer) |- | SV9/BC2 || BC-LDS (truck trailer) |- | SV9/DR1 || Dromech (truck trailer) |- | SV9/RN1 || Prod-Rent (truck trailer) |- | SWH || Temared (trailers) |- | SWR || Weekend Trailers (trailers) |- | SWV || TA-NO (Poland) |- | SWZ || Zremb (trailers) |- | SW9/BA1 || Solbus |- | SW9/WG3 || Grew / Opalenica (trailer) |- | SXE || Neptun Trailers |- | SXK || Konar (truck trailer) |- | SXM || MELEX Sp. z o.o. |- | SXY || Wecon (truck trailer) |- | SXX || Martz (trailer) |- | SX7 || Arthur Bus |- | SX9/GR0 || GRAS (truck trailer) |- | SX9/KT1 || AMZ - Kutno (bus) |- | SX9/PN1 || Polkon (truck trailer) |- | SX9/SP1 || SOMMER Polska (truck trailer) |- | SYB || Rydwan (trailer) |- | SYG || Gniotpol, GT Trailers Sp. z o. o. (truck trailer) |- | SY1 || Neso Bus (PAK-PCE Polski Autobus Wodorowy) |- | SY9/FR1 || Feber (truck trailer) |- | SY9/PF1 || KEMPF (truck trailer) |- | SZA || Scania Poland |- | SZC || Vectrix (motorcycle) |- | SZL || Boro Trailers |- | SZN || Przyczepy Głowacz (trailer) |- | SZR || Niewiadów (trailer) |- | SZ9/AE6 || Gewe (trailer) |- | SZ9/BG1 || GALA Syriusz (trailer) |- | SZ9/PW1 || PRO-WAM (truck trailer) |- | SZ9/TU1 || Ovibos (truck trailer) |- | S19/AM0 || AMO Plant (bus) (Latvia) |- | S19/EF1 || Electrify (minibus) (Latvia) |- | S19/MT0 || Mono-Transserviss (truck trailer) (Latvia) |- | TAW || NAW Nutzfahrzeuggesellschaft Arbon & Wetzikon AG (Switzerland) |- | TBS || Boschung AG (Switzerland) |- | TCC || Micro Compact Car AG (smart 1998-1999) (Switzerland) |- | TDM || QUANTYA Swiss Electric Movement (Switzerland) |- | TEB || Bucher Municipal AG (includes Johnston Sweepers) (Switzerland) |- | TEM || Twike (SwissLEM AG) (Switzerland) |- | TFH || FHS Frech-Hoch AG (truck trailer) (Switzerland) |- | TH9/512 || Hess AG (bus, trolleybus) (Switzerland) |- | TJ5 || Vezeko (trailer) (Czech Republic) |- | TKP || Panav a.s. (truck trailer) (Czech Republic) |- | TKX || Agados s.r.o. (trailer) (Czech Republic) |- | TKY || Metaco (truck trailer) (Czech Republic) |- | TK9/AH3 || Atmos Chrást s.r.o. (Czech Republic) |- | TK9/AP3 || Agados, spol. s.r.o. (trailer) (Czech Republic) |- | TK9/HP1 || Hipocar (truck trailer) (Czech Republic) |- | TK9/PP7 || Paragan Trucks (truck trailer) (Czech Republic) |- | TK9/SL5 || SOR Libchavy buses (Czech Republic) |- | TK9/SS5 || SVAN Chrudim (truck trailer) (Czech Republic) |- | TLJ || Jawa Moto (Czech Republic) |- | TMA || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech |- | TMB || Škoda Auto|Škoda (Czech Republic) |- | TMC || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech (SUV) |- | TMK || Karosa (Czech Republic) |- | TMP || Škoda trolleybuses (Czech Republic) |- | TMT || Tatra passenger car (Czech Republic) |- | TM9/CA2 || Oasa bus (Oprava a stavba automobilů) (Czech Republic) |- | TM9/SE3 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/SE4 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/TE6 || TEDOM bus (Czech Republic) |- | TNA || Avia/Daewoo Avia |- | TNE || TAZ |- | TNG || LIAZ (Liberecké Automobilové Závody) |- | TNT || Tatra trucks |- | TNU || Tatra trucks |- | TN9/EE7 || Ekova (bus) (Czech Republic) |- | TN9/VP5 || VPS (truck trailer) |- | TRA || Ikarus Bus |- | TRC || Csepel bus |- | TRE || Rákos bus |- | TRK || Credo bus/Kravtex (Hungary) |- | TRR || Rába Bus (Hungary) |- | TRU || Audi Hungary (TT/TTS) |- | TSB || Ikarus Bus |- | TSC || VIN assigned by the National Transport Authority of Hungary |- | TSE || Ikarus Egyedi Autobuszgyar (EAG) (Hungary) |- | TSF || Alfabusz (Hungary) |- | TSM || Suzuki Hungary (Magyar Suzuki),<br> Fiat Sedici made by Suzuki, Subaru Justy G3X made by Suzuki, Suzuki Swace made by Toyota UK (TMUK) |- | TSY || Keeway Motorcycles (Hungary) |- | TS9/111 || NABI Autóbuszipari (bus) (Hungary) |- | TS9/130 || Enterprise Bus (Hungary) |- | TS9/131 || MJT bus (Hungary) |- | TS9/156 || Ikarus / ARC (Auto Rad Controlle Kft.) bus (Hungary) |- | TS9/167 || Hungarian Bus Kft. (Hungary) |- | TS9/170 || Csaba Metál bus (Hungary) |- | TT9/117 || Ikarus Egyedi Autobusz Gyarto Kft. / Magyar Autóbuszgyártó Kft. / MABI (Hungary) |- | TT9/123 || Ikarus Global Zrt. (Hungary) |- | TWG || CaetanoBus (Portugal) |- | TW0 || CaetanoBus (Portugal) |- | TW1 || Toyota Caetano Portugal, S.A. (Toyota Coaster, Dyna, Optimo, Land Cruiser 70 Series) |- | TW2 || [[../Ford/VIN Codes|Ford]] Lusitana (Portugal) |- | TW4 || UMM (Portugal) |- | TW6 || Citroën (Portugal) |- | TW7 || Mini Moke made by British Leyland & Austin Rover Portugal |- | TX5 || Mini Moke made by Cagiva (Moke Automobili) |- | TX9/046 || Riotrailer (truck trailer) (Portugal) |- | TYA || Mitsubishi Fuso Truck and Bus Corp. Portugal (right-hand drive) |- | TYB || Mitsubishi Fuso Truck and Bus Corp. Portugal (left-hand drive) |- | T3C || Lohr Backa Topola (truck trailer) (Serbia) |- | T49/BG7 || FAP (Serbia) |- | T49/BH8 || Megabus (bus) (Serbia) |- | T49/BM2 || Feniksbus (minibus) (Serbia) |- | T49/V16 || MAZ made by BIK (bus) (Serbia) |- | T7A || Ebusco (Netherlands) |- | UA1 || AUSA Center (Spain) |- | UA4 || Irizar e-mobility (Spain) |- | UCY || Silence Urban Ecomobility (Spain) |- | UD3 || Granalu truck trailers (Belgium) |- | UHE || Scanvogn (trailer) (Denmark) |- | UHL || Camp-let (recreational vehicle) (Denmark) |- | UH2 || Brenderup (trailer) (Denmark) |- | UH2 || De Forenede Trailerfabrikke (trailer) (Denmark) |- | UH9/DA3 || DAB - Danish Automobile Building (acquired by Scania) (Denmark) |- | UH9/FK1 || Dapa Trailer (truck trailer) (Denmark) |- | UH9/HF1 || HFR Trailer A/S (truck trailer) (Denmark) |- | UH9/HM1 || HMK Bilcon A/S (truck trailer) (Denmark) |- | UH9/NS1 || Nopa (truck trailer) (Denmark) |- | UH9/NT1 || Nordic Trailer (truck trailer) (Denmark) |- | UH9/VM2 || VM Tarm a/s (truck trailer) (Denmark) |- | UJG || Garia ApS - Club Car (Denmark) |- | UKR || Hero Camper (Denmark) |- | UMT || MTDK a/s (truck trailer) (Denmark) |- | UN1 || [[../Ford/VIN Codes|Ford]] Ireland |- | UN9/089 || Brian Noone Ltd. bus (Ireland) |- | UU1 || Dacia (Romania) |- | UU2 || Oltcit |- | UU3 || ARO |- | UU4 || Roman/Grivbuz |- | UU5 || Rocar |- | UU6 || Daewoo Romania |- | UU7 || Euro Bus Diamond |- | UU9 || Astra Bus |- | UVW || UMM (truck trailer) |- | UV9/AT1 || ATP Trucks, ATP Bus |- | UWR || Robus Reșița |- | UZT || UTB (Uzina de Tractoare Brașov) |- | U1A || Sanos (North Macedonia) |- | U1V || VDL Van Hool Macedonia (North Macedonia) |- | U5Y || Kia Motors Slovakia |- | U59/AS0 || ASKO (truck trailer) |- | U6A || Granus (bus) (Slovakia) |- | U6Y || Kia Motors Slovakia |- | U69/NL1 || Novoplan (bus) (Slovakia) |- | U69/SB1 || SlovBus (bus) |- | U69/TR8 || Troliga Bus (Slovakia) |- | VAG || Steyr-Daimler-Puch Puch G & Steyr-Puch Pinzgauer |- | VAH || Hangler (truck trailer) |- | VAK || Kässbohrer Transport Technik |- | VAN || MAN Austria/Steyr-Daimler-Puch Steyr Trucks |- | VAV || Schwarzmüller |- | VAX || Schwingenschlogel (truck trailer) |- | VA0 || ÖAF, Gräf & Stift |- | VA4 || KSR Group (motorcycle) |- | VA9/GS0 || Gsodam Fahrzeugbau (truck trailer) |- | VA9/ZT0 || Berger Fahrzeugtechnik (truck trailer) |- | VBF || Fit-Zel (trailer) |- | VBK || KTM |- | VBK || Husqvarna Motorcycles & Gas Gas under KTM ownership |- | VCF || Fisker Inc. (Fisker Ocean) made by Magna Steyr |- | VFA || Alpine, Renault Alpine GTA |- | VFG || Caravelair (caravans) |- | VFK || Fruehauf (truck trailers) |- | VFN || Trailor, General Trailers (truck trailers) |- | VF1 || Renault, Mobilize Duo, Eagle Medallion made by Renault, Opel/Vauxhall Arena made by Renault,<br> Mitsubishi ASX, Colt, & Grandis made by Renault |- | VF2 || Renault Trucks |- | VF3 || Peugeot |- | VF4 || Talbot |- | VF5 || Iveco Unic |- | VF6 || Renault Trucks including vans made by Renault S.A. |- | VF7 || Citroën |- | VF8 || Matra Automobiles (Talbot-Matra Murena, Rancho made by Matra, Renault Espace I/II/III, Avantime made by Matra) |- | VF9/024 || Legras Industries (truck trailer) |- | VF9/049 || G. Magyar (truck trailer) |- | VF9/063 || Maisonneuve (truck trailer) |- | VF9/132 || Jean CHEREAU S.A.S. (truck trailer) |- | VF9/300 || EvoBus France |- | VF9/435 || Merceron (truck trailer) |- | VF9/519 || Hommell |- | VF9/607 || Mathieu (sweeper) |- | VF9/673 || Venturi Automobiles |- | VF9/795 || [[../Bugatti/VIN Codes|Bugatti Automobiles S.A.S.]] |- | VF9/848 || G. Magyar (truck trailer) |- | VF9/880 || Bolloré Bluebus |- | VF9/938 || SAFRA (bus) |- | VGA || Peugeot Motocycles |- | VGT || ASCA (truck trailers) |- | VGU || Trouillet (truck trailers) |- | VGW || BSLT (truck trailers) |- | VGX || Coder (truck trailers) |- | VGY || Lohr (truck trailers) |- | VG5 || MBK (motorcycles) & Yamaha Motor |- | VG6 || Renault Trucks & Mack Trucks medium duty trucks made by Renault Trucks |- | VG7 || Renault Trucks |- | VG8 || Renault Trucks |- | VG9/019 || Naya (autonomous vehicle) |- | VG9/061 || Alstom-NTL Aptis (bus) |- | VHR || Robuste (truck trailer) |- | VHX || Manitowoc Cranes - Potain |- | VH1 || Benalu SAS (truck trailer) |- | VH8 || Microcar |- | VJR || Ligier |- | VJY || Gruau |- | VJ1 || Heuliez Bus |- | VJ2 || Mia Electric |- | VJ4 || Gruau |- | VKD || Cheval Liberté (horse trailer) |- | VK1 || SEG (truck trailer) |- | VK2 || Grandin Automobiles |- | VK8 || Venturi Automobiles |- | VLG || Aixam-Mega |- | VLU || Scania France |- | VL4 || Bluecar, Citroen E-Mehari |- | VMK || Renault Sport Spider |- | VMS || Automobiles Chatenet |- | VMT || SECMA |- | VMW || Gépébus Oréos 55 |- | VM3 || Lamberet (trailer) |- | VM3 || Chereau (truck trailer) |- | VN1 || Renault SOVAB (France), Opel/Vauxhall Movano A made at SOVAB |- | VN4 || Voxan |- | VNE || Iveco Bus/Irisbus (France) |- | VNK || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing France & '11-'13 Daihatsu Charade (XP90) made by TMMF |- | VNV || Nissan made in France by Renault |- | VRW || Goupil |- | VR1 || DS Automobiles |- | VR3 || Peugeot (under Stellantis) |- | VR7 || Citroën (under Stellantis) |- | VPL || Nosmoke S.A.S |- | VP3 || G. Magyar (truck trailers) |- | VXE || Opel Automobile Gmbh/Vauxhall van |- | VXF || Fiat van (Fiat Scudo, Ulysse '22-) |- | VXK || Opel Automobile Gmbh/Vauxhall car/SUV |- | VYC || Lancia Ypsilon (4th gen.) |- | VYE || Jeep Compass (3rd gen. - EU market '26-) |- | VYF || Fiat Doblo '23- & Fiat Topolino '23- & Fiat Grande Panda '25- |- | VYJ || Ram 1200 '25- (sold in Mexico) |- | VYS || Renault & Alpine made by Ampere (Renault 5 E-Tech, Renault 4 E-Tech, Alpine A290) |- | VZ2 || Avtomontaža (bus) (Slovenia) |- | UA2 || Iveco Massif & Campagnola made by Santana Motors in Spain |- | VSA || Mercedes-Benz Spain |- | VSC || Talbot |- | VSE || Santana Motors (Land Rover Series-based models) & Suzuki SJ/Samurai, Jimny, & Vitara made by Santana Motors in Spain |- | VSF || Santana Motors (Anibal/PS-10, 300/350) |- | VSK || Nissan Motor Iberica SA, Nissan passenger car/MPV/van/SUV/pickup & Ford Maverick 1993–1999 |- | VSR || Leciñena (truck trailers) |- | VSS || SEAT/Cupra |- | VSX || Opel Spain |- | VSY || Renault V.I. Spain (bus) |- | VS1 || Pegaso |- | VS5 || Renault Spain |- | VS6 || [[../Ford/VIN Codes|Ford]] Spain |- | VS7 || Citroën Spain |- | VS8 || Peugeot Spain |- | VS9/001 || Setra Seida (Spain) |- | VS9/011 || Advanced Design Tramontana |- | VS9/013 || Mirofret (truck trailer) (Spain) |- | VS9/016 || Irizar bus (Spain) |- | VS9/019 || Cobos Hermanos (truck trailer) (Spain) |- | VS9/031 || Carrocerias Ayats (Spain) |- | VS9/032 || Parcisa (truck trailer) (Spain) |- | VS9/044 || Beulas bus (Spain) (Spain) |- | VS9/047 || Indox (truck trailers) (Spain) |- | VS9/052 || Montull (truck trailer) (Spain) |- | VS9/057 || SOR Ibérica (truck trailers) (Spain) |- | VS9/072 || Mecanicas Silva (truck trailer) (Spain) |- | VS9/098 || Sunsundegui bus (Spain) |- | VS9/172 || EvoBus Iberica |- | VS9/917 || Nogebus (Spain) |- | VTD || Montesa Honda (Honda Montesa motorcycle models) |- | VTH || Derbi (motorcycles) |- | VTL || Yamaha Spain (motorcycles) |- | VTM || Montesa Honda (Honda motorcycle models) |- | VTP || Rieju S.A. (motorcycles) |- | VTR || Gas Gas |- | VTT || Suzuki Spain (motorcycles) |- | VVC || SOR Ibérica (truck trailers) |- | VVG || Tisvol (truck trailers) |- | VV1 || Lecitrailer Group (truck trailers) |- | VV5 || Prim-Ball (truck trailers) |- | VV9/ || [[wikipedia:Tauro Sport Auto|TAURO]] Sport Auto Spain |- | VV9/010 || Castrosúa bus (Spain) |- | VV9/125 || Indetruck (truck trailers) |- | VV9/130 || Vectia Mobility bus (Spain) |- | VV9/130 || UNVI bus (Spain) |- | VV9/359|| Hispano-Suiza |- | VWA || Nissan Vehiculos Industriales SA, Nissan Commercial Vehicles |- | VWF || Guillén Group (truck trailers) |- | VWL || Indox (truck trailers) |- | VWV || Volkswagen Spain |- | VXY || Neobus a.d. (Serbia) |- | VX1 || [[w:Zastava Automobiles|Zastava Automobiles]] / [[w:Yugo|Yugo]] (Yugoslavia/Serbia) |- | V1Y || FAS Sanos bus (Yugoslavia/North Macedonia) |- | V2X || Ikarbus a.d. (Serbia) |- | V31 || Tvornica Autobusa Zagreb (TAZ) (Croatia) |- | V34 || Crobus bus (Croatia) |- | V39/AB8 || Rimac Automobili (Croatia) |- | V39/CB3 || Eurobus (Croatia) |- | V39/WB4 || Rasco (machinery) (Croatia) |- | V6A || Bestnet AS; Tiki trailers (Estonia) |- | V6B || Brentex-Trailer (Estonia) |- | V6T || Verge Motorcycles (Estonia) |- | V61 || Respo Trailers (Estonia) |- | WAC || Audi/Porsche RS2 Avant |- | WAF || Ackermann (truck trailer) |- | WAG || Neoplan |- | WAP || Alpina |- | WAU || Audi car |- | WA1 || Audi SUV |- | WBA || BMW car |- | WBC || Boom Trikes |- | WBJ || Bitter Cars |- | WBK || Böcker Maschinenwerke GmbH |- | WBL || Blumhardt (truck trailers) |- | WBS || BMW M car |- | WBU || Bürstner (caravans) |- | WBX || BMW SUV |- | WBY || BMW i car |- | WB0 || Böckmann Fahrzeugwerke GmbH (trailers) |- | WB1 || BMW Motorrad |- | WB2 || Blyss (trailer) |- | WB3 || BMW Motorrad Motorcycles made in India by TVS |- | WB4 || BMW Motorrad Motorscooters made in China by Loncin |- | WB5 || BMW i SUV |- | WCD || Freightliner Sprinter "bus" (van with more than 3 rows of seats) 2008–2019 |- | WCM || Wilcox (truck trailer) |- | WDA || Mercedes-Benz incomplete vehicle (North America) |- | WDB || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] & Maybach |- | WDC || Mercedes-Benz SUV |- | WDD || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] car |- | WDF || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] van/pickup (French & Spanish built models – Citan & Vito & X-Class) |- | WDP || Freightliner Sprinter incomplete vehicle 2005–2019 |- | WDR || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) 2005–2019 |- | WDT || Dethleffs (caravans) |- | WDW || Dodge Sprinter "bus" (van with more than 3 rows of seats) 2008–2009 |- | WDX || Dodge Sprinter incomplete vehicle 2005–2009 |- | WDY || Freightliner Sprinter truck (cargo van with 1 row of seats) 2005–2019 |- | WDZ || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | WD0 || Dodge Sprinter truck (cargo van with 1 row of seats) 2005–2009 |- | WD1 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 incomplete vehicle |- | WD2 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 truck (cargo van with 1 row of seats) |- | WD3 || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | WD4 || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | WD5 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 MPV (van with 2 or 3 rows of seats) |- | WD6 || Freightliner Unimog truck |- | WD7 || Freightliner Unimog incomplete vehicle |- | WD8 || Dodge Sprinter MPV (van with 2 or 3 rows of seats) 2005–2009 |- | WEB || Evobus GmbH (Mercedes-Benz buses) |- | WEG || Ablinger (trailer) |- | WEL || e.GO Mobile AG |- | WFB || Feldbinder Spezialfahrzeugwerke GmbH |- | WFC || Fendt (caravans) |- | WFD || Fliegl Trailer |- | WFN || Tadano Faun GmbH |- | WF0 || [[../Ford/VIN Codes|Ford]] Germany |- | WF1 || Merkur |- | WGB || Göppel Bus GmbH |- | WG0 || Goldhofer AG (truck trailer) |- | WHB || Hobby (recreational vehicles) |- | WHD || Humbaur GmbH (truck trailer) |- | WHL || Hulco (trailer) |- | WHW || Hako GmbH |- | WHY || Hymer (recreational vehicles) |- | WH7 || Hüfferman (truck trailer) |- | WJM || Iveco/Iveco Magirus |- | WJR || Irmscher |- | WKE || Krone (truck trailers) |- | WKK || Setra (Evobus GmbH; formerly Kässbohrer) |- | WKN || Knaus, Weinsberg (caravans) |- | WKV || Kässbohrer Fahrzeugwerke Gmbh (truck trailers) |- | WK0 || Kögel (truck trailers) |- | WLA || Langendorf semi-trailers |- | WLF || Liebherr (mobile crane) |- | WMA || MAN Truck & Bus |- | WME || smart (from 5/99) |- | WMG || Demag Cranes |- | WMM || Karl Müller GmbH & Co. KG (truck trailers) |- | WMP || M & V GmbH (truck trailers) |- | WMU || Hako GmbH (Multicar) |- | WMW || MINI car |- | WMX || Mercedes-AMG used for Mercedes-Benz SLS AMG & Mercedes-AMG GT & Mercedes-AMG One (not used in North America) |- | WMZ || MINI SUV |- | WNA || Next.e.GO Mobile SE |- | WP0 || Porsche car |- | WP1 || Porsche SUV |- | WRA || Renders (truck trailers) |- | WRJ || Riese & Müller (bicycle) |- | WSE || STEMA Metalleichtbau GmbH (trailers) |- | WSJ || STERK Trailers (truck trailers) |- | WSK || Schmitz-Cargobull Gotha (truck trailers) |- | WSM || Schmitz-Cargobull (truck trailers) |- | WSP || Spitzer (truck trailers) |- | WSV || Aebi Schmidt Group |- | WS5 || StreetScooter |- | WS7 || Sono Motors |- | WTA || Tabbert (caravans) |- | WUA || Audi Sport GmbH (formerly quattro GmbH) car |- | WU1 || Audi Sport GmbH (formerly quattro GmbH) SUV |- | WVG || Volkswagen SUV & Touran |- | WVM || Arbeitsgemeinschaft VW-MAN |- | WVP || Viseon Bus |- | WVW || Volkswagen passenger car, Sharan, Golf Plus, Golf Sportsvan |- | WV1 || Volkswagen Commercial Vehicles (cargo van or 1st gen. Amarok) |- | WV2 || Volkswagen Commercial Vehicles (passenger van or minibus) |- | WV3 || Volkswagen Commercial Vehicles (chassis cab) |- | WV4 || Volkswagen Commercial Vehicles (2nd gen. Amarok & T7 Transporter made by Ford) |- | WV5 || Volkswagen Commercial Vehicles (T7 Caravelle made by Ford) |- | WWA || Wachenhut (truck trailer) |- | WWC || WM Meyer (truck trailer) |- | WZ1 || Toyota Supra (Fifth generation for North America) |- | W0D || Obermaier (truck trailer) |- | W0L || Adam Opel AG/Vauxhall & Holden |- | W0L || Holden Zafira & Subaru Traviq made by GM Thailand |- | W0V || Opel Automobile Gmbh/Vauxhall & Holden (since 2017) |- | W04 || Buick Regal & Buick Cascada |- | W06 || Cadillac Catera |- | W08 || Saturn Astra |- | W09/A55 || Artega Automobile |- | W09/A71 || Apollo |- | W09/B09 || Bitter Cars |- | W09/B16 || Brabus |- | W09/B48 || Bultmann (trailer) |- | W09/B91 || Boerner (truck trailer) |- | W09/C09 || Carnehl Fahrzeugbau (truck trailer) |- | W09/D04 || DOLL (truck trailer) |- | W09/D05 || Drögmöller (bus) |- | W09/D17 || Dinkel (truck trailer) |- | W09/E04 || Eder (trailer) |- | W09/E27 || Esterer (truck trailer) |- | W09/E32 || ES-GE (truck trailer) |- | W09/E45 || Eurotank (truck trailer) |- | W09/F46 || FSN Fahrzeugbau (truck trailer) |- | W09/F57 || Twike |- | W09/G10 || GOFA (truck trailer) |- | W09/G64 || Gumpert |- | W09/H10 || Heitling Fahrzeugbau |- | W09/H21|| Dietrich Hisle GmbH (truck trailer) |- | W09/H46 || Hendricks (truck trailer) |- | W09/H49 || H&W Nutzfahrzeugtechnik GmbH (truck trailer) |- | W09/J02 || Isdera |- | W09/K27 || Krupp |- | W09/K27 || Kotschenreuther (truck trailer) |- | W09/L05 || Liebherr |- | W09/L06 || LMC Caravan (recreational vehicles) |- | W09/M08 || MEILLER Kipper (truck trailer) |- | W09/M09 || Meierling (truck trailer) |- | W09/M29 || MAFA (truck trailer) |- | W09/M40 || Franz Mersch (trailer) |- | W09/M79 || MKF Matallbau (truck trailer) |- | W09/N22 || NFP-Eurotrailer (truck trailer) |- | W09/P13 || Pagenkopf (truck trailer) |- | W09/P72 || De Tomaso Automobili (Capricorn) |- | W09/R06 || RUF |- | W09/R14 || Rancke (truck trailer) |- | W09/R27 || Gebr. Recker Fahrzeugbau (truck trailer) |- | W09/R30 || Reisch (truck trailer) |- | W09/R38 || Rewaco |- | W09/SG0 || Sileo (bus) |- | W09/SG1 || SEKA (truck trailer) |- | W09/S24 || Sommer (truck trailer) |- | W09/S25 || Spermann (truck trailer) |- | W09/S27 || Schröder (truck trailer) |- | W09/W11 || Wilken (truck trailer) |- | W09/W14 || Weka (truck trailer) |- | W09/W16 || Wellmeyer (truck trailer) |- | W09/W20 || Kurt Willig GmbH & Co. KG (truck trailer) |- | W09/W29 || Wiese (truck trailer) |- | W09/W35 || Wecon GmbH (truck trailer) |- | W09/W46 || WT-Metall (trailer) |- | W09/W59 || Wiesmann |- | W09/W70 || Wüllhorst (truck trailer) |- | W09/W86 || Web Trailer GmbH (truck trailer) |- | W09/004 || ORTEN Fahrzeugbau (truck trailer) |- | W1A || smart |- | W1H || Freightliner Econic |- | W1K || Mercedes-Benz car |- | W1N || Mercedes-Benz SUV |- | W1T || Mercedes-Benz truck |- | W1V || Mercedes-Benz van |- | W1W || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | W1X || Mercedes-Benz incomplete vehicle (North America) |- | W1Y || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | W1Z || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | W2W || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) |- | W2X || Freightliner Sprinter incomplete vehicle |- | W2Y || Freightliner Sprinter truck (cargo van with 1 row of seats) |- | W2Z || Freightliner Sprinter "bus" (van with more than 3 rows of seats) |- | XDN || Mercedes Sprinter Classic made by GAZ (Russia) |- | XD2 || CTTM Cargoline (truck trailer) (Russia) |- | XEA || AmberAvto (Avtotor) (Russia) |- | XE2 || AMKAR Automaster (truck trailer) (Russia) |- | XF9/B24 || NK Trailers (truck trailer) (Greece) |- | XF9/D44 || Militsis (trailer) (Greece) |- | XF9/J03 || Christos Nezis (truck trailer) (Greece) |- | XF9/J63 || Kaoussis (truck trailer) (Greece) |- | XG3 || Petros Petropoulos Group - Ecoshift NOOS electric motorscooters (Greece) |- | XG4|| Mpitis (trailer) (Greece) |- | XG5 || Stavropoulos trailers (Greece) |- | XG6 || MGK Hellenic Motor motorcycles (Greece) |- | XG8 || Gorgolis SA motorcycles (Greece) |- | XG9/B01 || Sfakianakis bus Greece |- | XG9/H33 || Rappas Trailer (Greece) |- | XG9/H51 || Eurotrailer Tourlakopoulos (trailer) (Greece) |- | XG9/H92 || Diamantis N. & Co. (trailer) (Greece) |- | XΗ9/B21 || Hellenic Vehicle Industry - ELVO bus Greece |- | XH9/H08 || Poseidonas Litsakis (trailer) (Greece) |- | XH9/H34 || Flexi-Wheels (trailer) (Greece) |- | XJY || Bonum (truck trailer) (Russia) |- | XJ4 || PKTS (PK Transportnye Sistemy) bus (Russia) |- | XKM || Volgabus (Russia) |- | XLA || DAF Bus International |- | XLB || Volvo Car B.V./NedCar B.V. (Volvo Cars) |- | XLC || [[../Ford/VIN Codes|Ford]] Netherlands |- | XLD || Pacton Trailers B.V. |- | XLE || Scania Netherlands |- | XLH || Hapert (trailer) |- | XLJ || Anssems (trailer) |- | XLK || Burg Trailer Service BV (truck trailer) |- | XLR || DAF Trucks & Leyland DAF |- | XLU || Henra (trailer) |- | XLV || DAF Bus |- | XLW || Terberg Benschop BV |- | XL3 || Ebusco |- | XL4 ||Lightyear |- | XL9/001 || ESVE BV (truck trailers) |- | XL9/002 || Jumbo Groenewegen (truck trailers) |- | XL9/003 || Autobusfabriek Bova BV |- | XL9/004 || G.S. Meppel (truck trailers) |- | XL9/007|| Broshuis BV (truck trailer) |- | XL9/010|| Ginaf Trucks |- | XL9/014 || Contar (truck trailer) |- | XL9/017 || Van Eck (truck trailer) |- | XL9/021 || Donkervoort Cars |- | XL9/033 || Wijer (trailer) |- | XL9/039 || Talson (truck trailer) |- | XL9/042 || Den Oudsten Bussen |- | XL9/052 || Witteveen (trailer) |- | XL9/055 || Fripaan (truck trailer) |- | XL9/067 || HTF (truck trailer) |- | XL9/068 || Vogelzang (truck trailer) |- | XL9/069 || Kraker (truck trailer) |- | XL9/070 || Veldhuizen (truck trailers) |- | XL9/073 || Zwalve (truck trailers) |- | XL9/074 || Draco (truck trailers) |- | XL9/081 || EBO van Weel (truck trailers) |- | XL9/084 || Vocol (truck trailers) |- | XL9/089 || Meijvo (trailers) |- | XL9/092 || Bulthuis (truck trailers) |- | XL9/103 || D-TEC (truck trailers) |- | XL9/109|| Groenewold Carrosseriefabriek B.V. (car transporter) |- | XL9/150 || Univan (truck trailer) |- | XL9/251 || Spierings Mobile Cranes |- | XL9/320 || VDL Bova bus |- | XL9/348 || HOKA (trailer) |- | XL9/355 || Berdex (truck trailer) |- | XL9/363 || Spyker |- | XL9/423 || Tijhof (trailer) |- | XL9/461 || BK Market Trailers (trailer) |- | XL9/495 || BE-Combi (truck trailer) |- | XL9/508 || Talson (truck trailer) |- | XL9/527 || GINAF |- | XL9/530 || Ebusco |- | XL9/611 || Zocon (trailer) |- | XMC || NedCar B.V. Mitsubishi Motors (LHD) |- | XMD || NedCar B.V. Mitsubishi Motors (RHD) |- | XMG || VDL Bus International |- | XMR || Nooteboom Trailers |- | XM4 || RAVO Holding B.V. (sweeper) |- | XNB || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - RHD) |- | XNC || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - LHD) |- | XNJ || Broshuis (truck trailer) |- | XNL || VDL Bus & Coach |- | XNT || Pacton Trailers B.V. (truck trailer) |- | XN1 || Kraker Trailers Axel B.V. (truck trailer) |- | XPN || Knapen Trailers |- | XPP || Atec Trailers |- | XP7 || Tesla Europe (based in the Netherlands) (Gigafactory Berlin-Brandenburg) |- | XRP || Proline (trailer) |- | XRY || D-TEC (truck trailer) |- | XR7 || Qarry |- | XTA || Lada / AvtoVAZ (Russia) |- | XTB || Moskvitch / AZLK (Russia) |- | XTC || KAMAZ (Russia) |- | XTD || LuAZ (Ukraine) |- | XTE || ZAZ (Ukraine) |- | XTF || GolAZ (Russia) |- | XTH || GAZ (Russia) |- | XTJ || Lada Oka made by SeAZ (Russia) |- | XTK || IzhAvto (Russia) |- | XTM || MAZ (Belarus); used until 1997 |- | XTP || Ural (Russia) |- | XTS || ChMZAP (truck trailer) |- | XTT || UAZ / Sollers (Russia) |- | XTU || Trolza, previously ZiU (Russia) |- | XTW || LAZ (Ukraine) |- | XTY || LiAZ (Russia) |- | XTZ || ZiL (Russia) |- | XUF || General Motors Russia |- | XUS || Nizhegorodets (minibus) (Russia) |- | XUU || Avtotor (Russia, Chevrolet SKD, Kaiyi Auto) |- | XUV || Avtotor (DFSK, SWM) |- | XUZ || InterPipeVAN (truck trailer) |- | XU6 || Avtodom (minibus) (Russia) |- | XVG || MARZ (bus) (Russia) |- | XVU || Start (truck trailer) |- | XW7 || Toyota Motor Manufacturing Russia |- | XW8 || Volkswagen Group Russia |- | XWB || UZ-Daewoo/GM Uzbekistan/Ravon/UzAuto Motors (Uzbekistan) |- | XWB || Avtotor (Russia, BAIC SKD) |- | XWE || Avtotor (Russia, Hyundai-Kia SKD) |- | XWF || Avtotor (Russia, Chevrolet Tahoe/Opel/Cadillac/Hummer SKD) |- | XX3 || Ujet Manufacturing (Luxembourg) |- | XZB || SIMAZ (bus) (Russia) |- | XZE || Specpricep (truck trailer) |- | XZG || Great Wall Motor (Haval Motor Rus) |- | XZP || Gut Trailer (truck trailer) |- | XZT || FoxBus (minibus) (Russia) |- | X1D || RAF (Rīgas Autobusu Fabrika) |- | X1E || KAvZ (Russia) |- | X1F || NefAZ (Russia) |- | X1M || PAZ (Russia) |- | X1P || Ural (Russia) |- | X2L || Fox Trailer (truck trailer) (Russia) |- | X21 || Diesel-S (truck trailer) (Russia) |- | X4K || Volgabus (Volzhanin) (Russia) |- | X4T || Sommer (truck trailer) (Russia) |- | X4X || Avtotor (Russia, BMW SKD) |- | X5A || UralSpetzTrans (trailer) (Russia) |- | X6D || VIS-AVTO (Russia) |- | X6S || TZA (truck trailer) (Russia) |- | X7L || Renault AvtoFramos (1998-2014), Renault Russia (2014-2022), Moskvitch (2022-) (Russia) |- | X7M || [[../Hyundai/VIN Codes|Hyundai]] & Vortex (rebadged Chery) made by TagAZ (Russia) |- | X89/AD4 || ВМЗ (VMZ) bus |- | X89/BF8 || Rosvan bus |- | X89/CU2 || EvoBus Russland (bus) |- | X89/DJ2 || VMK (bus) |- | X89/EY4 || Brabill (minibus) |- | X89/FF6 || Lotos (bus) |- | X89/FY1 || Sherp |- | X8J || IMZ-Ural Ural Motorcycles |- | X8U || Scania Russia |- | X9F || Ford Motor Company ZAO |- | X9L || GM-AvtoVAZ |- | X9N || Samoltor (minibus) |- | X9P || Volvo Vostok ZAO Volvo Trucks |- | X9W || Brilliance, Lifan made by Derways |- | X9X || Great Wall Motors |- | X96 || GAZ |- | X99/000 || Marussia |- | X90 || GRAZ (truck trailer) |- | X0T || Tonar (truck trailer) |- | YAF || Faymonville (special transport trailers) |- | YAG || Syma aanhangwagenbouw BV (trailers) |- | YAM || MAX Trailer (truck trailers) |- | YAR || Toyota Motor Europe (based in Belgium) used for Toyota ProAce, Toyota ProAce City and Toyota ProAce Max made by PSA/Stellantis |- | YA2 || Atlas Copco Group |- | YA5 || Renders (truck trailers) |- | YA9/ || Lambrecht Constructie NV (truck trailers) |- | YA9/111 || OVA (truck trailer) |- | YA9/121 || Atcomex (truck trailer) |- | YA9/128 || EOS (bus) |- | YA9/139 || ATM Maaseik (truck trailer) |- | YA9/168 || Forthomme s.a. (truck trailer) |- | YA9/169 || Automobiles Gillet |- | YA9/180 || EOS (bus) |- | YA9/191 || Stokota (truck trailers) |- | YA9/195 || Denolf & Depla (minibus) |- | YBC || Toyota Supra (Fifth generation for Europe) |- | YBD || Addax Motors |- | YBW || Volkswagen Belgium |- | YB1 || Volvo Trucks Belgium (truck) |- | YB2 || Volvo Trucks Belgium (bus chassis) |- | YB3 || Volvo Trucks Belgium (incomplete vehicle) |- | YB4 || LAG Trailers N.V. (truck trailer) |- | YB6 || Jonckheere (VDL Belgium) |- | YCM || Mazda Motor Logistics Europe (based in Belgium) used for European-market Mazda 121 made by Ford in UK |- | YC1 || Honda Belgium NV (motorcycle) |- | YC3 || Eduard Trailers |- | YD3 || Chateau Caravans (Belgium) |- | YE1 || Van Hool (trailers) (Belgium) |- | YE2 || Van Hool (buses) (Belgium) |- | YE6 || STAS (truck trailer) |- | YE7 || Turbo's Hoet (truck trailer) |- | YF1 || Närko (truck trailer) (Finland) |- | YF3 || NTM (truck trailer) (Finland) |- | YF9/050 || JYKI (truck trailer) (Finland) |- | YGU || JJ-Trailer (trailer) (Finland) |- | YH1 || Solifer (caravans) |- | YH2 || BRP Finland (Lynx snowmobiles) |- | YH4 || Fisker Automotive (Fisker Karma) built by Valmet Automotive |- | YK1 || Saab-Valmet Finland |- | YK2, YK7 || Sisu Auto |- | YK9/003 || Kabus (bus) |- | YK9/008 || Lahden Autokori (-2013), SOE Busproduction Finland (2014-2024) (bus) |- | YK9/016 || Linkker (bus) |- | YSC || Cadillac BLS (made by Saab) |- | YSM || Polestar cars |- | YSP || Volta Trucks AB |- | YSR || Polestar SUV |- | YS2 || Scania commercial vehicles (Södertälje factory) |- | YS3 || Saab cars |- | YS4 || Scania buses and bus chassis until 2002 (Katrineholm factory) |- | YS5 || OmniNova (minibus) |- | YS7 || Solifer (recreational vehicles) |- | YS9/KV1 || Backaryd (minibus) |- | YTN || Saab made by NEVS |- | YT7 || Kabe (recreational vehicles) |- | YT9/007 || Koenigsegg |- | YT9/034 || Carvia |- | YU1 || Fogelsta, Brenderup Group (trailer) |- | YU7 || Husaberg (motorcycles) |- | YVV || WiMa 442 EV |- | YV1 || [[../Volvo/VIN Codes|Volvo]] cars |- | YV2 || [[../Volvo/VIN Codes|Volvo]] trucks |- | YV3 || [[../Volvo/VIN Codes|Volvo]] buses and bus chassis |- | YV4 || [[../Volvo/VIN Codes|Volvo]] SUV |- | YV5 || [[../Volvo/VIN Codes|Volvo Trucks]] incomplete vehicle |- | YYB || Tysse (trailer) (Norway) |- | YYC || Think Nordic (Norway) |- | YY9/017 || Skala Fabrikk (truck trailer) (Norway) |- | Y29/005 || Buddy Electric (Norway) |- | Y3D || MTM (truck trailer) (Belarus) |- | Y3F || Lida Buses Neman (Belarus) |- | Y3J || Belkommunmash (Belarus) |- | Y3K || Neman Bus (Belarus) |- | Y3M || MAZ (Belarus) |- | Y3W || VFV built by Unison (Belarus) |- | Y39/047 || Altant-M (minibus) (Belarus) |- | Y39/051 || Bus-Master (minibus) (Belarus) |- | Y39/052 || Aktriya (minibus) (Belarus) |- | Y39/072 || Klassikbus (minibus) (Belarus) |- | Y39/074 || Alterra (minibus) (Belarus) |- | Y39/135 || EuroDjet (minibus) (Belarus) |- | Y39/240 || Alizana (minibus) (Belarus) |- | Y39/241 || RSBUS (minibus) (Belarus) |- | Y39/323 || KF-AVTO (minibus) (Belarus) |- | Y4F || [[../Ford/VIN Codes|Ford]] Belarus |- | Y4K || Geely / BelGee (Belarus) |- | Y6B || Iveco (Ukraine) |- | Y6D || ZAZ / AvtoZAZ (Ukraine) |- | Y6E || LAZ (Ukraine) |- | Y6J || Bogdan group (Ukraine) |- | Y6L || Bogdan group including buses, Hyundai made by Bogdan (Ukraine) |- | Y6U || Škoda Auto made by Eurocar (Ukraine) |- | Y6W || PGFM (trailer) (Ukraine) |- | Y6Y || LEV (trailer) (Ukraine) |- | Y69/B19 || Stryi Avto (bus) (Ukraine) |- | Y69/B98 || VESTT (truck trailer) (Ukraine) |- | Y69/C49 || TAD (truck trailer) (Ukraine) |- | Y69/D75 || Barrel Dash (truck trailer) (Ukraine) |- | Y7A || KrAZ trucks (Ukraine) |- | Y7B || Bogdan group (Ukraine) |- | Y7C || Great Wall Motors, Geely made by KrASZ (Ukraine) |- | Y7D || GAZ made by KrymAvtoGAZ (Ukraine) |- | Y7F || Boryspil Bus Factory (BAZ) (Ukraine) |- | Y7S || Korida-Tech (trailer) (Ukraine) |- | Y7W || Geely made by KrASZ (Ukraine) |- | Y7X || ChRZ - Ruta (minibus) (Ukraine) |- | Y79/A23 || OdAZ (truck trailer) (Ukraine) |- | Y79/B21 || Everlast (truck trailer) (Ukraine) |- | Y79/B65 || Avtoban (trailer) (Ukraine) |- | Y8A || LAZ (Ukraine) |- | Y8H || UNV Leader (trailer) (Ukraine) |- | Y8S || Alekseevka Ximmash (truck trailer) |- | Y8X || GAZ Gazelle made by KrASZ (Ukraine) |- | Y89/A98 || VARZ (trailer) (Ukraine) |- | Y89/B75 || Knott (trailer) (Ukraine) |- | Y89/C65 || Electron (Ukraine) |- | Y9A || PAVAM (trailer) (Ukraine) |- | Y9H || LAZ (Ukraine) |- | Y9M || AMS (trailer) (Ukraine) |- | Y9T || Dnipro (trailer) (Ukraine) |- | Y9W || Pragmatec (trailer) (Ukraine) |- | Y9Z || Lada, Renault made in Ukraine |- | Y99/B32 || Santey (trailer) (Ukraine) |- | Y99/E21 || Zmiev-Trans (truck trailer) (Ukraine) |- | Y99/C79 || Electron (bus) (Ukraine) |- | ZAA || Autobianchi |- | ZAA || Alfa Romeo Junior 2024- |- | ZAC || Jeep, Dodge Hornet |- | ZAH || Rolfo SpA (car transporter) |- | ZAJ || Trigano SpA; Roller Team recreational vehicles |- | ZAM || [[../Maserati/VIN Codes|Maserati]] |- | ZAP || Piaggio/Vespa/Gilera |- | ZAR || Alfa Romeo car |- | ZAS || Alfa Romeo Alfasud & Sprint through 1989 |- | ZAS || Alfa Romeo SUV 2018- |- | ZAX || Zorzi (truck trailer) |- | ZA4 || Omar (truck trailer) |- | ZA9/A12 || [[../Lamborghini/VIN Codes|Lamborghini]] through mid-2003 (including LM002) |- | ZA9/A17 || Carrozzeria Luigi Dalla Via (bus) |- | ZA9/A18 || De Simon (bus) |- | ZA9/A33 || Bucher Schörling Italia (sweeper) |- | ZA9/A47 || Silver Car (truck trailer) |- | ZA9/B09 || Mauri Bus System |- | ZA9/B34 || Mistrall Siloveicoli (truck trailer) |- | ZA9/B45 || Bolgan (truck trailer) |- | ZA9/B49 || OMSP Macola (truck trailer) |- | ZA9/B95 || Carrozzeria Autodromo Modena (bus) |- | ZA9/C38 || Dulevo (sweeper) |- | ZA9/D38 || Cizeta Automobili SRL |- | ZA9/D39 || [[../Bugatti/VIN Codes|Bugatti Automobili S.p.A]] |- | ZA9/D50 || Italdesign Giugiaro |- | ZA9/E15 || Tecnobus Industries S.r.l. |- | ZA9/E73 || Sitcar (bus) |- | ZA9/E88 || Cacciamali (bus) |- | ZA9/F16 || OMT (truck trailer) |- | ZA9/F21 || FGM (truck trailer) |- | ZA9/F48 || Rampini Carlo S.p.A. (bus) |- | ZA9/F76 || Pagani Automobili S.p.A. |- | ZA9/G97 || EPT Horus (bus) |- | ZA9/H02 || O.ME.P.S. (truck trailer) |- | ZA9/H44|| Green-technik by Green Produzione s.r.l. (machine trailer) |- | ZA9/J21 || VRV (truck trailer) |- | ZA9/J93 || Barbi (bus) |- | ZA9/K98 || Esagono Energia S.r.l. |- | ZA9/M09 || Italdesign Automobili Speciali |- | ZA9/M27 || Dallara Stradale |- | ZA9/M91 || Automobili Pininfarina |- | ZA9/180 || De Simon (bus) |- | ZA0 || Acerbi (truck trailer) |- | ZBA || Piacenza (truck trailer) |- | ZBB || Bertone |- | ZBD || InBus |- | ZBN || Benelli |- | ZBW || Rayton-Fissore Magnum |- | ZB3 || Cardi (truck trailer) |- | ZCB || E. Bartoletti SpA (truck trailer) |- | ZCF || Iveco / Irisbus (Italy) |- | ZCG || Cagiva SpA / MV Agusta |- | ZCG || Husqvarna Motorcycles Under MV Agusta ownership |- | ZCM || BredaMenarinibus / Menarinibus / IIA (Industria Italiana Autobus) |- | ZCN || Astra Veicoli Industriali S.p.A. |- | ZCV || Vibreti (truck trailer) |- | ZCZ || BredaBus |- | ZC1 || AnsaldoBreda S.p.A. |- | ZC2 || Chrysler TC by Maserati |- | ZDC || Honda Italia Industriale SpA |- | ZDF || [[../Ferrari/VIN Codes|Ferrari]] Dino |- | ZDJ || ACM Biagini |- | ZDM || Ducati Motor Holdings SpA |- | ZDT || De Tomaso Modena SpA |- | ZDY || Cacciamali |- | ZD0 || Yamaha Motor Italia SpA & Belgarda SpA |- | ZD3 || Beta Motor |- | ZD4 || Aprilia |- | ZD5 || Casalini |- | ZEB || Ellebi (trailer) |- | ZEH || Trigano SpA (former SEA Group); McLouis & Mobilvetta recreational vehicles |- | ZES || Bimota |- | ZEX || TM Racing (motorcycle) |- | ZE5 || Carmosino (truck trailer) |- | ZFA || Fiat |- | ZFB || Fiat MPV/SUV & Ram Promaster City |- | ZFC || Fiat truck (Fiat Ducato for Mexico, Ram 1200) |- | ZFE || KL Motorcycle |- | ZFF || [[../Ferrari/VIN Codes|Ferrari]] |- | ZFJ || Carrozzeria Pezzaioli (truck trailer) |- | ZFM || Fantic Motor |- | ZFR || Pininfarina |- | ZF4 || Qvale |- | ZGA || Iveco Bus |- | ZGP || Merker (truck trailer) |- | ZGU || Moto Guzzi |- | ZG2 || FAAM (commercial vehicle) |- | ZHU || Husqvarna Motorcycles Under Cagiva ownership |- | ZHW || [[../Lamborghini/VIN Codes|Lamborghini]] (Mid-2003 – ) |- | ZHZ || Menci SpA (truck trailer) |- | ZH5 || FB Mondial (motorcycle) |- | ZJM || Malaguti |- | ZJN || Innocenti |- | ZJT || Italjet |- | ZKC || Ducati Energia Free Duck (electric quadricycle) |- | ZKH || Husqvarna Motorcycles Srl Under BMW ownership |- | ZLA || Lancia |- | ZLF || Tazzari GL SpA |- | ZLM || Moto Morini srl |- | ZLV || Laverda |- | ZNN || Energica |- | ZN0 || SWM Motorcycles S.r.l. |- | ZN3 || Iveco Defence |- | ZN6 || Maserati SUV |- | ZPB || [[../Lamborghini/VIN Codes|Lamborghini]] SUV |- | ZPY || DR Automobiles |- | ZP6 || XEV |- | ZP8 || Regis Motors |- | ZRG || Tazzari GL Imola SpA |- | ZR1 || Microlino |- | ZSG || [[../Ferrari/VIN Codes|Ferrari]] SUV |- | ZX1 || TAM (Tovarna Avtomobilov Maribor) bus (Slovenia) |- | ZX9/KU0 || K-Bus / Kutsenits (bus) (Slovenia) |- | ZX9/DUR || TAM bus (Slovenia) |- | ZX9/TV0 || TAM (Tovarna Vozil Maribor) bus (Slovenia) |- | ZY1 || Adria (recreational vehicles) (Slovenia) |- | ZY9/002 || Gorica (truck trailer) (Slovenia) |- | ZZ1 || Tomos motorcycle (Slovenia) |- | Z29/555 || Vozila FLuid (truck trailer) (Slovenia) |- | Z39/008 || Autogalantas (truck trailer) (Lithuania) |- | Z39/009 || Patikima Linija / Rimo (truck trailer) (Lithuania) |- | Z6F || Ford Sollers (Russia) |- | Z7C || Luidor (bus) (Russia) |- | Z7N || KAvZ (bus) (Russia) |- | Z7T || RoAZ (bus) (Russia) |- | Z7X || Isuzu Rus (Russia) |- | Z76 || SEMAZ (Kazakhstan) |- | Z8M || Marussia (Russia) |- | Z8N || Nissan Manufacturing Rus (Russia) |- | Z8T || PCMA Rus (Peugeot, Citroen, Mitsubishi) (Russia) |- | Z8Y || Nasteviya (bus) (Russia) |- | Z9B || KuzbassAvto (Hyundai bus) (Russia) |- | Z9M || Mercedes-Benz Trucks Vostok (Russia) |- | Z9N || Samotlor-NN (Iveco) (Russia) |- | Z94 || Hyundai Motor Manufacturing Rus (2008-2023), Solaris Auto - AGR Automotive (2023-) (Russia) |- | Z07 || Volgabus (Russia) |- | 1A4 1A8 || Chrysler brand MPV/SUV 2006–2009 only |- | 1A9/007 || Advance Mixer Inc. |- | 1A9/111 || Amerisport Inc. (federalized late model DeTomaso Pantera) |- | 1A9/398 || Ameritech (federalized McLaren F1 & Bugatti EB110) |- | 1A9/569 || American Custom Golf Cars Inc. (AGC) |- | 1AC || American Motors Corporation MPV |- | 1AF || American LaFrance truck |- | 1AJ || Ajax Manufacturing (truck trailer) |- | 1AM || American Motors Corporation car & Renault Alliance 1983 only |- | 1BN || Beall Trailers (truck trailer) |- | 1B3 || Dodge car 1981–2011 |- | 1B4 || Dodge MPV/SUV 1981–2002 |- | 1B6 || Dodge incomplete vehicle 1981–2002 |- | 1B7 || Dodge truck 1981–2002 |- | 1B9/133 || Buell Motorcycle Company through mid-1995 |- | 1B9/274 || Brooks Brothers Trailers |- | 1B9/275 || Boydstun Metal Works (truck trailer) |- | 1B9/285 || Boss Hoss Cycles |- | 1B9/374 || Big Dog Custom Motorcycles |- | 1B9/975 || Motus Motorcycles |- | 1BA || Blue Bird Corporation bus |- | 1BB || Blue Bird Wanderlodge MPV |- | 1BD || Blue Bird Corporation incomplete vehicle |- | 1BL || Balko, Inc. |- | 1C3 || Chrysler brand car 1981–2011 |- | 1C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 1C4 || Chrysler brand MPV 1990–2005 |- | 1C4 || Chrysler Group (all brands) MPV 2012– |- | 1C6 || Chrysler Group (all brands) truck 2012– |- | 1C8 || Chrysler brand MPV 2001–2005 |- | 1C9/257 || CEI Equipment Company (truck trailer) |- | 1C9/291 || CX Automotive |- | 1C9/496 || Carlinville Truck Equipment (truck trailer) |- | 1C9/535 || Chance Coach (bus) |- | 1C9/772 || Cozad (truck trailer) |- | 1C9/971 || Cool Amphibious Manufacturers International |- | 1CM || Checker Motors Corporation |- | 1CU || Cushman Haulster (Cushman division of Outboard Marine Corporation) |- | 1CY || Crane Carrier Company |- | 1CY || Battle Motors, Inc. |- | 1D3 || Dodge truck 2002–2009 |- | 1D4 || Dodge MPV/SUV 2003–2011 only |- | 1D7 || Dodge truck 2002–2011 |- | 1D8 || Dodge MPV/SUV 2003–2009 only |- | 1D9/008 || KME Fire Apparatus |- | 1D9/791 || Dennis Eagle, Inc. |- | 1DW || Stoughton Trailers (truck trailer) |- | 1E9/007 || E.D. Etnyre & Co. (truck trailer) |- | 1E9/190 || Electric Transit Inc. (trolleybus) |- | 1E9/363 || E-SUV LLC (E-Ride Industries) |- | 1E9/456 || Electric Motorsport (GPR-S electric motorcycle) |- | 1E9/526 || Epic TORQ |- | 1E9/581 || Vetter Razor |- | 1EU || Eagle Coach Corporation (bus) |- | 1FA || [[../Ford/VIN Codes|Ford]] car |- | 1FB || [[../Ford/VIN Codes|Ford]] "bus" (van with more than 3 rows of seats) |- | 1FC || [[../Ford/VIN Codes|Ford]] stripped chassis made by Ford |- | 1FD || [[../Ford/VIN Codes|Ford]] incomplete vehicle |- | 1FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 1FT || [[../Ford/VIN Codes|Ford]] truck |- | 1FU || Freightliner (truck) |- | 1FV || Freightliner (incomplete vehicle) |- | 1F1 || Ford SUV - Limousine (through 2009) |- | 1F6 || Ford stripped chassis made by Detroit Chassis LLC |- | 1F9/037 || Federal Motors Inc. |- | 1F9/140 || Ferrara Fire Apparatus (incomplete vehicle) |- | 1F9/458 || Faraday Future prototypes |- | 1F9/FT1 || FWD Corp. |- | 1F9/ST1 || Seagrave Fire Apparatus |- | 1F9/ST2 || Seagrave Fire Apparatus |- | 1G || [[../GM/VIN Codes|General Motors]] USA |- | 1G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 1G0 || GMC Rapid Transit Series (RTS) bus 1981–1984 |- | 1G0 || Opel/Vauxhall car 2007–2017 |- | 1G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 1G2 || [[../GM/VIN Codes|Pontiac]] car |- | 1G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 1G4 || [[../GM/VIN Codes|Buick]] car |- | 1G5 || GMC MPV/SUV 1981–1986 |- | 1G6 || [[../GM/VIN Codes|Cadillac]] car |- | 1G7 || Pontiac car only sold by GM Canada |- | 1G8 || Chevrolet MPV/SUV 1981–1986 |- | 1G8 || [[../GM/VIN Codes|Saturn]] car 1991–2010 |- | 1G9/492 || GreenPower Motor Company incomplete vehicle |- | 1G9/495 || Google & Waymo |- | 1GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 1GB || Chevrolet incomplete vehicles |- | 1GC || [[../GM/VIN Codes|Chevrolet]] truck |- | 1GD || GMC incomplete vehicles |- | 1GE || Cadillac incomplete vehicle |- | 1GF || Flxible bus |- | 1GG || Isuzu pickup trucks made by GM |- | 1GH || GMC Rapid Transit Series (RTS) bus 1985–1986 |- | 1GH || Oldsmobile MPV/SUV 1990–2004 |- | 1GH || Holden Acadia 2019–2020 |- | 1GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 1GK || GMC MPV/SUV 1987– |- | 1GM || [[../GM/VIN Codes|Pontiac]] MPV |- | 1GN || [[../GM/VIN Codes|Chevrolet]] MPV/SUV 1987- |- | 1GR || Great Dane Trailers (truck trailer) |- | 1GT || [[../GM/VIN Codes|GMC]] Truck |- | 1GY || [[../GM/VIN Codes|Cadillac]] SUV |- | 1HA || Chevrolet incomplete vehicles made by Navistar International |- | 1HD || Harley-Davidson & LiveWire |- | 1HF || Honda motorcycle/ATV/UTV |- | 1HG || [[../Honda/VIN Codes|Honda]] car made by Honda of America Mfg. in Ohio |- | 1HS || International Trucks & Caterpillar Trucks truck |- | 1HT || International Trucks & Caterpillar Trucks & Chevrolet Silverado 4500HD, 5500HD, 6500HD incomplete vehicle |- | 1HV || IC Bus incomplete bus |- | 1H9/674 || Hines Specialty Vehicle Group |- | 1JC || Jeep SUV 1981–1988 (using AMC-style VIN structure) |- | 1JJ || Wabash (truck trailer) |- | 1JT || Jeep truck 1981–1988 (using AMC-style VIN structure) |- | 1JU || Marmon Motor Company |- | 1J4 || Jeep SUV 1989–2011 (using Chrysler-style VIN structure) |- | 1J7 || Jeep truck 1989–1992 (using Chrysler-style VIN structure) |- | 1J8 || Jeep SUV 2002–2011 (using Chrysler-style VIN structure) |- | 1K9/058 || Kovatech Mobile Equipment (fire engine) |- | 1LH || Landoll (truck trailer) |- | 1LJ || Lincoln incomplete vehicle |- | 1LN || [[../Ford/VIN Codes|Lincoln]] car |- | 1LV || Lectra Motors |- | 1L0 || Lufkin Trailers |- | 1L1 || Lincoln car – limousine |- | 1L9/155 || LA Exotics |- | 1L9/234 || Laforza |- | 1MB || Mercedes-Benz Truck Co. |- | 1ME || [[../Ford/VIN Codes|Mercury]] car |- | 1MR || Continental Mark VI & VII 1981–1985 & Continental sedan 1982–1985 |- | 1M0 || John Deere Gator |- | 1M1 || Mack Truck USA (truck) |- | 1M2 || Mack Truck USA (incomplete vehicle) |- | 1M3 || Mack Truck USA (incomplete vehicle) |- | 1M4 || Mack Truck USA |- | 1M8 || Motor Coach Industries (bus) |- | 1M9/089 || Mauck Special Vehicles (bus) |- | 1M9/682 || Mosler Automotive |- | 1M9/816 || Proterra Through mid-2019 |- | 1N4 || Nissan car |- | 1N6 || Nissan truck |- | 1N9/019 || Neoplan USA |- | 1N9/084 || Eldorado National (California) |- | 1N9/140 || North American Bus Industries (bus) |- | 1N9/393 || Nikola Corporation (truck) |- | 1NK || Kenworth (incomplete vehicle) |- | 1NL || Gulf Stream Coach (recreational vehicles) |- | 1NN || Monon made by Evans Products Co. (truck trailer) |- | 1NP || Peterbilt (incomplete vehicle) |- | 1NX || Toyota car made by NUMMI |- | 1P3 || Plymouth car |- | 1P4 || Plymouth MPV/SUV |- | 1P7 || Plymouth Scamp |- | 1P9/038 || Hawk Vehicles, Inc. (Trihawk motorcycles) |- | 1P9/213 || Panoz |- | 1P9/255 || Pinson Truck Equipment Company (truck trailer) |- | 1PM || Polar Tank Trailer (truck trailer) |- | 1PT || Trailmobile Trailer Corporation (truck trailer) |- | 1PY || John Deere USA |- | 1RF || Roadmaster, Monaco Coach Corporation |- | 1RN || Reitnouer (truck trailer) |- | 1R9/956 || Reede Fabrication and Design (motorcycles) |- | 1ST || Airstream (recreational vehicles) |- | 1S1 || Strick Trailers (truck trailer) |- | 1S9/003 || Sutphen Corporation (fire engines - truck) |- | 1S9/009|| Superior Trailer Works (truck trailer) |- | 1S9/098 || Scania AB (Scania CN112 bus made in Orange, CT) |- | 1S9/842 || Saleen S7 |- | 1S9/260 || Stairs Welding RL (truck trailer) |- | 1S9/901 || Suckerpunch Sallys, LLC |- | 1S9/944 || SSC North America |- | 1TD || Timpte (truck trailer) |- | 1TK || Trail King (truck trailer) |- | 1TD || Transcraft Corporation (truck trailer) |- | 1T7 || Thomas Built Buses |- | 1T8 || Thomas Built Buses |- | 1T9/072 || The Trailer Co. (truck trailer) |- | 1T9/717 || Thunder Mountain Custom Cycles |- | 1T9/825 || TICO Manufacturing Company (truck) |- | 1T9/899 || Tomcar USA |- | 1T9/970 || Three Two Chopper |- | 1TC || Coachmen Recreational Vehicle Co., LLC |- | 1TU || Transportation Manufacturing Corporation |- | 1UJ || Jayco, Inc. |- | 1UT || AM General military trucks, Jeep DJ made by AM General |- | 1UY || Utility Trailer (truck trailer) |- | 1VH || Orion Bus Industries |- | 1VW || Volkswagen car |- | 1V1 || Volkswagen truck |- | 1V2 || Volkswagen SUV |- | 1V9/048 || Vector Aeromotive |- | 1V9/113 || Vantage Vehicle International Inc (low-speed vehicle) |- | 1V9/190 || Vanderhall Motor Works |- | 1WT || Winnebago Industries |- | 1WU || White Motor Company (truck) |- | 1WV 1WW || Winnebago Industries |- | 1WX 1WY || White Motor Company (incomplete vehicle) |- | 1W1 || Wilson Trailer Co. (truck trailer) |- | 1W8 || Witzco (truck trailer) |- | 1W9/010 || Weld-It Company (truck trailer) |- | 1W9/485 || Wheego Electric Cars |- | 1W9/488 || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (2010 & later) |- | 1XA || Excalibur Automobile Corporation |- | 1XK || Kenworth (truck) |- | 1XM || Renault Alliance/GTA/Encore 1984–1987 |- | 1XP || Peterbilt (truck) |- | 1Y1 || Chevrolet/Geo car made by NUMMI |- | 1YJ || Rokon International, Inc. |- | 1YV || [[../Ford/VIN Codes|Mazda made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZV || [[../Ford/VIN Codes|Ford made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZW || [[../Ford/VIN Codes|Mercury made by AutoAlliance International]] |- | 1Z3 1Z7 || Mitsubishi Raider |- | 1Z9/170 || [[w:Orange County Choppers|Orange County Choppers]] |- | 10B || Brenner Tank (truck trailer) |- | 10R || E-Z-GO |- | 10T || Oshkosh Corporation |- | 11H || Hendrickson Mobile Equipment, Inc. (fire engines - incomplete vehicle) |- | 12A || Avanti |- | 137 || AM General Hummer & Hummer H1 |- | 13N || Fontaine (truck trailer) |- | 15G || Gillig bus |- | 16C || Clenet Coachworks |- | 16W || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (prior to 2010) |- | 16X || Vixen 21 motorhome |- | 17N || John Deere incomplete vehicle (RV chassis) |- | 19U || Acura car made by Honda of America Mfg. in Ohio |- | 19V || Acura car made by Honda Manufacturing of Indiana |- | 19X || Honda car made by Honda Manufacturing of Indiana |- | 2A3 || Imperial |- | 2A4 2A8 || Chrysler brand MPV/SUV 2006–2011 only |- | 2AY 2AZ || Hino |- | 2BC || Jeep Wrangler (YJ) 1987–1988 (using AMC-style VIN structure) |- | 2BP || Ski-Doo |- | 2BV || Can-Am & Bombardier ATV |- | 2BW || Can-Am Commander E LSV |- | 2BX || Can-Am Spyder |- | 2BZ || Can-Am Freedom Trailer for Can-Am Spyder |- | 2B1 || Orion Bus Industries |- | 2B3 || Dodge car 1981–2011 |- | 2B4 || Dodge MPV 1981–2002 |- | 2B5 || Dodge "bus" (van with more than 3 rows of seats) 1981–2002 |- | 2B6 || Dodge incomplete vehicle 1981–2002 |- | 2B7 || Dodge truck 1981–2002 |- | 2B9/001 || BWS Manufacturing (truck trailer) |- | 2C1 || Geo/Chevrolet car made by CAMI Automotive |- | 2C3 || Chrysler brand car 1981–2011 |- | 2C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 2C4 || Chrysler brand MPV/SUV 2000–2005 |- | 2C4 || Chrysler Group (all brands) MPV (including Lancia Voyager & Volkswagen Routan) 2012- |- | 2C7 || Pontiac car made by CAMI Automotive only sold by GM Canada |- | 2C8 || Chrysler brand MPV/SUV 2001–2005 |- | 2C9/145 || Campagna Motors |- | 2C9/197 || Canadian Electric Vehicles |- | 2CC || American Motors Corporation MPV |- | 2CG || Asüna/Pontiac SUV made by CAMI Automotive only sold by GM Canada |- | 2CK || GMC Tracker SUV made by CAMI Automotive only sold by GM Canada 1990–1991 only |- | 2CK || Pontiac Torrent SUV made by CAMI Automotive 2006–2009 only |- | 2CM || American Motors Corporation car |- | 2CN || Geo/Chevrolet SUV made by CAMI Automotive 1990–2011 only |- | 2CT || GMC Terrain SUV made by CAMI Automotive 2010–2011 only |- | 2D4 || Dodge MPV 2003–2011 only |- | 2D6 || Dodge incomplete vehicle 2003 |- | 2D7 || Dodge truck 2003 |- | 2D8 || Dodge MPV 2003–2011 only |- | 2DG || Ontario Drive & Gear |- | 2DM || Di-Mond Trailers (truck trailer) |- | 2DN || Dynasty Electric Car Corporation |- | 2EZ || Electra Meccanica Vehicles Corp. (Solo) |- | 2E3 || Eagle car 1989–1997 (using Chrysler-style VIN structure) |- | 2E4 || 2011 Lancia MPV (Voyager) |- | 2E9/080 || Electra Meccanica Vehicles Corp. (Solo) |- | 2FA || [[../Ford/VIN Codes|Ford]] car |- | 2FH || Zenn Motor Co., Ltd. (low-speed vehicle) |- | 2FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 2FT || [[../Ford/VIN Codes|Ford]] truck |- | 2FU || Freightliner (truck) |- | 2FV || Freightliner (incomplete vehicle) |- | 2FW || Sterling Trucks (truck-complete vehicle) |- | 2FY || New Flyer |- | 2FZ || Sterling Trucks (incomplete vehicle) |- | 2Gx || [[../GM/VIN Codes|General Motors]] Canada |- | 2G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 2G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 2G2 || [[../GM/VIN Codes|Pontiac]] car |- | 2G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 2G4 || [[../GM/VIN Codes|Buick]] car |- | 2G5 || GMC MPV 1981–1986 |- | 2G5 || Chevrolet BrightDrop / BrightDrop Zevo truck 2023- |- | 2G6 || [[../GM/VIN Codes|Cadillac]] car |- | 2G7 || Pontiac car only sold by GM Canada |- | 2G8 || Chevrolet MPV 1981–1986 |- | 2GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 2GB || Chevrolet incomplete vehicles |- | 2GC || Chevrolet truck |- | 2GD || GMC incomplete vehicles |- | 2GE || Cadillac incomplete vehicle |- | 2GH || GMC GM New Look bus & GM Classic series bus |- | 2GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 2GK || GMC MPV/SUV 1987– |- | 2GN || Chevrolet MPV/SUV 1987- |- | 2GT || GMC truck |- | 2HG || [[../Honda/VIN Codes|Honda]] car made by Honda of Canada Manufacturing |- | 2HH || Acura car made by Honda of Canada Manufacturing |- | 2HJ || [[../Honda/VIN Codes|Honda]] truck made by Honda of Canada Manufacturing |- | 2HK || [[../Honda/VIN Codes|Honda]] MPV/SUV made by Honda of Canada Manufacturing |- | 2HM || Hyundai Canada |- | 2HN || Acura SUV made by Honda of Canada Manufacturing |- | 2HS || International Trucks truck |- | 2HT || International Trucks incomplete vehicle |- | 2J4 || Jeep Wrangler (YJ) 1989–1992 (using Chrysler-style VIN structure) |- | 2L1 || Lincoln incomplete vehicle – limo |- | 2LD || Triple E Canada Ltd. |- | 2LJ || Lincoln incomplete vehicle – hearse |- | 2LM || Lincoln SUV |- | 2LN || Lincoln car |- | 2M1 || Mack Trucks |- | 2M2 || Mack Trucks |- | 2ME || [[../Ford/VIN Codes|Mercury]] car |- | 2MG || Motor Coach Industries (Produced from Sept. 1, 2008 on) |- | 2MH || [[../Ford/VIN Codes|Mercury]] incomplete vehicle |- | 2MR || [[../Ford/VIN Codes|Mercury]] MPV |- | 2M9/044 || Westward Industries |- | 2M9/058 || Motor Coach Industries |- | 2NK || Kenworth incomplete vehicle |- | 2NP || Peterbilt incomplete vehicle |- | 2NV || Nova Bus |- | 2P3 || Plymouth car |- | 2P4 || Plymouth MPV 1981–2000 |- | 2P5 || Plymouth "bus" (van with more than 3 rows of seats) 1981–1983 |- | 2P9/001 || Prevost 1981–1995 |- | 2PC || Prevost 1996- |- | 2S2 || Suzuki car made by CAMI Automotive |- | 2S3 || Suzuki SUV made by CAMI Automotive |- | 2TU || Tri-Star Industries Limited |- | 2T1 || [[../Toyota/VIN Codes|Toyota]] car made by TMMC |- | 2T2 || Lexus SUV made by TMMC |- | 2T3 || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMC |- | 2T9/206 || Triple E Canada Ltd. |- | 2V4 || Volkswagen Routan made by Chrysler Canada |- | 2V8 || Volkswagen Routan made by Chrysler Canada |- | 2W9/044 || Westward Industries |- | 2WK || Western Star (truck) |- | 2WL || Western Star (incomplete vehicle) |- | 2WM || Western Star (incomplete vehicle) |- | 2XK || Kenworth (truck) |- | 2XM || Eagle Premier 1988 only (using AMC-style VIN structure) |- | 2XP || Peterbilt (truck) |- | 3A4 3A8 || Chrysler brand MPV 2006–2010 only |- | 3A9/050 || MARGO (truck trailer) |- | 3AK || Freightliner Trucks (truck) |- | 3AL || Freightliner Trucks (incomplete vehicle) |- | 3AW || Fruehauf de Mexico (truck trailer) |- | 3AX || Scania Mexico |- | 3BE || Scania Mexico (buses) |- | 3BJ || Western Star 3700 truck made by DINA S.A. |- | 3BK || Kenworth (incomplete vehicle) |- | 3BM || Motor Coach Industries bus made by DINA S.A. |- | 3BP || Peterbilt (incomplete vehicle) |- | 3B3 || Dodge car 1981–2011 |- | 3B4 || Dodge SUV 1986–1993 |- | 3B6 || Dodge incomplete vehicle 1981–2002 |- | 3B7 || Dodge truck 1981–2002 |- | 3C3 || Chrysler brand car 1981–2011 |- | 3C3 || Chrysler Group (all brands) car (including Fiat) 2012- |- | 3C4 || Chrysler brand MPV 2001–2005 |- | 3C4 || Chrysler Group (all brands) MPV (including Fiat) 2012- |- | 3C6 || Chrysler Group (all brands) truck 2012– |- | 3C7 || Chrysler Group (all brands) incomplete vehicle 2012– |- | 3C8 || Chrysler brand MPV 2001–2005 |- | 3CA || Chrysler brand MPV 2001 (PT Cruiser w/serial# 232057-265662) |- | 3CE || Volvo Buses de Mexico |- | 3CG || KTMMEX S.A. de C.V. |- | 3CZ || Honda SUV made by Honda de Mexico |- | 3D2 || Dodge incomplete vehicle 2007–2009 |- | 3D3 || Dodge truck 2006–2009 |- | 3D4 || Dodge SUV 2009–2011 |- | 3D6 || Dodge incomplete vehicle 2003–2011 |- | 3D7 || Dodge truck 2002–2011 |- | 3EL || ATRO (truck trailer) |- | 3E4 || 2011 Fiat SUV (Freemont) |- | 3FA || [[../Ford/VIN Codes|Ford]] car |- | 3FC || Ford stripped chassis made by Ford & IMMSA |- | 3FE || [[../Ford/VIN Codes|Ford]] Mexico |- | 3FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 3FN || Ford F-650/F-750 made by Blue Diamond Truck Co. (truck) |- | 3FR || Ford F-650/F-750 & Ford LCF made by Blue Diamond Truck Co. (incomplete vehicle) |- | 3FT || [[../Ford/VIN Codes|Ford]] truck |- | 3F6 || Sterling Bullet |- | 3G || [[../GM/VIN Codes|General Motors]] Mexico |- | 3G0 || Saab 9-4X 2011 |- | 3G0 || Holden Equinox 2018–2020 |- | 3G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 3G2 || [[../GM/VIN Codes|Pontiac]] car |- | 3G4 || [[../GM/VIN Codes|Buick]] car |- | 3G5 || [[../GM/VIN Codes|Buick]] SUV |- | 3G7 || [[../GM/VIN Codes|Pontiac]] SUV |- | 3GA || JAC models assembled by Giant Motors in Mexico |- | 3GC || Chevrolet truck |- | 3GK || GMC SUV |- | 3GM || Holden Suburban |- | 3GN || Chevrolet SUV |- | 3GP || Honda Prologue EV made by GM |- | 3GS || Saturn SUV |- | 3GT || GMC truck |- | 3GY || Cadillac SUV |- | 3H1 || Honda motorcycle/UTV |- | 3H3 || Hyundai de Mexico, S.A. de C.V. for Hyundai Translead (truck trailers) |- | 3HA || International Trucks incomplete vehicle |- | 3HC || International Trucks truck |- | 3HD || Acura SUV made by Honda de Mexico |- | 3HG || [[../Honda/VIN Codes|Honda]] car made by Honda de Mexico |- | 3HS || International Trucks & Caterpillar Trucks truck |- | 3HT || International Trucks & Caterpillar Trucks incomplete vehicle |- | 3HV || International incomplete bus |- | 3JB || BRP Mexico (Can-Am ATV/UTV & Can-Am Ryker) |- | 3KM || Kia/Hyundai MPV/SUV made by KMMX |- | 3KP || Kia/Hyundai car made by KMMX |- | 3LN || Lincoln car |- | 3MA || Mercury car (1988-1995) |- | 3MD || Mazda de Mexico car (Mazda 2) |- | 3ME || Mercury car (1996-2011) |- | 3MF || BMW M car |- | 3MG || Isuzu Motors de Mexico |- | 3MJ || Mazda CX-3 (Mazda de Mexico) |- | 3MV || Mazda de Mexico SUV (Mazda CX-30) |- | 3MW || BMW car |- | 3MY || Toyota car made by Mazda de Mexico Vehicle Operation |- | 3MZ || Mazda de Mexico car (Mazda 3) |- | 3N1 || Nissan Mexico car |- | 3N6 || Nissan Mexico truck & Chevrolet City Express |- | 3N8 || Nissan Mexico MPV |- | 3NS || Polaris Industries ATV |- | 3NE || Polaris Industries UTV |- | 3P3 || Plymouth car |- | 3PC || Infiniti SUV made by COMPAS |- | 3TM || Toyota truck made by TMMBC |- | 3TY || Toyota truck made by TMMGT |- | 3VV || Volkswagen Mexico SUV |- | 3VW || Volkswagen Mexico car |- | 3WK || Kenworth truck |- | 3WP || Peterbilt truck |- | 4A3 || Mitsubishi Motors car |- | 4A4 || Mitsubishi Motors SUV |- | 4B3 || Dodge car made by Diamond-Star Motors factory |- | 4B9/038 || BYD Coach & Bus LLC |- | 4C3 || Chrysler car made by Diamond-Star Motors factory |- | 4C6 || Reinke Manufacturing Company (truck trailer) |- | 4C9/272 || Christini Technologies (motorcycle) |- | 4C9/561 || Czinger |- | 4C9/626 || Canoo Inc. |- | 4CD || Oshkosh Chassis Division incomplete vehicle (RV chassis) |- | 4DR || IC Bus |- | 4E3 || Eagle car made by Diamond-Star Motors factory |- | 4EN || E-ONE, Inc. (fire engines - truck) |- | 4F2 || Mazda SUV made by Ford |- | 4F4 || Mazda truck made by Ford |- | 4G1 || Chevrolet Cavalier convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G2 || Pontiac Sunfire convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G3 || Toyota Cavalier made by GM |- | 4G5 || General Motors EV1 |- | 4GD || WhiteGMC Brigadier 1988–1989 made by GM |- | 4GD || Opel/Vauxhall Sintra |- | 4GL || Buick incomplete vehicle |- | 4GT || Isuzu incomplete vehicle built by GM |- | 4JG || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] SUV |- | 4J8 || LBT, Inc. (truck trailer) |- | 4KB || Chevrolet W-Series incomplete vehicle (gas engine only) made by GM |- | 4KD || GMC W-Series incomplete vehicle (gas engine only) made by GM |- | 4KE || U.S. Electricar Consulier |- | 4KL || Isuzu N-Series incomplete vehicle (gas engine only) built by GM |- | 4LM || Capacity of Texas (truck) |- | 4M2 || [[../Ford/VIN Codes|Mercury]] MPV/SUV |- | 4MB || Mitsubishi Motors |- | 4ML || Oshkosh Trailer Division |- | 4MZ || Buell Motorcycle Company |- | 4N2 || Nissan Quest made by Ford |- | 4NU || Isuzu Ascender made by GM |- | 4P1 || Pierce Manufacturing Inc. USA |- | 4P3 || Plymouth car made by Diamond-Star Motors factory 1990–1994 |- | 4P3 || Mitsubishi Motors SUV made by Mitsubishi Motor Manufacturing of America 2013–2015 for export only |- | 4RK || Nova Bus & Prevost made by Nova Bus (US) Inc. |- | 4S1 || Isuzu truck made by Subaru Isuzu Automotive |- | 4S2 || Isuzu SUV made by Subaru Isuzu Automotive & 2nd gen. Holden Frontera made by SIA |- | 4S3 || [[../Subaru/VIN Codes|Subaru]] car |- | 4S4 || [[../Subaru/VIN Codes|Subaru]] SUV/MPV |- | 4S6 || Honda SUV made by Subaru Isuzu Automotive |- | 4S7 || Spartan Motors incomplete vehicle |- | 4S9/197 || Smith Electric Vehicles |- | 4S9/345 || Satellite Suites (trailer) |- | 4S9/419 || Spartan Motors truck |- | 4S9/454 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/520 || Signature Autosport, LLC (Osprey Custom Cars) |- | 4S9/542 || Scuderia Cameron Glickenhaus SCG Boot (M.P.V.) |- | 4S9/544 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/559 || Spartan Fire, LLC truck (formerly Spartan ER) |- | 4S9/560 || Spartan Fire, LLC incomplete vehicle (formerly Spartan ER) |- | 4S9/569 || SC Autosports, LLC (Kandi) |- | 4TA || [[../Toyota/VIN Codes|Toyota]] truck made by NUMMI |- | 4T1 || [[../Toyota/VIN Codes|Toyota]] car made by Toyota Motor Manufacturing Kentucky |- | 4T3 || [[../Toyota/VIN Codes|Toyota]] MPV/SUV made by Toyota Motor Manufacturing Kentucky |- | 4T4 || [[../Toyota/VIN Codes|Toyota]] car made by Subaru of Indiana Automotive |- | 4T9/208 || Xos, Inc. |- | 4T9/228 || Lumen Motors |- | 4UF || Arctic Cat Inc. |- | 4US || BMW car |- | 4UZ || Freightliner Custom Chassis Corporation & <br /> gas-powered Mitsubishi Fuso trucks assembled by Freightliner Custom Chassis & <br /> Thomas Built Buses FS-65 & Saf-T-Liner C2 |- | 4V0 || Crossroads RV (recreational vehicles) |- | 4V1 || WhiteGMC (truck) |- | 4V2 || WhiteGMC (incomplete vehicle) |- | 4V3 || Volvo Trucks North America (truck) |- | 4V4 || Volvo Trucks North America (truck) |- | 4V5 || Volvo Trucks North America (incomplete vehicle) |- | 4V6 || Volvo Trucks North America (truck) |- | 4VA || Volvo Trucks North America (truck) |- | 4VE || Volvo Trucks North America (incomplete vehicle) |- | 4VG || Volvo Trucks North America (truck) |- | 4VH || Volvo Trucks North America (incomplete vehicle) |- | 4VM || Volvo Trucks North America (incomplete vehicle) |- | 4VZ || Spartan Motors/The Shyft Group (incomplete vehicle – bare chassis only) |- | 4WW || Wilson Trailer Sales |- | 4W1 || '24+ Chevrolet Suburban HD made by GM Defense for US govt. in Concord, NC |- | 4W5 || Acura ZDX EV made by GM |- | 4XA || Polaris Inc. |- | 4X4 || Forest River |- | 4YD || KeyStone RV Company (recreational vehicle) |- | 4YM || Carry-On Trailer, Inc. |- | 4YM || Anderson Manufacturing (trailer) |- | 4Z3 || American LaFrance truck |- | 43C || Consulier |- | 44K || HME Inc. (fire engines - incomplete vehicle) (HME=Hendrickson Mobile Equipment) |- | 46G || Gillig incomplete vehicle |- | 46J || Federal Motors Inc |- | 478 || Honda ATV |- | 480 || Sterling Trucks (truck) |- | 49H || Sterling Trucks (incomplete vehicle) |- | 5AS || Global Electric Motorcars (GEM) 1999-2011 |- | 5AX || Armor Chassis (truck trailer) |- | 5A4 || Load Rite Trailers Inc. |- | 5BP || Solectria |- | 5BZ || Nissan "bus" (van with more than 3 rows of seats) |- | 5B4 || Workhorse Custom Chassis, LLC incomplete vehicle (RV chassis) |- | 5CD || Indian Motorcycle Company of America (Gilroy, CA) |- | 5CX || Shelby Series 1 |- | 5DF || Thomas Dennis Company LLC |- | 5DG || Terex Advance Mixer |- | 5EH || Excelsior-Henderson Motorcycle |- | 5EO || Cottrell (truck trailer) |- | 5FC || Columbia Vehicle Group (Columbia, Tomberlin) (low-speed vehicles) |- | 5FN || Honda MPV/SUV made by Honda Manufacturing of Alabama |- | 5FP || Honda truck made by Honda Manufacturing of Alabama |- | 5FR || Acura SUV made by Honda Manufacturing of Alabama |- | 5FT || Feeling Trailers |- | 5FY || New Flyer |- | 5GA || Buick MPV/SUV |- | 5GD || Daewoo G2X |- | 5GN || Hummer H3T |- | 5GR || Hummer H2 |- | 5GT || Hummer H3 |- | 5GZ || Saturn MPV/SUV |- | 5G8 || Holden Volt |- | 5HD || Harley-Davidson for export markets |- | 5HT || Heil Trailer (truck trailer) |- | 5J5 || Club Car |- | 5J6 || Honda SUV made by Honda of America Mfg. in Ohio |- | 5J8 || Acura SUV made by Honda of America Mfg. in Ohio |- | 5KB || Honda car made by Honda Manufacturing of Alabama |- | 5KJ || Western Star Trucks truck |- | 5KK || Western Star Trucks truck |- | 5KM || Vento Motorcycles |- | 5KT || Karavan Trailers |- | 5L1 || [[../Ford/VIN Codes|Lincoln]] SUV - Limousine (2004–2009) |- | 5L5 || American IronHorse Motorcycle |- | 5LD || Ford & Lincoln incomplete vehicle – limousine (2010–2014) |- | 5LM || [[../Ford/VIN Codes|Lincoln]] SUV |- | 5LT || [[../Ford/VIN Codes|Lincoln]] truck |- | 5MZ || Buell Motorcycle Company for export markets |- | 5N1 || Nissan & Infiniti SUV |- | 5N3 || Infiniti SUV |- | 5NH || Forest River |- | 5NM || Hyundai SUV made by HMMA |- | 5NP || Hyundai car made by HMMA |- | 5NT || Hyundai truck made by HMMA |- | 5PV || Hino incomplete vehicle made by Hino Motors Manufacturing USA |- | 5RJ || Android Industries LLC |- | 5RX || Heartland Recreational Vehicles |- | 5S3 || Saab 9-7X |- | 5SA || Suzuki Manufacturing of America Corp. (ATV) |- | 5SX || American LaFrance incomplete vehicle (Condor) |- | 5TB || [[../Toyota/VIN Codes|Toyota]] truck made by TMMI |- | 5TD || Toyota MPV/SUV & Lexus TX made by TMMI |- | 5TE || Toyota truck made by NUMMI |- | 5TF || Toyota truck made by TMMTX |- | 5TU || Construction Trailer Specialist (truck trailer) |- | 5UM || BMW M car |- | 5UX || BMW SUV |- | 5VC || Autocar incomplete vehicle |- | 5VF || American Electric Vehicle Company (low-speed vehicle) |- | 5VP || Victory Motorcycles |- | 5V8 || Vanguard National (truck trailer) |- | 5WE || IC Bus incomplete vehicle |- | 5XX || Kia car made by KMMG |- | 5XY || Kia/Hyundai SUV made by KMMG |- | 5YA || Indian Motorcycle Company (Kings Mountain, NC) |- | 5YF || Toyota car made by TMMMS |- | 5YJ || Tesla, Inc. passenger car (only used for US-built Model S and Model 3 starting from Nov, 1st 2021) |- | 5YM || BMW M SUV |- | 5YN || Cruise Car, Inc. |- | 5Y2 || Pontiac Vibe made by NUMMI |- | 5Y4 || Yamaha Motor Motor Mfg. Corp. of America (ATV, UTV) |- | 5ZT || Forest River (recreational vehicles) |- | 5ZU || Greenkraft (truck) |- | 5Z6 || Suzuki Equator (truck) made by Nissan |- | 50E || Lucid Motors passenger car |- | 50G || Karma Automotive |- | 516 || Autocar truck |- | 51R || Brammo Motorcycles |- | 522 || GreenGo Tek (low-speed vehicle) |- | 523 || VPG (The Vehicle Production Group) |- | 52C || GEM subsidiary of Polaris Inc. |- | 537 || Azure Dynamics Transit Connect Electric |- | 538 || Zero Motorcycles |- | 53G || Coda Automotive |- | 53T || Think North America in Elkhart, IN |- | 546 || EBR |- | 54C || Winnebago Industries travel trailer |- | 54D || Isuzu & Chevrolet commercial trucks built by Spartan Motors/The Shyft Group |- | 54F || Rosenbauer |- | 55S || Mercedes-Benz car |- | 56K || Indian Motorcycle International, LLC (Polaris subsidiary) |- | 573 || Grand Design RV (truck trailer) |- | 57C || Maurer Manufacturing (truck trailer) |- | 57R || Oreion Motors |- | 57S || Lightning Motors Corp. (electric motorcycles) |- | 57W || Mobility Ventures |- | 57X || Polaris Slingshot |- | 58A || Lexus car made by TMMK (Lexus ES) |- | 6AB || MAN Australia |- | 6AM || Jayco Corp. (RVs) |- | 6F1 || Ford |- | 6F2 || Iveco Trucks Australia Ltd. |- | 6F4 || Nissan Motor Company Australia |- | 6F5 || Kenworth Australia |- | 6FM || Mack Trucks Australia |- | 6FP || [[../Ford/VIN Codes|Ford]] Australia |- | 6G1 || [[../GM/VIN Codes|General Motors]]-Holden (post Nov 2002) & Chevrolet & Vauxhall Monaro & VXR8 |- | 6G2 || [[../GM/VIN Codes|Pontiac]] Australia (GTO & G8) |- | 6G3 || [[../GM/VIN Codes|General Motors]] Chevrolet Caprice PPV & SS performance sedan 2014-2017 |- | 6H8 || [[../GM/VIN Codes|General Motors]]-Holden (pre Nov 2002) |- | 6KT || BCI Bus |- | 6MM || Mitsubishi Motors Australia |- | 6MP || Mercury Capri 1991-1994 |- | 6T1 || [[../Toyota/VIN Codes|Toyota]] Motor Corporation Australia |- | 6T9 || Privately Imported car (VIN issued by Victoria) or Trailer in Australia |- | 6U9 || Privately Imported car in Australia |- | 6ZZ || Privately Imported car in Australia |- | 7AB || MAN New Zealand |- | 7AT || VIN assigned by the New Zealand Transport Authority Waka Kotahi from 29 November 2009 |- | 7A1 || Mitsubishi New Zealand |- | 7A3 || Honda New Zealand |- | 7A4 || Toyota New Zealand |- | 7A5 || Ford New Zealand |- | 7A7 || Nissan New Zealand |- | 7A8 || VIN assigned by the New Zealand Transport Authority Waka Kotahi before 29 November 2009 |- | 7B2 || Nissan Diesel bus New Zealand |- | 7FA || Honda SUV made by Honda Manufacturing of Indiana |- | 7FC || Rivian truck |- | 7F7 || Arcimoto, Inc. |- | 7GZ || GMC incomplete vehicles made by Navistar International |- | 7G0 || Faraday Future |- | 7G2 || Tesla, Inc. truck (used for Nevada-built Semi Trucks & Texas-built Cybertruck) |- | 7H4 || Hino truck |- | 7H8 || Cenntro Electric Group Limited low-speed vehicle |- | 7JD || Volvo Cars SUV |- | 7JR || Volvo Cars passenger car |- | 7JZ || Proterra From mid-2019 on |- | 7KG || Vanderhall Motor Works |- | 7KY || Dorsey (truck trailer) |- | 7MM || Mazda SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MU || Toyota SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MW || Cenntro Electric Group Limited truck |- | 7MZ || HDK electric vehicles |- | 7NA || Navistar Defense |- | 7NY || Lordstown Motors |- | 7PD || Rivian SUV |- | 7RZ || Electric Last Mile Solutions |- | 7SA || Tesla, Inc. (US-built MPVs (e.g. Model X, Model Y)) |- | 7SU || Blue Arc electric trucks made by The Shyft Group |- | 7SV || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMTX |- | 7SX || Global Electric Motorcars (WAEV) 2022- |- | 7SY || Polestar SUV |- | 7TN || Canoo |- | 7UU || Lucid Motors MPV/SUV |- | 7UZ || Kaufman Trailers (trailer) |- | 7VV || Ree Automotive |- | 7WE || Bollinger Motors incomplete vehicle |- | 7YA || Hyundai MPV/SUV made by HMGMA |- | 7Z0 || Zoox |- | 722 || Isuzu North America Corp. (incomplete vehicle - medium duty) |- | 8AB || Mercedes Benz truck & bus (Argentina) |- | 8AC || Mercedes Benz vans (for South America) |- | 8AD || Peugeot Argentina |- | 8AE || Peugeot van |- | 8AF || [[../Ford/VIN Codes|Ford]] Argentina |- | 8AG || [[../GM/VIN Codes|Chevrolet]] Argentina |- | 8AJ || [[../Toyota/VIN Codes|Toyota]] Argentina |- | 8AK || Suzuki Argentina |- | 8AN || Nissan Argentina |- | 8AP || Fiat Argentina |- | 8AT || Iveco Argentina |- | 8AW || Volkswagen Argentina |- | 8A1 || Renault Argentina |- | 8A3 || Scania Argentina |- | 8BB || Agrale Argentina S.A. |- | 8BC || Citroën Argentina |- | 8BN || Mercedes-Benz incomplete vehicle (North America) |- | 8BR || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | 8BT || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | 8BU || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | 8CH || Honda motorcycle |- | 8C3 || Honda car/SUV |- | 8G1 || Automotores Franco Chilena S.A. Renault |- | 8GD || Automotores Franco Chilena S.A. Peugeot |- | 8GG || [[../GM/VIN Codes|Chevrolet]] Chile |- | 8LD || General Motors OBB - Chevrolet Ecuador |- | 8LF || Maresa (Mazda) |- | 8LG || Aymesa (Hyundai Motor & Kia) |- | 8L4 || Great Wall Motors made by Ciudad del Auto (Ciauto) |- | 8XD || Ford Motor Venezuela |- | 8XJ || Mack de Venezuela C.A. |- | 8XV || Iveco Venezuela C.A. |- | 8Z1 || General Motors Venezolana C.A. |- | 829 || Industrias Quantum Motors S.A. (Bolivia) |- | 9BD || Fiat Brazil & Dodge, Ram made by Fiat Brasil |- | 9BF || [[../Ford/VIN Codes|Ford]] Brazil |- | 9BG || [[../GM/VIN Codes|Chevrolet]] Brazil |- | 9BH || Hyundai Motor Brasil |- | 9BM || Mercedes-Benz Brazil car, SUV, commercial truck & bus |- | 9BN || Mafersa |- | 9BR || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 9BS || Scania Brazil |- | 9BV || Volvo Trucks |- | 9BW || Volkswagen Brazil |- | 9BY || Agrale S.A. |- | 9C2 || Moto Honda Da Amazonia Ltda. |- | 9C6 || Yamaha Motor Da Amazonia Ltda. |- | 9CD || Suzuki (motorcycles) assembled by J. Toledo Motos do Brasil |- | 9DF || Puma |- | 9DW || Kenworth & Peterbilt trucks made by Volkswagen do Brasil |- | 9EZ || homemade or handbuilt vehicles |- | 92H || Origem Brazil |- | 932 || Harley-Davidson Brazil |- | 935 || Citroën Brazil |- | 936 || Peugeot Brazil |- | 937 || Dodge Dakota |- | 93C || Chevrolet SUV [Tracker] or pickup [Tornado, Montana, S10] (sold in Mexico, made in Brazil) |- | 93H || [[../Honda/VIN Codes|Honda]] Brazil car/SUV |- | 93K || Volvo Trucks |- | 93P || Volare |- | 93S || Navistar International |- | 93R || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 93U || Audi Brazil 1999–2006 |- | 93W || Fiat Ducato made by Iveco 2000–2016 |- | 93V || Navistar International |- | 93X || Souza Ramos – Mitsubishi Motors / Suzuki Jimny |- | 93Y || Renault Brazil |- | 93Z || Iveco |- | 94D || Nissan Brazil |- | 94N || RWM Brazil |- | 94T || Troller Veículos Especiais |- | 95P || CAOA Hyundai & CAOA Chery |- | 95V || Dafra Motos (motorscooters from SYM) & Ducati, KTM, & MV Agusta assembled by Dafra |- | 95V || BMW motorcycles assembled by Dafra Motos 2009–2016 |- | 95Z || Buell Motorcycle Company assembled by Harley-Davidson Brazil |- | 953 || VW Truck & Bus / MAN Truck & Bus |- | 96P || Kawasaki |- | 97N || Triumph Motorcycles Ltd. |- | 988 || Jeep, Ram [Rampage], and Fiat [Toro] (made at the Goiana plant) |- | 98M || BMW car/SUV |- | 98P || DAF Trucks |- | 98R || Chery |- | 99A || Audi 2016- |- | 99H || Shineray |- | 99J || Jaguar Land Rover |- | 99K || Haojue & Kymco assembled by JTZ Indústria e Comércio de Motos |- | 99L || BYD |- | 99Z || BMW Motorrad (Motorcycle assembled by BMW 2017-) |- | 9FB || Renault Colombia (Sofasa) |- | 9FC || Compañía Colombiana Automotriz S.A. (Mazda) |- | 9GA || [[../GM/VIN Codes|Chevrolet]] Colombia (GM Colmotores S.A.) |- | 9UJ || Chery assembled by Chery Socma S.A. (Uruguay) |- | 9UK || Lifan (Uruguay) |- | 9UT || Dongfeng trucks made by Nordex S.A. |- | 9UW || Kia made by Nordex S.A. |- | 9VC || Fiat made by Nordex S.A. (Scudo, 2025 Titano) |- | 9V7 || Citroen made by Nordex S.A. (Jumpy) |- | 9V8 || Peugeot made by Nordex S.A. (Expert) |} ==References== {{reflist}} {{BookCat}} 98zambp1d2af6g7quu6vz27u6eizx4f 4635338 4635328 2026-05-11T22:00:03Z JustTheFacts33 3434282 /* List of Many WMIs */ 4635338 wikitext text/x-wiki ==World Manufacturer Identifier== The first three characters uniquely identify the manufacturer of the vehicle using the '''World Manufacturer Identifier''' or '''WMI''' code. A manufacturer that builds fewer than 1000 vehicles per year uses a 9 as the third digit and the 12th, 13th and 14th position of the VIN for a second part of the identification. Some manufacturers use the third character as a code for a vehicle category (e.g., bus or truck), a division within a manufacturer, or both. For example, within 1G (assigned to General Motors in the United States), 1G1 represents Chevrolet passenger cars; 1G2, Pontiac passenger cars; and 1GC, Chevrolet trucks. ===WMI Regions=== The first character of the WMI is the region in which the manufacturer is located. In practice, each is assigned to a country of manufacture. Common auto-manufacturing countries are noted. <ref>{{cite web | url=https://standards.iso.org/iso/3780/ | title=ISO Standards Maintenance Portal: ISO 3780 | publisher=[[wikipedia:International Organization for Standardization]]}}</ref> {| class="wikitable" style="text-align:center" |- ! WMI ! Region ! Notes |- | A-C | Africa | AA-AH = South Africa<br />BF-BG = Kenya<br />BU = Uganda<br />CA-CB = Egypt<br />DF-DK = Morocco |- | H-R | Asia | H = China<br />J = Japan<br />KF-KH = Israel<br />KL-KR = South Korea<br />L = China<br />MA-ME = India<br />MF-MK = Indonesia<br />ML-MR = Thailand<br />MS = Myanmar<br />MX = Kazakhstan<br />MY-M0 = India<br />NF-NG = Pakistan<br />NL-NR = Turkey<br />NS-NT = Uzbekistan<br />PA-PC = Philippines<br />PF-PG = Singapore<br />PL-PR = Malaysia<br />PS-PT = Bangladesh<br />PV=Cambodia<br />RA-RB = United Arab Emirates<br />RF-RK = Taiwan<br />RL-RN = Vietnam<br />R1-R7 = Hong Kong |- | S-Z | Europe | SA-SM = United Kingdom<br />SN-ST = Germany (formerly East Germany)<br />SU-SZ = Poland<br />TA-TH = Switzerland<br />TJ-TP = Czech Republic<br />TR-TV = Hungary<br />TW-T2 = Portugal<br />UH-UM = Denmark<br />UN-UR = Ireland<br />UU-UX = Romania<br />U1-U2 = North Macedonia<br />U5-U7 = Slovakia<br />VA-VE = Austria<br />VF-VR = France<br />VS-VW = Spain<br />VX-V2 = France (formerly Serbia/Yugoslavia)<br />V3-V5 = Croatia<br />V6-V8 = Estonia<br /> W = Germany (formerly West Germany)<br />XA-XC = Bulgaria<br />XF-XH = Greece<br />XL-XR = The Netherlands<br />XS-XW = Russia (formerly USSR)<br />XX-XY = Luxembourg<br />XZ-X0 = Russia<br />YA-YE = Belgium<br />YF-YK = Finland<br />YS-YW = Sweden<br />YX-Y2 = Norway<br />Y3-Y5 = Belarus<br />Y6-Y8 = Ukraine<br />ZA-ZU = Italy<br />ZX-ZZ = Slovenia<br />Z3-Z5 = Lithuania<br />Z6-Z0 = Russia |- | 1-5 | North America | 1, 4, 5 = United States<br />2 = Canada<br />3 = Mexico<br />7F-70 = United States |- | 6-7 | Oceania | 6A-6W = Australia<br />7A-7E = New Zealand |- | 8-9 | South America | 8A-8E = Argentina<br />8F-8G = Chile<br />8L-8N = Ecuador<br />8S-8T = Peru<br />8X-8Z = Venezuela<br />82 = Bolivia<br />84 = Costa Rica<br />9A-9E, 91-90 = Brazil<br />9F-9G = Colombia<br />9S-9V = Uruguay |} {| class="wikitable" style="text-align:center" |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''A''' || colspan="8" | South Africa || colspan="2" | Ivory Coast || colspan="2" | Lesotho || colspan="2" | Botswana || colspan="2" | Namibia || colspan="2" | Madagascar || colspan="2" | Mauritius || colspan="2" | Tunisia || colspan="2" | Cyprus || colspan="2" | Zimbabwe || colspan="2" | Mozambique || colspan="5" | ''Africa'' |- | '''B''' || colspan="2" | Angola || colspan="1" | Ethiopia || colspan="2" | ''Africa'' || colspan="2" | Kenya || colspan="1" | Rwanda || colspan="2" | ''Africa'' || colspan="1" | Nigeria || colspan="3" | ''Africa'' || colspan="1" | Algeria || colspan="1" | ''Africa'' || colspan="1" | Swaziland || colspan="1" | Uganda || colspan="7" | ''Africa''|| colspan="2" | Libya || colspan="6" | ''Africa'' |- | '''C''' || colspan="2" | Egypt || colspan="3" | ''Africa'' || colspan="2" | Morocco || colspan="3" | ''Africa'' || colspan="2" | Zambia || colspan="21" | ''Africa'' |- | '''D''' || colspan="33" rowspan="1" | |- | '''E''' || colspan="33" | Russia |- | '''F''' || colspan="33" rowspan="2" | |- | '''G''' |- | '''H''' || colspan="33" | China |- | '''J''' || colspan="33" | Japan |- | '''K''' || colspan="5" | ''Asia'' || colspan="3" | Israel || colspan="2" | ''Asia'' || colspan="5" | South Korea || colspan="2" | Jordan || colspan="6" | ''Asia'' || colspan="3" | South Korea || colspan="1" | ''Asia'' || colspan="1" | Kyrgyzstan || colspan="5" | ''Asia'' |- | '''L''' || colspan="33" | China |- | '''M''' || colspan="5" | India || colspan="5" | Indonesia || colspan="5" | Thailand || colspan="1" | Myanmar || colspan="1" | ''Asia'' || colspan="1" | Mongolia || colspan="2" | ''Asia'' || colspan="1" | Kazakhstan || colspan="12" | India |- | '''N''' || colspan="5" | Iran || colspan="2" | Pakistan || colspan="1" | ''Asia'' || colspan="1" | Iraq || colspan="1" | ''Asia'' || colspan="5" | Turkey || colspan="2" | Uzbekistan || colspan="1" | ''Asia'' || colspan="1" | Azerbaijan || colspan="1" | ''Asia'' || colspan="1" | Tajikistan || colspan="1" | Armenia || colspan="1" | ''Asia'' || colspan="5" | Iran || colspan="1" | ''Asia'' || colspan="2" | Turkey || colspan="2" | ''Asia'' |- | '''P''' || colspan="3" | Philippines || colspan="2" | ''Asia'' || colspan="2" | Singapore || colspan="3" | ''Asia'' || colspan="5" | Malaysia || colspan="2" | Bangladesh || colspan="10" | ''Asia'' || colspan="6" | India |- | '''R''' || colspan="2" | UAE || colspan="3" | ''Asia'' || colspan="5" | Taiwan || colspan="3" | Vietnam || colspan="1" | Laos || colspan="1" | ''Asia'' || colspan="2" | Saudi Arabia || colspan="3" | Russia || colspan="3" | ''Asia'' || colspan="7" | Hong Kong || colspan="3" | ''Asia'' |- ! &nbsp; ! A ! B ! C ! D ! E ! F ! G ! H ! J ! K ! L ! M ! N ! P ! R ! S ! T ! U ! V ! W ! X ! Y ! Z ! 1 ! 2 ! 3 ! 4 ! 5 ! 6 ! 7 ! 8 ! 9 ! 0 |- | '''S''' || colspan="12" | United Kingdom || colspan="5" | Germany <small>(former East Germany)</small> || colspan="6" | Poland || colspan="2" | Latvia || colspan="1" | Georgia || colspan="1" | Iceland || colspan="6" | ''Europe'' |- | '''T''' || colspan="8" | Switzerland || colspan="6" | Czech Republic || colspan="5" | Hungary || colspan="6" | Portugal || colspan="3" | Serbia || colspan="1" | Andorra || colspan="2" | Netherlands || colspan="2" | ''Europe'' |- | '''U''' || colspan="3" | Spain || colspan="4" | ''Europe'' || colspan="5" | Denmark || colspan="3" | Ireland || colspan="2" | ''Europe'' || colspan="4" | Romania || colspan="2" | ''Europe'' || colspan="2" | North Macedonia || colspan="2" | ''Europe'' || colspan="3" | Slovakia || colspan="3" | Bosnia & Herzogovina |- | '''V''' || colspan="5" | Austria || colspan="10" | France || colspan="5" | Spain || colspan="5" | France <small>(formerly Yugoslavia & Serbia)</small> || colspan="3" | Croatia || colspan="3" | Estonia || colspan="2" | ''Europe'' |- | '''W''' || colspan="33" | Germany |- | '''X''' || colspan="3" | Bulgaria || colspan="2" | Russia || colspan="3" | Greece || colspan="2" | Russia || colspan="5" | Netherlands || colspan="5" | Russia <small>(former USSR)</small> || colspan="2" | Luxembourg || colspan="11" | Russia |- | '''Y''' || colspan="5" | Belgium || colspan="5" | Finland || colspan="2" | ''Europe'' || colspan="1" | Malta || colspan="2" | ''Europe'' || colspan="5" | Sweden || colspan="5" | Norway || colspan="3" | Belarus || colspan="3" | Ukraine || colspan="2" | ''Europe'' |- | '''Z''' || colspan="18" | Italy || colspan="2" | ''Europe'' || colspan="3" | Slovenia || colspan="1" | San Marino|| colspan="1" | ''Europe''|| colspan="3" | Lithuania || colspan="5" | Russia |- | '''1''' || colspan="33" | United States |- | '''2''' || colspan="28" | Canada || colspan="5" | ''North America'' |- | '''3''' || colspan="21" | Mexico || colspan="5" | ''North America'' || colspan="1" | Nicaragua || colspan="1" | Dom. Rep. || colspan="1" | Honduras || colspan="1" | Panama || colspan="2" | Puerto Rico || colspan="1" | ''North America'' |- | '''4''' || colspan="33" rowspan="2" | United States |- | '''5''' |- | '''6''' || colspan="21" | Australia || colspan="3" | New Zealand || colspan="9" | ''Oceania'' |- | '''7''' || colspan="5" | New Zealand || colspan="28" | United States |- | '''8''' || colspan="5" | Argentina || colspan=2 | Chile || colspan="3" | ''South America'' || colspan="3" | Ecuador || colspan="2" | ''South America'' || colspan="2" | Peru || colspan="3" | ''South America'' || colspan="3" | Venezuela || colspan="1" | ''SA'' || colspan="1" | Bolivia || colspan="1" | ''SA'' || colspan="1" | Costa Rica || colspan="6" | ''South America'' |- | '''9''' || colspan="5" | Brazil || colspan="2" | Colombia || colspan="8" | ''South America'' || colspan="4" | Uruguay || colspan="4" | ''South America'' || colspan="10" | Brazil |- | '''0''' || colspan="33" rowspan="1" | |} ===List of Many WMIs=== The [[w:Society of Automotive Engineers|Society of Automotive Engineers]] (SAE) in the US assigns WMIs to countries and manufacturers.<ref>{{cite web | url=https://www.iso.org/standard/45844.html | title=ISO 3780:2009 - Road vehicles — World manufacturer identifier (WMI) code | date=October 2009 | publisher=International Organization for Standardization}}</ref> The following table contains a list of mainly commonly used WMIs, although there are many others assigned. {| class="wikitable x" style="text-align:center" |- ! WMI !! Manufacturer |- | AAA|| Audi South Africa made by Volkswagen of South Africa |- | AAK|| FAW Vehicle Manufacturers SA (PTY) Ltd. |- | AAM|| MAN Automotive (South Africa) (Pty) Ltd. (includes VW Truck & Bus) |- |AAP || VIN restamped by South African Police Service (so-called SAPVIN or AAPV number) |- | AAV || Volkswagen South Africa |- | AAW || Challenger Trailer Pty Ltd. (South Africa) |- | AA9/CN1 || TR-Tec Pty Ltd. (South Africa) |- | ABJ || Mitsubishi Colt & Triton pickups made by Mercedes-Benz South Africa 1994–2011 |- | ABJ || Mitsubishi Fuso made by Daimler Trucks & Buses Southern Africa |- | ABM || BMW Southern Africa |- | ACV || Isuzu Motors South Africa 2018- |- | AC5 || [[../Hyundai/VIN Codes|Hyundai]] Automotive South Africa |- | AC9/BM1 || Beamish Beach Buggies (South Africa) |- | ADB || Mercedes-Benz South Africa car |- | ADD || UD Trucks Southern Africa (Pty) Ltd. |- | ADM || General Motors South Africa (includes Isuzu through 2018) |- | ADN || Nissan South Africa (Pty) Ltd. |- | ADR || Renault Sandero made by Nissan South Africa (Pty) Ltd. |- | ADX || Tata Automobile Corporation (SA) Ltd. |- | AE9/MT1 || Backdraft Racing (South Africa) |- | AFA || Ford Motor Company of Southern Africa & Samcor |- | AFB || Mazda BT-50 made by Ford Motor Company of Southern Africa |- | AFD || BAIC Automotive South Africa |- | AFZ || Fiat Auto South Africa |- | AHH || Hino South Africa |- | AHM || Honda Ballade made by Mercedes-Benz South Africa 1982–2000 |- | AHT || Toyota South Africa Motors (Pty.) Ltd. |- | BF9/|| KIBO Motorcycles, Kenya |- | BUK || Kiira Motors Corporation, Uganda |- | BR1 || Mercedes-Benz Algeria (SAFAV MB) |- | BRY || FIAT Algeria |- | CA3 || MCV bus (Egypt) |- | DDY || Geyushi Motors (bus) (Egypt) |- | DF9/|| Laraki (Morocco) |- | EAA || Aurus Motors (Russia) |- | EAN || Evolute (Russia) |- | EAU || Elektromobili Manufacturing Rus - EVM (Russia) |- | EBE || Sollers-Auto (Russia) |- | EBZ || Nizhekotrans bus (Russia) |- | ECE || XCITE (Russia) |- | ECW || Trans-Alfa bus (Russia) |- | HAC || GAC Motor (Aion) |- | HA0 || Wuxi Sundiro Electric Vehicle Co., Ltd. (Palla, Parray) |- | HA6 || Niu Technologies |- | HA7 || Jinan Qingqi KR Motors Co., Ltd. |- | HES || smart Automobile Co., Ltd. (Mercedes-Geely joint venture) |- | HGL || Farizon Auto van (Geely) |- | HGX || Wuling Motors commercial vehicle (Geely) |- | HHZ || Huazi Automobile |- | HJN || Nio, Firefly |- | HJR || Chery Commercial Vehicle (Anhui) Co., Ltd. Jetour made by Chery Commercial Vehicle |- | HJZ || Juzhen Chengshi van |- | HJ4 || BAW car |- | HL4 || Zhejiang Morini Vehicle Co., Ltd. <br />(Moto Morini subsidiary of Taizhou Zhongneng Motorcycle Co., Ltd.) |- | HLX || Li Auto |- | HRV || Beijing Henrey Automobile Technology Co., Ltd. |- | HVW || Volkswagen Anhui |- | HWM || WM Motor Technology Co., Ltd. (Weltmeister) |- | HXM || Xiaomi |- | HZ2 || Taizhou Zhilong Technology Co., Ltd (motorcycle) |- | H0D || Taizhou Qianxin Vehicle Co., Ltd. (motorcycle) |- | H0G || Wisdom (Fujian) Motor Co., Ltd. (bus) |- | JAA || Isuzu truck, Holden Rodeo TF, Opel Campo, Bedford/Vauxhall Brava pickup made by Isuzu in Japan |- | JAB || Isuzu car |- | JAC || Isuzu SUV, Opel/Vauxhall Monterey & Holden Jackaroo/Monterey made by Isuzu in Japan |- | JAE || Acura SLX made by Isuzu |- | JAL || Isuzu commercial trucks & <br /> Chevrolet commercial trucks made by Isuzu 2016+ & <br /> Hino S-series truck made by Isuzu (Incomplete Vehicle - medium duty) |- | JAM || Isuzu commercial trucks (Incomplete Vehicle - light duty) |- | JA3 || Mitsubishi car (for North America) |- | JA4 || Mitsubishi MPV/SUV (for North America) & Nissan Rogue PHEV '26 |- | JA7 || Mitsubishi truck (for North America) |- | JB3 || Dodge car made by Mitsubishi Motors |- | JB4 || Dodge MPV/SUV made by Mitsubishi Motors |- | JB7 || Dodge truck made by Mitsubishi Motors |- | JC0 || Ford brand cars made by Mazda |- | JC1 || Fiat 124 Spider made by Mazda |- | JC2 || Ford Courier made by Mazda |- | JDA || Daihatsu, Subaru Justy made by Daihatsu |- | JD1 || Daihatsu car |- | JD2 || Daihatsu SUV |- | JD4 || Daihatsu truck |- | JE3 || Eagle car made by Mitsubishi Motors |- | JE4 || Mitsubishi Motors |- | JF1 || ([[../Subaru/VIN Codes|Subaru]]) car |- | JF2 || ([[../Subaru/VIN Codes|Subaru]]) SUV |- | JF3 || ([[../Subaru/VIN Codes|Subaru]]) truck |- | JF4 || Saab 9-2X made by Subaru |- | JG1 || Chevrolet/Geo car made by Suzuki |- | JG2 || Pontiac car made by Suzuki |- | JG7 || Pontiac/Asuna car made by Suzuki for GM Canada |- | JGC || Chevrolet/Geo SUV made by Suzuki (classified as a truck) |- | JGT || GMC SUV made by Suzuki for GM Canada (classified as a truck) |- | JHA || Hino truck |- | JHB || Hino incomplete vehicle |- | JHD || Hino |- | JHF || Hino |- | JHH || Hino incomplete vehicle |- | JHF-JHG, JHL-JHN, JHZ,<br/>JH1-JH5 || [[../Honda/VIN Codes|Honda]] |- | JHL || [[../Honda/VIN Codes|Honda]] MPV/SUV |- | JHM || [[../Honda/VIN Codes|Honda]] car |- | JH1 || [[../Honda/VIN Codes|Honda]] truck |- | JH2 || [[../Honda/VIN Codes|Honda]] motorcycle/ATV |- | JH3 || [[../Honda/VIN Codes|Honda]] ATV |- | JH4 || Acura car |- | JH6 || Hino incomplete vehicle |- | JJ3 || Chrysler brand car made by Mitsubishi Motors |- | JKA || Kawasaki (motorcycles) |- | JKB || Kawasaki (motorcycles) |- | JKM || Mitsuoka |- | JKS || Suzuki Marauder 1600/Boulevard M95 motorcycle made by Kawasaki |- | JK8 || Suzuki QUV620F UTV made by Kawasaki |- | JLB || Mitsubishi Fuso Truck & Bus Corp. |- | JLF || Mitsubishi Fuso Truck & Bus Corp. |- | JLS || Sterling Truck 360 made by Mitsubishi Fuso Truck & Bus Corp. |- | JL5 || Mitsubishi Fuso Truck & Bus Corp. |- | JL6 || Mitsubishi Fuso Truck & Bus Corp. |- | JL7 || Mitsubishi Fuso Truck & Bus Corp. |- | JMA || Mitsubishi Motors (right-hand drive) for Europe |- | JMB || Mitsubishi Motors (left-hand drive) for Europe |- | JMF || Mitsubishi Motors for Australia (including Mitsubishi Express made by Renault) |- | JMP || Mitsubishi Motors (left-hand drive) |- | JMR || Mitsubishi Motors (right-hand drive) |- | JMY || Mitsubishi Motors (left-hand drive) for South America & Middle East |- | JMZ || Mazda for Europe export & Mazda 2 made by Ford Spain & Mazda 2 Hybrid made by Toyota Motor Manufacturing France |- | JM0 || Mazda for Oceania export |- | JM1 || Mazda car |- | JM2 || Mazda truck |- | JM3 || Mazda MPV/SUV |- | JM4 || Mazda |- | JM6 || Mazda |- | JM7 || Mazda |- | JNA || Nissan Diesel/UD Trucks incomplete vehicle |- | JNC || Nissan Diesel/UD Trucks |- | JNE || Nissan Diesel/UD Trucks truck |- | JNK || Infiniti car |- | JNR || Infiniti SUV |- | JNX || Infiniti incomplete vehicle |- | JN1 || Nissan car & Infiniti car |- | JN3 || Nissan incomplete vehicle |- | JN6 || Nissan truck/van & Mitsubishi Fuso Canter Van |- | JN8 || Nissan MPV/SUV & Infiniti SUV |- | JPC || Nissan Diesel/UD Trucks |- | JP3 || Plymouth car made by Mitsubishi Motors |- | JP4 || Plymouth MPV/SUV made by Mitsubishi Motors |- | JP7 || Plymouth truck made by Mitsubishi Motors |- | JR2 || Isuzu Oasis made by Honda |- | JSA || Suzuki ATV & '03 Kawasaki KFX400 ATV made by Suzuki, Suzuki car/SUV (outside N. America), Holden Cruze YG made by Suzuki |- | JSK || Kawasaki KLX125/KLX125L motorcycle made by Suzuki |- | JSL || '04-'06 Kawasaki KFX400 ATV made by Suzuki |- | JST || Suzuki Across SUV made by Toyota |- | JS1 || Suzuki motorcycle & Kawasaki KLX400S/KLX400SR motorcycle made by Suzuki |- | JS2 || Suzuki car |- | JS3 || Suzuki SUV |- | JS4 || Suzuki truck |- | JTB || Toyota bus |- | JTD || Toyota car |- | JTE || Toyota MPV/SUV |- | JTF || Toyota van/truck |- | JTG || Toyota MPV/bus |- | JTH || Lexus car |- | JTJ || Lexus SUV |- | JTK || Toyota car |- | JTL || Toyota SUV |- | JTM || Toyota SUV, Subaru Solterra made by Toyota |- | JTN || Toyota car |- | JTP || Toyota SUV |- | JT1 || [[../Toyota/VIN Codes|Toyota]] van |- | JT2 || Toyota car |- | JT3 || Toyota MPV/SUV |- | JT4 || Toyota truck/van |- | JT5 || Toyota incomplete vehicle |- | JT6 || Lexus SUV |- | JT7 || Toyota bus/van |- | JT8 || Lexus car |- | JW6 || Mitsubishi Fuso division of Mitsubishi Motors (through mid-2003) |- | JYA || Yamaha motorcycles |- | JYE || Yamaha snowmobile |- | JY3 || Yamaha 3-wheel ATV |- | JY4 || Yamaha 4-wheel ATV |- | J81 || Chevrolet/Geo car made by Isuzu |- | J87 || Pontiac/Asüna car made by Isuzu for GM Canada |- | J8B || Chevrolet commercial trucks made by Isuzu (incomplete vehicle) |- | J8C || Chevrolet commercial trucks made by Isuzu (truck) |- | J8D || GMC commercial trucks made by Isuzu (incomplete vehicle) |- | J8T || GMC commercial trucks made by Isuzu (truck) |- | J8Z || Chevrolet LUV pickup truck made by Isuzu |- | KF3 || Merkavim (Israel) |- | KF6 || Automotive Industries, Ltd. (Israel) |- | KF9/004 || Tomcar (Israel) |- | KG9/002 || Charash Ashdod (truck trailer) (Israel) |- | KG9/004 || H. Klein (truck trailer) (Israel) |- | KG9/007 || Agam Trailers (truck trailer) (Israel) |- | KG9/009 || Merkavey Noa (trailer) (Israel) |- | KG9/010 || Weingold Trailers (trailer) (Israel) |- | KG9/011 || Netzer Sereni (truck trailer) (Israel) |- | KG9/015 || Merkaz Hagrorim (trailer) (Israel) |- | KG9/035 || BEL Technologies (truck trailer) (Israel) |- | KG9/091 || Jansteel (truck trailer) (Israel) |- | KG9/101 || Bassamco (truck trailer) (Israel) |- | KG9/104 || Global Handasa (truck trailer) (Israel) |- | KL || Daewoo [[../GM/VIN Codes|General Motors]] South Korea |- | KLA || Daewoo/GM Daewoo/GM Korea (Chevrolet/Alpheon)<br /> from Bupyeong & Kunsan plants |- | KLP || CT&T United (battery electric low-speed vehicles) |- | KLT || Tata Daewoo |- | KLU || Tata Daewoo |- | KLY || Daewoo/GM Daewoo/GM Korea (Chevrolet) from Changwon plant |- | KL1 || GM Daewoo/GM Korea (Chevrolet car) |- | KL2 || Daewoo/GM Daewoo (Pontiac) |- | KL3 || GM Daewoo/GM Korea (Holden) |- | KL4 || GM Korea (Buick) |- | KL5 || GM Daewoo (Suzuki) |- | KL6 || GM Daewoo (GMC) |- | KL7 || Daewoo (GM Canada brands: Passport, Asuna (Pre-2000)) |- | KL7 || GM Daewoo/GM Korea (Chevrolet MPV/SUV (Post-2000)) |- | KL8 || GM Daewoo/GM Korea (Chevrolet car from Changwon plant (Spark)) |- | KM || [[../Hyundai/VIN Codes|Hyundai]] |- | KMC || Hyundai commercial truck |- | KME || Hyundai commercial truck (semi-tractor) |- | KMF || Hyundai van & commercial truck & Bering Truck |- | KMH || Hyundai car & Mexican market Dodges made by Hyundai |- | KMJ || Hyundai minibus/bus |- | KMT || Genesis Motor car |- | KMU || Genesis Motor SUV |- | KMX || Hyundai Galloper SUV |- | KMY || Daelim Motor Company, Ltd/DNA Motors Co., Ltd. (motorcycles) |- | KM1 || Hyosung Motors (motorcycles) |- | KM4 || Hyosung Motors/S&T Motors/KR Motors (motorcycles) |- | KM8 || Hyundai SUV |- | KNA || Kia car |- | KNC || Kia truck |- | KND || Kia MPV/SUV & Hyundai Entourage |- | KNE || Kia for Europe export |- | KNF || Kia, special vehicles |- | KNG || Kia minibus/bus |- | KNJ || Ford Festiva & Aspire made by Kia |- | KNL || Kia Elan/Vigato made by Kia Motech |- | KNM || Renault Samsung Motors, Nissan Rogue made by Renault Samsung, Nissan Sunny made by Renault Samsung |- | KNM || Renault Korea Co., Ltd. |- | KN1 || Asia Motors |- | KN2 || Asia Motors |- | KPA || SsangYong/KG Mobility (KGM) pickup |- | KPB || SsangYong car |- | KPD || SsangYong TransStar (bus) |- | KPH || Mitsubishi Precis |- | KPT || SsangYong/KG Mobility (KGM) SUV/MPV |- | LAA || Shanghai Jialing Vehicle Co., Ltd. (motorcycle) |- | LAE || Jinan Qingqi Motorcycle |- | LAL || Sundiro [[../Honda/VIN Codes|Honda]] Motorcycle |- | LAN || Changzhou Yamasaki Motorcycle |- | LAP || Chongqing Jianshe Motorcycle Co., Ltd. |- | LAP || Zhuzhou Nanfang Motorcycle Co., Ltd. |- | LAT || Luoyang Northern Ek Chor Motorcycle Co., Ltd. (Dayang) |- | LA6 || Xiamen King Long United Automotive Industry Co., Ltd. (bus) |- | LA7 || Radar Auto (Geely) |- | LA8 || Anhui Ankai |- | LA9/AYS || Jiangsu Alfa Bus Co., Ltd. (bus) |- | LA9/BFC || Beijing North Huade Neoplan Bus Co., Ltd. |- | LA9/FBC || Xiamen Fengtai Bus & Coach International Co., Ltd. (FTBCI) (bus) |- | LA9/HFF || Anhui Huaxia Vehicle Manufacturing Co., Ltd. (bus) |- | LA9/JXK || CHTC Bonluck Bus Co., Ltd. |- | LA9/LC0 || BYD |- | LA9/LFJ || Xinlongma Automobile |- | LA9/LM6 || SRM Shineray |- | LBB || Zhejiang Qianjiang Motorcycle (QJ Motor/Keeway/Benelli) |- | LBE || Beijing [[../Hyundai/VIN Codes|Hyundai]] (Hyundai, Shouwang) |- | LBM || Zongshen Piaggio |- | LBP || Chongqing Jianshe Yamaha Motor Co. Ltd. (motorcycles) |- | LBV || BMW Brilliance (BMW, Zinoro) |- | LBX || Jiangsu Kinroad Xintian Motorcycle Manufacture Co. Ltd. (motorcycles) |- | LBZ || Yantai Shuchi Vehicle Co., Ltd. (bus) |- | LB1 || Fujian Benz |- | LB2 || Geely Motorcycles |- | LB3 || Zhejiang Geely Holding Group (Geely, Galaxy, Geometry, Kandi) |- | LB4 || Chongqing Yinxiang Motorcycle Group Co., Ltd. |- | LB5 || Foshan City Fosti Motorcycle Co., Ltd. |- | LB7 || Tibet New Summit Motorcycle Co., Ltd. |- | LCE || Hangzhou Chunfeng Motorcycles (CFMOTO) |- | LCR || Gonow |- | LC0 || BYD Auto (BYD, Denza) |- | LC2 || Changzhou Kwang Yang Motor Co., Ltd. (Kymco) |- | LC6 || Changzhou Haojue Suzuki Motorcycle Co. Ltd. |- | LDB || Dadi Auto |- | LDC || Dongfeng Peugeot Citroen Automobile Co., Ltd. (DPCA), Dongfeng Fengshen (Aeolus) L60 |- | LDD || Dandong Huanghai Automobile |- | LDF || Dezhou Fulu Vehicle Co., Ltd. (motorcycles), BAW Yuanbao electric car (Ace P1 in Norway) |- | LDK || FAW Bus (Dalian) Co., Ltd. |- | LDN || Soueast (South East (Fujian) Motor Co., Ltd.) including Mitsubishi made by Soueast |- | LDP || Dongfeng, Dongfeng Fengshen (Aeolus), Voyah, Renault City K-ZE/Venucia e30 made by eGT New Energy Automotive |- | LDY || Zhongtong Bus Holding Co. Ltd. |- | LD3 || Guangdong Tayo Motorcycle Technology Co. (Zontes) (motorcycle) |- | LD5 || Benzhou Vehicle Industry Group Ltd. (motorcycle) |- | LD9/L3A || SiTech (FAW) |- | LEC || Tianjin Qingyuan Electric Vehicle Co., Ltd. |- | LEF || Jiangling Motors Corporation Ltd. (JMC) |- | LEH || Zhejiang Riya Motorcycle Co. Ltd. |- | LET || Jiangling-Isuzu Motors, China |- | LEW || Dongfeng commercial vehicle |- | LE4 || Beijing Benz & Beijing Benz-Daimler Chrysler Automotive Co. (Chrysler, Jeep, Mitsubishi, Mercedes-Benz) & Beijing Jeep Corp. |- | LE8 || Guangzhou Panyu Hua'Nan Motors Industry Co. Ltd. (motorcycles) |- | LFB || FAW Group (Bestune, Hongqi) & Mazda made under license by FAW (Mazda 8, CX-7) |- | LFF || Zhejiang Taizhou Wangye Power Co., Ltd. |- | LFG || Taizhou Chuanl Motorcycle Manufacturing |- | LFJ || Fujian Motors Group (Keyton) |- | LFM || FAW Toyota Motor (Toyota, Ranz) |- | LFN || FAW Bus (Wuxi) Co., Ltd. (truck, bus) |- | LFP || FAW Car, Bestune, Hongqi (passenger vehicles) & Mazda made under license by FAW (Mazda 6, CX-4) |- | LFT || FAW (trailers) |- | LFU || Lifeng Group Co., Ltd. (motorcycles) |- | LFV || FAW-Volkswagen (VW, Audi, Jetta, Kaili) |- | LFW || FAW JieFang (truck) |- | LFX || Sany Heavy Industry (truck) |- | LFY || Changshu Light Motorcycle Factory |- | LFZ || Leapmotor |- | LF3 || Lifan Motorcycle |- | LGA || Dongfeng Commercial Vehicle Co., Ltd. trucks |- | LGB || Dongfeng Nissan (Nissan, Infiniti, Venucia) |- | LGB || Dongfeng Commercial Vehicle Co., Ltd. |- | LGC || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGD || Dongfeng Commercial Vehicle Co., Ltd. |- | LGF || Dongfeng Commercial Vehicle Co., Ltd. bus chassis |- | LGG || Dongfeng Liuzhou Motor (Forthing/Fengxing) |- | LGJ || Dongfeng Fengshen (Aeolus) |- | LGL || Guilin Daewoo |- | LGV || Heshan Guoji Nanlian Motorcycle Industry Co., Ltd. |- | LGW || Great Wall Motor (GWM, Haval, Ora, Tank, Wey) |- | LGX || BYD Auto (BYD, Fangchengbao) |- | LGZ || Guangzhou Denway Bus |- | LG6 || Dayun Group |- | LHA || Shuanghuan Auto |- | LHB || Beijing Automotive Industry Holding |- | LHG || GAC Honda (Honda, Everus, Acura) |- | LHJ || Chongqing Astronautic Bashan Motorcycle Manufacturing Co., Ltd. |- | LHM || Dongfeng Renault Automobile Co. |- | LHW || CRRC Electric Vehicle Co., Ltd. (bus) |- | LH0 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LH1 || FAW-Haima, China |- | LJC || Jincheng Corporation |- | LJD || Yueda Kia (previously Dongfeng Yueda Kia) (Kia, Horki) & Human Horizons - HiPhi (made under contract by Yueda Kia) |- | LJM || Sunlong (bus) |- | LJN || Zhengzhou Nissan |- | LJR || CIMC Vehicles Group (truck trailer) |- | LJS || Yaxing Coach, Asiastar Bus |- | LJU || Shanghai Maple Automobile & Kandi & Zhidou |- | LJU || Lotus Technology (Wuhan Lotus Cars Co., Ltd.) |- | LJV || Sinotruk Chengdu Wangpai Commercial Vehicle Co., Ltd. |- | LJW || JMC Landwind |- | LJX || JMC Ford |- | LJ1 || JAC (JAC, Sehol) |- | LJ1 || Nio, Inc. |- | LJ4 || Shanghai Jmstar Motorcycle Co., Ltd. |- | LJ5 || Cixi Kingring Motorcycle Co., Ltd. (Jinlun) |- | LJ8 || Zotye Auto made by Jiangnan Automobile |- | LKC || BAIC commercial vehicles, previously Changhe |- | LKG || Youngman Lotus Automobile Co., Ltd. |- | LKH || Hafei Motor |- | LKL || Higer Bus |- | LKT || Yunnan Lifan Junma Vehicle Co., Ltd. commercial vehicles |- | LK2 || Anhui JAC Bus |- | LK6 || SAIC-GM-Wuling (Wuling, Baojun) microcars and other vehicles |- | LK8 || Zhejiang Yule New Energy Automobile Technology Co., Ltd. (ATV) |- | LLC || Loncin Motor Co., Ltd. (motorcycle) |- | LLJ || Jiangsu Xinling Motorcycle Fabricate Co., Ltd. |- | LLN || Qoros |- | LLP || Zhejiang Jiajue Motorcycle Manufacturing Co., Ltd. |- | LLU || Dongfeng Fengxing Jingyi |- | LLV || Lifan, Maple (owned by Geely), Livan Automotive |- | LLX || Yudo Auto |- | LL0 || Sanmen County Yongfu Machine Co., Ltd. (motorcycles) |- | LL2 || WM Motor Technology Co., Ltd. (Weltmeister) |- | LL3 || Xiamen Golden Dragon Bus Co. Ltd. |- | LL6 || GAC Mitsubishi Motors Co., Ltd. (formerly Hunan Changfeng) |- | LL8 || Jiangsu Linhai Yamaha Motor Co., Ltd. |- | LMC || Suzuki Hong Kong (motorcycles) |- | LME || Skyworth (formerly Skywell), Elaris Beo |- | LMF || Jiangmen Zhongyu Motor Co., Ltd. |- | LMG || GAC Motor, Trumpchi, [[w:Dodge Attitude#Fourth generation (2025)|Dodge Attitude made by GAC]] |- | LMH || Jiangsu Guowei Motor Co., Ltd. (Motoleader) |- | LMP || Geely Sichuan Commercial Vehicle Co., Ltd. |- | LMV || Haima Car Co., Ltd. |- | LMV || XPeng Motors G3 (not G3i) made by Haima |- | LMW || GAC Group, [[w:Trumpchi GS5#Dodge Journey|Dodge Journey made by GAC]] |- | LMX || Forthing (Dongfeng Fengxing) |- | LM0 || Wangye Holdings Co., Ltd. (motorcycles) |- | LM6 || SWM (automobiles) |- | LM8 || Seres (formerly SF Motors), AITO |- | LNA || GAC Aion New Energy Automobile Co., Ltd., Hycan |- | LNB || BAIC Motor (Senova, Weiwang, Huansu) & Arcfox & Xiaomi SU7 built by BAIC |- | LND || JMEV (Jiangxi Jiangling Group New Energy Vehicle Co., Ltd.), Eveasy/Mobilize Limo |- | LNE || Zhejiang CRRC Electric Vehicle Co., Ltd. (bus) |- | LNP || NAC MG UK Limited & Nanjing Fiat Automobile |- | LNN || Chery Automobile, Omoda, Jaecoo |- | LNV || Naveco (Nanjing Iveco Automobile Co. Ltd.) |- | LNX || Dongfeng Liuzhou Motor (Chenglong trucks) |- | LNY || Yuejin |- | LPA || Changan PSA (DS Automobiles) |- | LPE || BYD Auto |- | LPS || Polestar |- | LP6 || Guangzhou Panyu Haojian Motorcycle Industry Co., Ltd. |- | LRB || SAIC-General Motors (Buick for export) |- | LRD || Beijing Foton Daimler Automotive Co., Ltd. Auman trucks |- | LRE || SAIC-General Motors (Cadillac for export) |- | LRP || Chongqing Rato Power Co. Ltd. (Asus) |- | LRR || Ningbo Longjia Power Technology Co., Ltd. (motorcycles) |- | LRW || Tesla, Inc. (Gigafactory Shanghai) |- | LR4 || Yadi Technology Group |- | LR6 || Guangzhou Dayun Vehicle Co., Ltd. |- | LSC || Changan Automobile (light truck) |- | LSF || SAIC Maxus or LDV pickup/SUV & Chevrolet S10 Max & Shanghai Sunwin Bus Corporation |- | LSG || SAIC-General Motors (For China: Chevrolet, Buick, Cadillac, Sail Springo, For export: Chevrolet) |- | LSH || SAIC Maxus van or LDV van & Chevrolet Express Max |- | LSJ || SAIC MG & SAIC Roewe & IM Motors & Rising Auto |- | LSK || SAIC Maxus or LDV van |- | LSV || SAIC-Volkswagen (VW, Skoda, Audi, Tantus) |- | LSY || Brilliance (Jinbei, Zhonghua) & Jinbei GM |- | LS3 || Hejia New Energy Vehicle Co., Ltd |- | LS4 || Changan Automobile (MPV/SUV) |- | LS5 || Changan Automobile (car) & Changan Suzuki |- | LS6 || Changan Automobile & Deepal Automobile & Avatr |- | LS7 || JMC Heavy Duty Truck Co., Ltd. |- | LS8 ||Henan Shaolin Auto Co., Ltd. (bus) |- | LTA || ZX Auto |- | LTN || Soueast-built Chrysler & Dodge vehicles |- | LTP || National Electric Vehicle Sweden AB (NEVS) |- | LTV || FAW [[../Toyota/VIN Codes|Toyota]] (Tianjin) |- | LTW || Zhejiang Dianka Automobile Technology Co. Ltd. (Enovate) |- | LT1 || Yangzhou Tonghua Semi-Trailer Co., Ltd. (truck trailer) |- | LUC || [[../Honda/VIN Codes|Honda]] Automobile (China) |- | LUD || Dongfeng Nissan Diesel Motor Co Ltd. |- | LUG || Qiantu Motor |- | LUJ || Zhejiang Shanqi Tianying Vehicle Industry Co., Ltd. (motorcycles) |- | LUR || Chery Automobile, iCar |- | LUX || Dongfeng Yulon Motor Co. Ltd. |- | LUZ || Hozon Auto New Energy Automobile Co., Ltd. (Neta) |- | LVA || Foton Motor |- | LVB || Foton Motor truck |- | LVC || Foton Motor bus |- | LVF || Changhe Suzuki |- | LVG || GAC Toyota (Toyota, Leahead) |- | LVH || Dongfeng Honda (Honda, Ciimo) |- | LVM || Chery Commercial Vehicle |- | LVP || Dongfeng Sokon Motor Company (DFSK) |- | LVR || Changan Mazda |- | LVS || Changan [[../Ford/VIN Codes|Ford]] (Ford, Lincoln) & Changan Ford Mazda & Volvo S40 and S80L made by Changan Ford Mazda |- | LVT || Chery Automobile, Exeed, Jetour, Soueast |- | LVU || Chery Automobile, Jetour |- | LVV || Chery Automobile, Omoda, Jaecoo |- | LVX || Landwind, JMC (discontinued in 2021) |- | LVX || Aiways Automobiles Company Ltd |- | LVY || Volvo Cars Daqing factory |- | LVZ || Dongfeng Sokon Motor Company (DFSK) |- | LV3 || Hengchi Automobile (Evergrande Group) |- | LV7 || Jinan Qingqi Motorcycle |- | LWB || Wuyang Honda Motorcycle (Guangzhou) Co., Ltd. |- | LWE || Yangtse Motor Group (bus) |- | LWG || Chongqing Huansong Industries (Group) Co., Ltd. |- | LWL || Qingling Isuzu |- | LWM || Chongqing Wonjan Motorcycle Co., Ltd. |- | LWV || GAC Fiat Chrysler Automobiles (Fiat, Jeep) |- | LWX || Shanghai Wanxiang Automobile Manufacturing Co., Ltd. (bus) |- | LW4 || Li Auto |- | LXA || Jiangmen Qipai Motorcycle Co., Ltd. |- | LXD || Ningbo Dongfang Lingyun Vehicle Made Co., Ltd. (motorcycle) |- | LXG || Xuzhou Construction Machinery Group Co., Ltd. (XCMG) |- | LXK || Shanghai Meitian Motorcycle Co., Ltd. |- | LXM || Xiamen Xiashing Motorcycle Co., Ltd. (SYM) |- | LXN || Link Tour |- | LXV || Beijing Borgward Automotive Co., Ltd. |- | LXW || JMC - Ford |- | LXY || Chongqing Shineray Motorcycle Co., Ltd. |- | LX6 || Jiangmen City Huari Group Co. Ltd. (motorcycle) |- | LX8 || Chongqing Xgjao (Xinganjue) Motorcycle Co Ltd. |- | LYB || Weichai (Yangzhou) Yaxing Automobile Co., Ltd. |- | LYD || Taizhou City Kaitong Motorcycle Co., Ltd. (motorcycle) |- | LYJ || Beijing ZhongdaYanjing Auto Co., Ltd. (bus) |- | LYM || Zhuzhou Jianshe Yamaha Motorcycle Co., Ltd. |- | LYS || Nanjing Vmoto Manufacturing Co. Ltd. (motorcycle) |- | LYU || Huansu (BAIC Motor & Yinxiang Group) |- | LYV || Volvo Cars Chengdu factory & Luqiao factory |- | LY4 || Chongqing Yingang Science & Technology Group Co., Ltd. (motorcycle) |- | LZE || Isuzu Guangzhou, China |- | LZF || SAIC Iveco Hongyan (-2021), SAIC Hongyan (2021-) |- | LZG || Shaanxi Automobile Group (Shacman) |- | LZK || Sinotruk (CNHTC) Huanghe bus |- | LZL || Zengcheng Haili Motorcycle Ltd. |- | LZM || MAN China |- | LZP || Zhongshan Guochi Motorcycle (Baotian) |- | LZS || Zongshen, Electra Meccanica Vehicles Corp. (Solo) made by Zongshen |- | LZU || Guangzhou Isuzu Bus |- | LZW || SAIC-GM-Wuling (Wuling, Baojun, Chevrolet [for export]) |- | LZY || Yutong Bus Co., Ltd. |- | LZZ || Sinotruk (CNHTC) (Howo, Sitrak) |- | LZ0 || Shandong Wuzheng Group Co., Ltd. |- | LZ4 || Jiangsu Linzhi Shangyang Group Co Ltd. |- | LZ9/LZX || Raysince |- | L0N || Ezytrail (camper trailers) |- | L1K || Chongqing Hengtong Bus Co., Ltd. |- | L1N || XPeng Motors |- | L10 || Geely Emgrand |- | L2B || Jiangsu Baodiao Locomotive Co., Ltd. (motorcycles) |- | L2C || Chery Jaguar Land Rover |- | L3H || Shanxi Victory Automobile Manufacturing Co., Ltd. |- | L37 || Huzhou Daixi Zhenhua Technology Trade Co., Ltd. (motorcycles) |- | L4B || Xingyue Group (motorcycles) |- | L4F || Suzhou Eagle Electric Vehicle Manufacturing Co., Ltd. |- | L4H || Ningbo Longjia Motorcycle Co., Ltd. |- | L4S || Zhejiang Xingyue Vehicle Co Ltd. (motorcycles) |- | L4Y || Qingqi Group Ningbo Rhon Motorcycle / Ningbo Dalong Smooth Locomotive Industry Co., Ltd. |- | L5C || Zhejiang Kangdi Vehicles Co., Ltd. (motorcycles, ATVs) |- | L5E || Zoomlion Heavy Industry Science & Technology Co., Ltd. |- | L5K || Zhejiang Yongkang Easy Vehicle |- | L5N || Zhejiang Taotao (ATV & motorcycles) |- | L5Y || Taizhou Zhongneng Motorcycle Co. Ltd. (Znen) |- | L6F || Shandong Liangzi Power Co. Ltd. |- | L6J || Zhejiang Kayo Motor Co. Ltd. (ATV) |- | L6K || Shanghai Howhit Machinery Manufacture Co. Ltd. |- | L6T || Geely, Lynk & Co, Zeekr |- | L66 || Zhuhai Granton Bus and Coach Co. Ltd. |- | L82 || Baotian |- | L85 || Zhejiang Yongkang Huabao Electric Appliance |- | L8A || Jinhua Youngman Automobile Manufacturing Co., Ltd. |- | L8X || Zhejiang Summit Huawin Motorcycle |- | L8Y || Zhejiang Jonway Motorcycle Manufacturing Co., Ltd. |- | L9G || Zhuhai Guangtong Automobile Co., Ltd. (bus) |- | L9N || Zhejiang Taotao Vehicles Co., Ltd. |- | MAA || India Kawasaki Motors Pvt. Ltd. |- | MAB || Mahindra & Mahindra |- | MAC || Mahindra & Mahindra |- | MAH || Fiat India Automobiles Pvt. Ltd |- | MAJ || [[../Ford/VIN Codes|Ford]] India |- | MAK || [[../Honda/VIN Codes|Honda]] Cars India |- | MAL || Hyundai Motor India |- | MAN || Eicher Polaris Multix |- | MAT || Tata Motors, Rover CityRover |- | MA1 || Mahindra & Mahindra |- | MA3 || Maruti Suzuki India (domestic & export) |- | MA6 || GM India |- | MA7 || Hindustan Motors Ltd. & Mitsubishi Motors & Isuzu models made by Hindustan Motors |- | MA8 || Daewoo Motor India |- | MBF || Royal Enfield |- | MBH || Suzuki (for export) & Nissan Pixo made by Maruti Suzuki India Limited |- | MBJ || [[../Toyota/VIN Codes|Toyota]] Kirloskar Motor Pvt. Ltd. |- | MBK || MAN Trucks India Pvt. Ltd. |- | MBL || Hero MotoCorp |- | MBR || Mercedes-Benz India |- | MBU || Swaraj Vehicles Limited |- | MBV || Premier Automobiles Ltd. |- | MBX || Piaggio India (Piaggio Ape) |- | MBY || Asia Motor Works Ltd. |- | MB1 || Ashok Leyland |- | MB2 || Hyundai Motor India (SUV) |- | MB7 || Reva Electric Car Company/Mahindra Reva Electric Vehicles Pvt. Ltd. |- | MB8 || Suzuki Motorcycle India Limited |- | MCA || FCA India Automobiles Pvt. Ltd. (Fiat, Jeep) |- | MCB || GM India |- | MCD || Mahindra Two Wheelers |- | MCG || Atul Auto Ltd. |- | MCL || International Cars And Motors Ltd. |- | MC1 || Force Motors Ltd. |- | MC2 || Eicher Motors Ltd./Volvo Eicher Commercial Vehicles Ltd. |- | MC4 || Dilip Chhabria Design Pvt Ltd. |- | MC9/RE1 || Reva Electric Car Company (Reva G-Wiz) |- | MDE || Kinetic Engineering Limited |- | MDH || Nissan Motor India Pvt Ltd. (including Datsun) |- | MDT || Kerala Automobiles Limited |- | MD2 || Bajaj Auto Ltd. & KTM and Husqvarna motorcycles built by Bajaj & Indian-market Triumph motorcycles built by Bajaj |- | MD6 || TVS Motor Company |- | MD7 || LML Ltd including Genuine Scooter Company Stella |- | MD9 || Shuttle Cars India |- | MEC || Daimler India Commercial Vehicles (BharatBenz) |- | MEE || Renault India Private Limited |- | MEG || Harley-Davidson India |- | MER || Benelli India |- | MES || Mahindra Navistar |- | MET || Piaggio India (Vespa, Indian-market Aprilia) |- | MEX || Škoda Auto Volkswagen India Pvt. Ltd. 2015 on |- | ME1 || India Yamaha Motor Pvt. Ltd. |- | ME3 || Royal Enfield |- | ME4 || Honda Motorcycle and Scooter India |- | MYH || Ather Energy |- | MZB || Kia India Pvt. Ltd. |- | MZD || Classic Legends Private Limited – Jawa |- | MZZ || Citroen India (PCA Automobiles India Private Limited) |- | MZ7 || MG Motor India Pvt. Ltd. |- | M3G || Isuzu Motors India |- | M6F || UM Lohia Two Wheelers Private Limited |- | ME9/ || BUYMYEV TECHNOLOGY PVT. LTD. (Indibike) |- | MF3 || PT Hyundai Motor Manufacturing Indonesia |- | MHB || PT Nissan Motor Indonesia |- | MHD || PT Indomobil Suzuki International |- | MHF || PT [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Indonesia |- | MHK || PT Astra Daihatsu Motor (includes Toyotas made by Astra Daihatsu) |- | MHL || PT Mercedes-Benz Indonesia |- | MHR || [[../Honda/VIN Codes|Honda]] Indonesia (PT Honda Prospect Motor) (car) |- | MHY || PT Suzuki Indomobil Motor (car, MPV, van) |- | MH1 || PT Astra Honda Motor (motorcycle) |- | MH3 || PT Yamaha Indonesia Motor Mfg. |- | MH4 || PT Kawasaki Motor Indonesia |- | MH8 || PT Suzuki Indomobil Motor (motorcycle) |- | MJB || GM Indonesia |- | MKF || PT Sokonindo Automobile (DFSK) |- | MK2 || PT Mitsubishi Motors Krama Yudha Indonesia |- | MK3 || PT SGMW Motor Indonesia (Wuling) |- | MLB || Siam Yamaha Co Ltd. |- | MLC || Thai Suzuki Motor Co., Ltd. (motorcycle) |- | MLE || Thai Yamaha Motor Co., Ltd. |- | MLH || Thai [[../Honda/VIN Codes|Honda]] Manufacturing Co., Ltd. (motorcycle) |- | MLW || Sco Motor Co., Ltd. (motorcycle) |- | MLY || Harley-Davidson Thailand |- | ML0 || Ducati Motor (Thailand) Co., Ltd. |- | ML3 || Mitsubishi Motors, Dodge Colt 100 [Canada], [[w:Dodge Attitude#Third generation (A10; 2015)|Dodge Attitude]] [Mexico] made by Mitsubishi (Thailand) |- | ML5 || Kawasaki Motors Enterprise Co. Ltd. (Thailand) |- | MMA || Mitsubishi Motors (Thailand) |- | MMB || Mitsubishi Motors (Thailand) |- | MMC || Mitsubishi Motors (Thailand) |- | MMD || Mitsubishi Motors (Thailand) |- | MME || Mitsubishi Motors (Thailand) |- | MMF || BMW Manufacturing (Thailand) Co., Ltd. |- | MML || MG Thailand (SAIC-CP) |- | MMM || Chevrolet Thailand, Holden Colorado RC pickup |- | MMR || Subaru/Tan Chong Subaru Automotive (Thailand) Co. Ltd. |- | MMS || Suzuki Motor (Thailand) Co., Ltd. (passenger car) |- | MMT || Mitsubishi Motors (Thailand) |- | MMU || Holden Thailand (Colorado RG, Colorado 7, & Trailblazer) |- | MM0, MM6, MM7, MM8 || Mazda Thailand (Ford-Mazda AutoAlliance Thailand plant) |- | MNA || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for Australia/New Zealand export |- | MNB || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for other right-hand drive markets |- | MNC || [[../Ford/VIN Codes|Ford]] Thailand (Ford-Mazda AutoAlliance Thailand plant) for left-hand drive markets |- | MNK || Hino Motors Manufacturing Thailand Co Ltd. |- | MNT || Nissan Motor (Thailand) Co., Ltd. |- | MNU || Great Wall Motor Manufacturing (Thailand) Co., Ltd. |- | MN3 || Eagle Vista [Canada] made by Mitsubishi (Thailand) |- | MPA || Isuzu Motors (Thailand) Co., Ltd. & Holden Rodeo RA pickup made by Isuzu in Thailand |- | MPB || [[../Ford/VIN Codes|Ford]] Thailand (Ford Thailand Manufacturing plant) |- | MP1 || Isuzu Motors (Thailand) Co., Ltd. |- | MP2 || Mazda BT-50 pickup built by Isuzu Motors (Thailand) Co., Ltd. |- | MP3 || Plymouth Colt 100 [Canada] made by Mitsubishi (Thailand) |- | MP5 || Foton Motor Thailand |- | MRH || [[../Honda/VIN Codes|Honda]] Thailand (car) |- | MRT || Neta (Hozon Auto) made by Bangchan General Assembly Co., Ltd. |- | MR0 || [[../Toyota/VIN Codes|Toyota]] Thailand (pickups & Fortuner SUV) |- | MR1 || [[../Toyota/VIN Codes|Toyota]] Thailand |- | MR2 || [[../Toyota/VIN Codes|Toyota]] Thailand (Gateway plant) (passenger cars & CUVs) |- | MR3 || [[../Toyota/VIN Codes|Toyota]] Thailand (Hilux Champ chassis cab) |- | MS0 || [[../SUPER SEVEN STARS MOTORS INDUSTRY CO.,LTD/VIN Codes|Super Seven Stars Motors]] Myanmar |- | MS1 || [[../SUPER SEVEN STARS AUTOMOTIVE CO.,LTD/VIN Codes|Super Seven Stars Automotive]] Myanmar |- | MS3 || Suzuki Myanmar Motor Co., Ltd. |- | MXB || Saryarka AvtoProm bus (Kazakhstan) |- | MXL || Yutong bus made by Qaz Tehna (Kazakhstan) |- | MXV || IMZ-Ural Ural Motorcycles (Kazakhstan) |- | MX3 || Hyundai Trans Auto (Kazakhstan) |- | NAA || Iran Khodro (Peugeot Iran) |- | NAC || Mammut (truck trailers) |- | NAD || Škoda |- | NAL || Maral Sanat Jarvid (truck trailers) |- | NAP || Pars Khodro |- | NAS || SAIPA |- | NC0 || Oghab Afshan (bus) |- | NC9/ || VIRA Diesel |- | ND9/345 || Oghab Afshan (bus) |- | NFB || Honda Atlas Cars Pakistan Ltd. |- | NG3 || Lucky Motor Corporation |- | NLA || Honda Turkiye A.S. cars |- | NLC || Askam Kamyon Imalat Ve Ticaret A.S. |- | NLE || Mercedes-Benz Türk A.S. Truck |- | NLF || Koluman Otomotiv Endustri A.S. (truck trailer) |- | NLH || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv car/SUV |- | NLJ || [[../Hyundai/VIN Codes|Hyundai]] Assan Otomotiv van |- | NLN || Karsan |- | NLR || Otokar |- | NLT || Temsa |- | NLZ || Tezeller |- | NL1 || TOGG |- | NL2 || HABAS/HBS (bus) |- | NMA || MAN Türkiye A.Ş. |- | NMB || Mercedes-Benz Türk A.S. Buses |- | NMC || BMC Otomotiv Sanayi ve Ticaret A.Ş. |- | NMH || Honda Anadolu motorcycle |- | NMS || Otoyol San. A.Ş. |- | NMT || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing Turkey |- | NM0 || Ford Otosan |- | NM1 || Oyak Renault Otomobil Fabrikaları A.Ş. |- | NM4 || Tofaş (Turk Otomobil Fabrikasi AS) |- | NNA || Anadolu Isuzu |- | NNN || Gépébus Oréos 4X (based on Otokar Vectio) |- | NNY || Yeksan (truck trailer) |- | NPM || Seyit Usta Treyler (truck trailer) |- | NPR || Oztreyler (truck trailer) |- | NPS || Nursan (truck trailer) |- | NP8|| ÖZGÜL TREYLER (truck trailer) |- | NP9/002 || OKT Trailer (truck trailer) |- | NP9/003 || Aksoylu Trailer (truck trailer) |- | NP9/011 || Güleryüz (bus) |- | NP9/021 || Dogumak (truck trailer) |- | NP9/022 || Alim (truck trailer) |- | NP9/042 || Ali Rıza Usta (truck trailer) |- | NP9/066 || Makinsan (truck trailer) |- | NP9/093 || BRF Trailer (truck trailer) |- | NP9/103 || Türkkar (bus) |- | NP9/106 || Çarsan Treyler (truck trailer) |- | NP9/107 || Arbus Perfect (bus) |- | NP9/108 || Guven Makina (truck trailer) |- | NP9/117 || Katmerciler (truck trailer) |- | NP9/300 || TCV (bus) |- | NP9/258 || Ceytrayler (truck trailer) |- | NP9/306 || Cryocan (truck trailer) |- | NRE || Bozankaya |- | NRX || Musoshi |- | NRY || Pilotcar Otomotiv |- | NR9/012 || Doğan Yıldız (truck trailer) |- | NR9/028 || Micansan (truck trailer) |- | NR9/029 || Yilteks (truck trailer) |- | NR9/034 || Akia (bus) |- | NR9/084 || Harsan (truck trailer) |- | NR9/257 || Vega Trailer (truck trailer) |- | NSA || SamAvto / SAZ (Uzbekistan) |- | NS2 || JV MAN Auto - Uzbekistan |- | NVA || Khazar (IKCO Dena made in Azerbaijan) |- | PAB || Isuzu Philippines Corporation |- | PAD || Honda Cars Philippines |- | PE1 || Ford Motor Company Philippines |- | PE3 || Mazda Philippines made by Ford Motor Company Philippines |- | PFD || Hyundai Motor Group Innovation Center in Singapore (HMGICS) |- | PL1 || Proton, Malaysia |- | PL8 || Inokom-Hyundai |- | PLP || Subaru/Tan Chong Motor Assemblies, Malaysia |- | PLZ || Isuzu Malaysia |- | PMA || MAN Truck & Bus Malaysia |- | PMH || Honda Malaysia (car) |- | PMK || Honda Boon Siew (motorcycle) |- | PML || Hicom |- | PMN || Modenas |- | PMS || Suzuki Assemblers Malaysia (motorcycle) |- | PMV || Hong Leong Yamaha Motor Sdn. Bhd. |- | PMY || Hong Leong Yamaha Motor Sdn. Bhd. |- | PM1 || BMW & Mini/Inokom |- | PM2 || Perodua |- | PM9/ || Bufori |- | PNA || Naza/Kia/Peugeot |- | PNA || Stellantis Gurun (Malaysia) Sdn. Bhd. (Peugeot) |- | PNS || SKSBUS Malaysia (bus) |- | PNS || TMSBUS Malaysia (bus) |- | PNV || Volvo Car Manufacturing Malaysia |- | PN1 || UMW Toyota Motor |- | PN2 || UMW Toyota Motor |- | PN8 || Nissan/Tan Chong Motor Assemblies, Malaysia |- | PPP || Suzuki |- | PPV || Volkswagen/HICOM Automotive Manufacturers (Malaysia) |- | PP1 || Mazda/Inokom |- | PP3 || Hyundai/Inokom |- | PRA || Sinotruk |- | PRH || Chery (by Chery Alado Holdings [joint venture] at Oriental Assemblers plant) |- | PRX || Kia/Inokom |- | PR8 || Ford |- | PRN || GAC Trumpchi made by Warisan Tan Chong Automotif Malaysia |- | PV3 || Ford made by RMA Automotive Cambodia |- | RA1 || Steyr Trucks International FZE, UAE |- | RA9/015 || Al-Assri Industries (Trailers), UAE |- | LFA || Ford Lio Ho Motor Co Ltd. old designation (Taiwan) |- | LM1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LM4 || Tai Ling Motor Co Ltd. old designation (Suzuki ATV made by Tai Ling) (Taiwan) |- | LN1 || Tai Ling Motor Co Ltd. old designation (Suzuki motorcycle made by Tai Ling) (Taiwan) |- | LPR || Yamaha Motor Taiwan Co. Ltd. old designation (Taiwan) |- | RFB || Kwang Yang Motor Co., Ltd. (Kymco), Taiwan |- | RFC || Taiwan Golden Bee |- | RFD || Tai Ling Motor Co Ltd. new designation (Taiwan) |- | RFG || Sanyang Motor Co., Ltd. (SYM) Taiwan |- | RFL || Her Chee Industrial Co., Ltd. (Adly), Taiwan |- | RFT || CPI Motor Company, Taiwan |- | RFV || Motive Power Industry Co., Ltd. (PGO Scooters including Genuine Scooter Company models made by PGO) (Taiwan) |- | RF3 || Aeon Motor Co., Ltd., Taiwan |- | RF5 || Yulon Motor Co. Ltd., Taiwan (Luxgen) |- | RF8 || EVT Technology Co., Ltd (motorcycle) |- | RGS || Kawasaki made by Kymco (Taiwan) |- | RHA || Ford Lio Ho Motor Co Ltd. new designation (Taiwan) |- | RKJ || Prince Motors Taiwan |- | RKL || Kuozui Motors (Toyota) (Taiwan) |- | RKM || China Motor Corporation (Taiwan) |- | RKR || Yamaha Motor Taiwan Co. Ltd. new designation |- | RKT || Access Motor Co., Ltd. (Taiwan) |- | RK3 || E-Ton Power Tech Co., Ltd. (motorcycle) (Taiwan) |- | RK3 || Honda Taiwan |- | RK7 || Kawasaki ATV made by Tai Ling Motor Co Ltd (rebadged Suzuki ATV) new designation (Taiwan) |- | RLA || Vina Star Motors Corp. – Mitsubishi (Vietnam) |- | RLC || Yamaha Motor Vietnam Co. Ltd. |- | RLE || Isuzu Vietnam Co. |- | RLH || Honda Vietnam Co. Ltd. |- | RLL || VinFast SUV |- | RLM || Mercedes-Benz Vietnam |- | RLN || VinFast |- | RLV || Vietnam Precision Industrial CO., Ltd. (Can-Am DS 70 & DS 90) |- | RL0 || Ford Vietnam |- | RL4 || Toyota Motor Vietnam |- | RP8 || Piaggio Vietnam Co. Ltd. |- | RUN || Sollets-Auto ST6 (Russia) |- | R1J || Jiayuan Power (Hong Kong) Ltd. (Electric Low-Speed Vehicles) (Hong Kong) |- | R1N || Niu Technologies Group Ltd. (Hong Kong) |- | R10 || ZAP (HK) Co. Ltd. |- | R19/003 || GMI (bus) (Hong Kong) |- | R2P || Evoke Electric Motorcycles (Hong Kong) |- | R3M || Mangosteen Technology Co., Ltd. (Hong Kong) |- | R36 || HK Shansu Technology Co., Ltd. (Hong Kong) |- | R4N || Elyx Smart Technology Holdings (Hong Kong) Ltd. |- | R82 || Hangzhou Lantu Technology Co., Ltd. (Hong Kong) |- | SAA || Austin |- | SAB || Optare (1985-2020), Switch Mobility (2021-) |- | SAD || Daimler Company Limited (until April 1987) |- | SAD || Jaguar SUV (E-Pace, F-Pace, I-Pace) |- | SAF || ERF trucks |- | SAH || Honda made by Austin Rover Group |- | SAJ || Jaguar passenger car & Daimler passenger car (after April 1987) |- | SAL || [[../Land Rover/VIN Codes|Land Rover]] |- | SAM || Morris |- | SAR || Rover & MG Rover Group |- | SAT || Triumph car |- | SAX || Austin-Rover Group including Sterling Cars |- | SAY || Norton Motorcycles |- | SAZ || Freight Rover |- | SA3 || Ginetta Cars |- | SA9/ || OX Global |- | SA9/A11 || Morgan Roadster (V6) (USA) |- | SA9/J00 || Morgan Aero 8 (USA) |- | SA9/004 || Morgan (4-wheel passenger cars) |- | SA9/005 || Panther |- | SA9/010 || Invicta S1 |- | SA9/011 || Midas Cars |- | SA9/019 || TVR |- | SA9/022 || Triking Sports Cars |- | SA9/026 || Fleur de Lys |- | SA9/038 || DAX Cars |- | SA9/039 || Westfield Sportscars |- | SA9/048 || McLaren F1 |- | SA9/050 || Marcos Engineering |- | SA9/062 || AC Cars (Brooklands Ace) |- | SA9/068 || Johnston Sweepers |- | SA9/073 || Tomita Auto UK (Tommykaira ZZ) |- | SA9/074 || Ascari |- | SA9/088 || Spectre Angel |- | SA9/105 || Mosler Europe Ltd. |- | SA9/113 || Noble |- | SA9/130 || MG Sport and Racing |- | SA9/141 || Wrightbus |- | SA9/202 || Morgan 3-Wheeler, Super 3 |- | SA9/207 || Radical Sportscars |- | SA9/211 || BAC (Briggs Automotive Company Ltd.) |- | SA9/225 || Paneltex (truck trailer) |- | SA9/231 || Peel Engineering |- | SA9/337 || Ariel |- | SA9/341 || Zenos |- | SA9/438 || Charge Cars |- | SA9/458 || Gordon Murray Automotive |- | SA9/474 || Mellor (bus) |- | SA9/612 || Tiger Racing (kit car) |- | SA9/621 || AC Cars (Ace) |- | SBB || Leyland Vehicles |- | SBC || Iveco Ford Truck |- | SBF || Nugent (trailer) |- | SBJ || Leyland Bus |- | SBL || Leyland Motors & Leyland DAF |- | SBM || McLaren |- | SBS || Scammell |- | SBU || United Trailers (truck trailer) |- | SBV || Kenworth & Peterbilt trucks made by Leyland Trucks |- | SBW || Weightlifter Bodies (truck trailer) |- | SB1 || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing UK |- | SCA || Rolls Royce passenger car |- | SCB || Bentley passenger car |- | SCC || Lotus Cars & Opel Lotus Omega/Vauxhall Lotus Carlton |- | SCD || Reliant Motors |- | SCE || DeLorean Motor Cars N. Ireland (UK) |- | SCF || Aston Martin Lagonda Ltd. passenger car & '21 DBX SUV |- | SCG || Triumph Engineering Co. Ltd. (original Triumph Motorcycle company) |- | SCK || Ifor Williams Trailers |- | SCM || Manitowoc Cranes - Grove |- | SCR || London Electric Vehicle Company & London Taxi Company & London Taxis International |- | SCV || Volvo Truck & Bus Scotland |- | SC5 || Wrightbus (from ~2020) |- | SC6 || INEOS Automotive SUV |- | SDB || Talbot |- | SDC || SDC Trailers Ltd. (truck trailer) |- | SDF || Dodge Trucks – UK 1981–1984 |- | SDG || Renault Trucks Industries 1985–1992 |- | SDK || Caterham Cars |- | SDL || TVR |- | SDP || NAC MG UK & MG Motor UK Ltd. |- | SDU || Utility (truck trailer) |- | SD7 || Aston Martin SUV |- | SD8 || Moke International Ltd. |- | SED || IBC Vehicles (General Motors Luton Plant) (Opel/Vauxhall, 1st gen. Holden Frontera, Isuzu Midi) |- | SEG || Dennis Eagle Ltd., including Renault Trucks Access and D Access |- | SEP || Don-Bur (truck trailer) |- | SEY || LDV Group Ltd. |- | SFA || [[../Ford/VIN Codes|Ford]] UK |- | SFD || Dennis UK / Alexander Dennis |- | SFE || Alexander Dennis UK |- | SFR || Fruehauf (truck trailer) |- | SFN || Foden Trucks |- | SFZ || Tesla Roadster made by Lotus |- | SGA || Avondale (caravans) |- | SGB || Bailey (caravans) |- | SGD || Swift Group Ltd. (caravans) |- | SGE || Elddis (caravans) |- | SGL || Lunar Caravans Ltd. |- | SG4 || Coachman (caravans) |- | SHH || [[../Honda/VIN Codes|Honda]] UK passenger car |- | SHS || [[../Honda/VIN Codes|Honda]] UK SUV |- | SH7 || INEOS Automotive truck |- | SJA || Bentley SUV |- | SJB || Brian James Trailers Ltd |- | SJK || Nissan Motor Manufacturing UK - Infiniti |- | SJN || Nissan Motor Manufacturing UK - Nissan |- | SJ1 || Ree Automotive |- | SKA || Vauxhall |- | SKB || Kel-Berg Trailers & Trucks |- | SKF || Bedford Vehicles |- | SKL || Anaig (UK) Technology Ltd |- | SLA || Rolls Royce SUV |- | SLC || Thwaites Dumpers |- | SLG || McMurtry Automotive |- | SLN || Niftylift |- | SLP || JC Bamford Excavators Ltd. |- | SLV || Volvo bus |- | SMR || Montracon (truck trailer) |- | SMT || Triumph Motorcycles Ltd. (current Triumph Motorcycle company) |- | SMW || Cartwright (truck trailer) |- | SMX || Gray & Adams (truck trailer) |- | SNE || Barkas (East Germany) |- | SNE || Wartburg (East Germany) |- | SNT || Trabant (East Germany) |- | SNZ || MZ (motorcycle) (Germany) |- | SPE || B-ON GmbH (Germany) |- | ST3 || Calabrese (truck trailer) |- | SUA || Autosan (bus) |- | SUB || Tramp Trail (trailer) |- | SUC || Wiola (trailer) |- | SUD || Wielton (truck trailers) |- | SUF || FSM/Fiat Auto Poland (Polski Fiat) |- | SUG || Mega Trailers (truck trailer) (Poland) |- | SUJ || Jelcz (Poland) |- | SUL || FSC (Poland) |- | SUM || Novatrail (truck trailers) |- | SUP || FSO/Daewoo-FSO (Poland) |- | SUU || Solaris Bus & Coach (Poland) |- | SU9/AR1 || Emtech (truck trailer) |- | SU9/BU1 || BODEX (truck trailer) |- | SU9/DE2 || Demarco (truck trailer) |- | SU9/EB1 || Elbo (truck trailer) |- | SU9/EZ1 || Enerco (truck trailer) |- | SU9/NC5 || Zasta (truck trailer) |- | SU9/NJ1 || Janmil (truck trailer) |- | SU9/PL1 || Plandex (truck trailer) |- | SU9/PN1 || Solaris Bus & Coach (Poland) - until 2004 |- | SU9/RE1 || Redos (truck trailer) |- | SU9/RE2 || Gromex (trailer) |- | SU9/TR1 || Plavec (truck trailer) |- | SU9/YV1 || Pilea bus/ARP E-Vehicles (Poland) |- | SU9/ZC1 || Wolf (truck trailer) |- | SVH || ZASŁAW (truck trailer) |- | SVM || Inter Cars (truck trailer) |- | SVS || BODEX (truck trailer) |- | SV9/BC2 || BC-LDS (truck trailer) |- | SV9/DR1 || Dromech (truck trailer) |- | SV9/RN1 || Prod-Rent (truck trailer) |- | SWH || Temared (trailers) |- | SWR || Weekend Trailers (trailers) |- | SWV || TA-NO (Poland) |- | SWZ || Zremb (trailers) |- | SW9/BA1 || Solbus |- | SW9/WG3 || Grew / Opalenica (trailer) |- | SXE || Neptun Trailers |- | SXK || Konar (truck trailer) |- | SXM || MELEX Sp. z o.o. |- | SXY || Wecon (truck trailer) |- | SXX || Martz (trailer) |- | SX7 || Arthur Bus |- | SX9/GR0 || GRAS (truck trailer) |- | SX9/KT1 || AMZ - Kutno (bus) |- | SX9/PN1 || Polkon (truck trailer) |- | SX9/SP1 || SOMMER Polska (truck trailer) |- | SYB || Rydwan (trailer) |- | SYG || Gniotpol, GT Trailers Sp. z o. o. (truck trailer) |- | SY1 || Neso Bus (PAK-PCE Polski Autobus Wodorowy) |- | SY9/FR1 || Feber (truck trailer) |- | SY9/PF1 || KEMPF (truck trailer) |- | SZA || Scania Poland |- | SZC || Vectrix (motorcycle) |- | SZL || Boro Trailers |- | SZN || Przyczepy Głowacz (trailer) |- | SZR || Niewiadów (trailer) |- | SZ9/AE6 || Gewe (trailer) |- | SZ9/BG1 || GALA Syriusz (trailer) |- | SZ9/PW1 || PRO-WAM (truck trailer) |- | SZ9/TU1 || Ovibos (truck trailer) |- | S19/AM0 || AMO Plant (bus) (Latvia) |- | S19/EF1 || Electrify (minibus) (Latvia) |- | S19/MT0 || Mono-Transserviss (truck trailer) (Latvia) |- | TAW || NAW Nutzfahrzeuggesellschaft Arbon & Wetzikon AG (Switzerland) |- | TBS || Boschung AG (Switzerland) |- | TCC || Micro Compact Car AG (smart 1998-1999) (Switzerland) |- | TDM || QUANTYA Swiss Electric Movement (Switzerland) |- | TEB || Bucher Municipal AG (includes Johnston Sweepers) (Switzerland) |- | TEM || Twike (SwissLEM AG) (Switzerland) |- | TFH || FHS Frech-Hoch AG (truck trailer) (Switzerland) |- | TH9/512 || Hess AG (bus, trolleybus) (Switzerland) |- | TJ5 || Vezeko (trailer) (Czech Republic) |- | TKP || Panav a.s. (truck trailer) (Czech Republic) |- | TKX || Agados s.r.o. (trailer) (Czech Republic) |- | TKY || Metaco (truck trailer) (Czech Republic) |- | TK9/AH3 || Atmos Chrást s.r.o. (Czech Republic) |- | TK9/AP3 || Agados, spol. s.r.o. (trailer) (Czech Republic) |- | TK9/HP1 || Hipocar (truck trailer) (Czech Republic) |- | TK9/PP7 || Paragan Trucks (truck trailer) (Czech Republic) |- | TK9/SL5 || SOR Libchavy buses (Czech Republic) |- | TK9/SS5 || SVAN Chrudim (truck trailer) (Czech Republic) |- | TLJ || Jawa Moto (Czech Republic) |- | TMA || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech |- | TMB || Škoda Auto|Škoda (Czech Republic) |- | TMC || [[../Hyundai/VIN Codes|Hyundai]] Motor Manufacturing Czech (SUV) |- | TMK || Karosa (Czech Republic) |- | TMP || Škoda trolleybuses (Czech Republic) |- | TMT || Tatra passenger car (Czech Republic) |- | TM9/CA2 || Oasa bus (Oprava a stavba automobilů) (Czech Republic) |- | TM9/SE3 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/SE4 || Škoda Transportation trolleybuses (Czech Republic) |- | TM9/TE6 || TEDOM bus (Czech Republic) |- | TNA || Avia/Daewoo Avia |- | TNE || TAZ |- | TNG || LIAZ (Liberecké Automobilové Závody) |- | TNT || Tatra trucks |- | TNU || Tatra trucks |- | TN9/EE7 || Ekova (bus) (Czech Republic) |- | TN9/VP5 || VPS (truck trailer) |- | TRA || Ikarus Bus |- | TRC || Csepel bus |- | TRE || Rákos bus |- | TRK || Credo bus/Kravtex (Hungary) |- | TRR || Rába Bus (Hungary) |- | TRU || Audi Hungary (TT/TTS) |- | TSB || Ikarus Bus |- | TSC || VIN assigned by the National Transport Authority of Hungary |- | TSE || Ikarus Egyedi Autobuszgyar (EAG) (Hungary) |- | TSF || Alfabusz (Hungary) |- | TSM || Suzuki Hungary (Magyar Suzuki),<br> Fiat Sedici made by Suzuki, Subaru Justy G3X made by Suzuki, Suzuki Swace made by Toyota UK (TMUK) |- | TSY || Keeway Motorcycles (Hungary) |- | TS9/111 || NABI Autóbuszipari (bus) (Hungary) |- | TS9/130 || Enterprise Bus (Hungary) |- | TS9/131 || MJT bus (Hungary) |- | TS9/156 || Ikarus / ARC (Auto Rad Controlle Kft.) bus (Hungary) |- | TS9/167 || Hungarian Bus Kft. (Hungary) |- | TS9/170 || Csaba Metál bus (Hungary) |- | TT9/117 || Ikarus Egyedi Autobusz Gyarto Kft. / Magyar Autóbuszgyártó Kft. / MABI (Hungary) |- | TT9/123 || Ikarus Global Zrt. (Hungary) |- | TWG || CaetanoBus (Portugal) |- | TW0 || CaetanoBus (Portugal) |- | TW1 || Toyota Caetano Portugal, S.A. (Toyota Coaster, Dyna, Optimo, Land Cruiser 70 Series) |- | TW2 || [[../Ford/VIN Codes|Ford]] Lusitana (Portugal) |- | TW4 || UMM (Portugal) |- | TW6 || Citroën (Portugal) |- | TW7 || Mini Moke made by British Leyland & Austin Rover Portugal |- | TX5 || Mini Moke made by Cagiva (Moke Automobili) |- | TX9/046 || Riotrailer (truck trailer) (Portugal) |- | TYA || Mitsubishi Fuso Truck and Bus Corp. Portugal (right-hand drive) |- | TYB || Mitsubishi Fuso Truck and Bus Corp. Portugal (left-hand drive) |- | T3C || Lohr Backa Topola (truck trailer) (Serbia) |- | T49/BG7 || FAP (Serbia) |- | T49/BH8 || Megabus (bus) (Serbia) |- | T49/BM2 || Feniksbus (minibus) (Serbia) |- | T49/V16 || MAZ made by BIK (bus) (Serbia) |- | T7A || Ebusco (Netherlands) |- | UA1 || AUSA Center (Spain) |- | UA4 || Irizar e-mobility (Spain) |- | UCY || Silence Urban Ecomobility (Spain) |- | UD3 || Granalu truck trailers (Belgium) |- | UHE || Scanvogn (trailer) (Denmark) |- | UHL || Camp-let (recreational vehicle) (Denmark) |- | UH2 || Brenderup (trailer) (Denmark) |- | UH2 || De Forenede Trailerfabrikke (trailer) (Denmark) |- | UH9/DA3 || DAB - Danish Automobile Building (acquired by Scania) (Denmark) |- | UH9/FK1 || Dapa Trailer (truck trailer) (Denmark) |- | UH9/HF1 || HFR Trailer A/S (truck trailer) (Denmark) |- | UH9/HM1 || HMK Bilcon A/S (truck trailer) (Denmark) |- | UH9/NS1 || Nopa (truck trailer) (Denmark) |- | UH9/NT1 || Nordic Trailer (truck trailer) (Denmark) |- | UH9/VM2 || VM Tarm a/s (truck trailer) (Denmark) |- | UJG || Garia ApS - Club Car (Denmark) |- | UKR || Hero Camper (Denmark) |- | UMT || MTDK a/s (truck trailer) (Denmark) |- | UN1 || [[../Ford/VIN Codes|Ford]] Ireland |- | UN9/089 || Brian Noone Ltd. bus (Ireland) |- | UU1 || Dacia (Romania) |- | UU2 || Oltcit |- | UU3 || ARO |- | UU4 || Roman/Grivbuz |- | UU5 || Rocar |- | UU6 || Daewoo Romania |- | UU7 || Euro Bus Diamond |- | UU9 || Astra Bus |- | UVW || UMM (truck trailer) |- | UV9/AT1 || ATP Trucks, ATP Bus |- | UWR || Robus Reșița |- | UZT || UTB (Uzina de Tractoare Brașov) |- | U1A || Sanos (North Macedonia) |- | U1V || VDL Van Hool Macedonia (North Macedonia) |- | U5Y || Kia Motors Slovakia |- | U59/AS0 || ASKO (truck trailer) |- | U6A || Granus (bus) (Slovakia) |- | U6Y || Kia Motors Slovakia |- | U69/NL1 || Novoplan (bus) (Slovakia) |- | U69/SB1 || SlovBus (bus) |- | U69/TR8 || Troliga Bus (Slovakia) |- | VAG || Steyr-Daimler-Puch Puch G & Steyr-Puch Pinzgauer |- | VAH || Hangler (truck trailer) |- | VAK || Kässbohrer Transport Technik |- | VAN || MAN Austria/Steyr-Daimler-Puch Steyr Trucks |- | VAV || Schwarzmüller |- | VAX || Schwingenschlogel (truck trailer) |- | VA0 || ÖAF, Gräf & Stift |- | VA4 || KSR Group (motorcycle) |- | VA9/GS0 || Gsodam Fahrzeugbau (truck trailer) |- | VA9/ZT0 || Berger Fahrzeugtechnik (truck trailer) |- | VBF || Fit-Zel (trailer) |- | VBK || KTM |- | VBK || Husqvarna Motorcycles & Gas Gas under KTM ownership |- | VCF || Fisker Inc. (Fisker Ocean) made by Magna Steyr |- | VFA || Alpine, Renault Alpine GTA |- | VFG || Caravelair (caravans) |- | VFK || Fruehauf (truck trailers) |- | VFN || Trailor, General Trailers (truck trailers) |- | VF1 || Renault, Mobilize Duo, Eagle Medallion made by Renault, Opel/Vauxhall Arena made by Renault,<br> Mitsubishi ASX, Colt, & Grandis made by Renault |- | VF2 || Renault Trucks |- | VF3 || Peugeot |- | VF4 || Talbot |- | VF5 || Iveco Unic |- | VF6 || Renault Trucks including vans made by Renault S.A. |- | VF7 || Citroën |- | VF8 || Matra Automobiles (Talbot-Matra Murena, Rancho made by Matra, Renault Espace I/II/III, Avantime made by Matra) |- | VF9/024 || Legras Industries (truck trailer) |- | VF9/049 || G. Magyar (truck trailer) |- | VF9/063 || Maisonneuve (truck trailer) |- | VF9/132 || Jean CHEREAU S.A.S. (truck trailer) |- | VF9/300 || EvoBus France |- | VF9/435 || Merceron (truck trailer) |- | VF9/519 || Hommell |- | VF9/607 || Mathieu (sweeper) |- | VF9/673 || Venturi Automobiles |- | VF9/795 || [[../Bugatti/VIN Codes|Bugatti Automobiles S.A.S.]] |- | VF9/848 || G. Magyar (truck trailer) |- | VF9/880 || Bolloré Bluebus |- | VF9/938 || SAFRA (bus) |- | VGA || Peugeot Motocycles |- | VGT || ASCA (truck trailers) |- | VGU || Trouillet (truck trailers) |- | VGW || BSLT (truck trailers) |- | VGX || Coder (truck trailers) |- | VGY || Lohr (truck trailers) |- | VG5 || MBK (motorcycles) & Yamaha Motor |- | VG6 || Renault Trucks & Mack Trucks medium duty trucks made by Renault Trucks |- | VG7 || Renault Trucks |- | VG8 || Renault Trucks |- | VG9/019 || Naya (autonomous vehicle) |- | VG9/061 || Alstom-NTL Aptis (bus) |- | VHR || Robuste (truck trailer) |- | VHX || Manitowoc Cranes - Potain |- | VH1 || Benalu SAS (truck trailer) |- | VH8 || Microcar |- | VJR || Ligier |- | VJY || Gruau |- | VJ1 || Heuliez Bus |- | VJ2 || Mia Electric |- | VJ4 || Gruau |- | VKD || Cheval Liberté (horse trailer) |- | VK1 || SEG (truck trailer) |- | VK2 || Grandin Automobiles |- | VK8 || Venturi Automobiles |- | VLG || Aixam-Mega |- | VLU || Scania France |- | VL4 || Bluecar, Citroen E-Mehari |- | VMK || Renault Sport Spider |- | VMS || Automobiles Chatenet |- | VMT || SECMA |- | VMW || Gépébus Oréos 55 |- | VM3 || Lamberet (trailer) |- | VM3 || Chereau (truck trailer) |- | VN1 || Renault SOVAB (France), Opel/Vauxhall Movano A made at SOVAB |- | VN4 || Voxan |- | VNB || Sherco Motorcycles SARL |- | VNE || Iveco Bus/Irisbus (France) |- | VNK || [[../Toyota/VIN Codes|Toyota]] Motor Manufacturing France & '11-'13 Daihatsu Charade (XP90) made by TMMF |- | VNV || Nissan made in France by Renault |- | VRW || Goupil |- | VR1 || DS Automobiles |- | VR3 || Peugeot (under Stellantis) |- | VR7 || Citroën (under Stellantis) |- | VPL || Nosmoke S.A.S |- | VP3 || G. Magyar (truck trailers) |- | VXE || Opel Automobile Gmbh/Vauxhall van |- | VXF || Fiat van (Fiat Scudo, Ulysse '22-) |- | VXK || Opel Automobile Gmbh/Vauxhall car/SUV |- | VYC || Lancia Ypsilon (4th gen.) |- | VYE || Jeep Compass (3rd gen. - EU market '26-) |- | VYF || Fiat Doblo '23- & Fiat Topolino '23- & Fiat Grande Panda '25- |- | VYJ || Ram 1200 '25- (sold in Mexico) |- | VYS || Renault & Alpine made by Ampere (Renault 5 E-Tech, Renault 4 E-Tech, Alpine A290) |- | VZ2 || Avtomontaža (bus) (Slovenia) |- | UA2 || Iveco Massif & Campagnola made by Santana Motors in Spain |- | VSA || Mercedes-Benz Spain |- | VSC || Talbot |- | VSE || Santana Motors (Land Rover Series-based models) & Suzuki SJ/Samurai, Jimny, & Vitara made by Santana Motors in Spain |- | VSF || Santana Motors (Anibal/PS-10, 300/350) |- | VSK || Nissan Motor Iberica SA, Nissan passenger car/MPV/van/SUV/pickup & Ford Maverick 1993–1999 |- | VSR || Leciñena (truck trailers) |- | VSS || SEAT/Cupra |- | VSX || Opel Spain |- | VSY || Renault V.I. Spain (bus) |- | VS1 || Pegaso |- | VS5 || Renault Spain |- | VS6 || [[../Ford/VIN Codes|Ford]] Spain |- | VS7 || Citroën Spain |- | VS8 || Peugeot Spain |- | VS9/001 || Setra Seida (Spain) |- | VS9/011 || Advanced Design Tramontana |- | VS9/013 || Mirofret (truck trailer) (Spain) |- | VS9/016 || Irizar bus (Spain) |- | VS9/019 || Cobos Hermanos (truck trailer) (Spain) |- | VS9/031 || Carrocerias Ayats (Spain) |- | VS9/032 || Parcisa (truck trailer) (Spain) |- | VS9/044 || Beulas bus (Spain) (Spain) |- | VS9/047 || Indox (truck trailers) (Spain) |- | VS9/052 || Montull (truck trailer) (Spain) |- | VS9/057 || SOR Ibérica (truck trailers) (Spain) |- | VS9/072 || Mecanicas Silva (truck trailer) (Spain) |- | VS9/098 || Sunsundegui bus (Spain) |- | VS9/172 || EvoBus Iberica |- | VS9/917 || Nogebus (Spain) |- | VTD || Montesa Honda (Honda Montesa motorcycle models) |- | VTH || Derbi (motorcycles) |- | VTL || Yamaha Spain (motorcycles) |- | VTM || Montesa Honda (Honda motorcycle models) |- | VTP || Rieju S.A. (motorcycles) |- | VTR || Gas Gas |- | VTT || Suzuki Spain (motorcycles) |- | VVC || SOR Ibérica (truck trailers) |- | VVG || Tisvol (truck trailers) |- | VV1 || Lecitrailer Group (truck trailers) |- | VV5 || Prim-Ball (truck trailers) |- | VV9/ || [[wikipedia:Tauro Sport Auto|TAURO]] Sport Auto Spain |- | VV9/010 || Castrosúa bus (Spain) |- | VV9/125 || Indetruck (truck trailers) |- | VV9/130 || Vectia Mobility bus (Spain) |- | VV9/130 || UNVI bus (Spain) |- | VV9/359|| Hispano-Suiza |- | VWA || Nissan Vehiculos Industriales SA, Nissan Commercial Vehicles |- | VWF || Guillén Group (truck trailers) |- | VWL || Indox (truck trailers) |- | VWV || Volkswagen Spain |- | VXY || Neobus a.d. (Serbia) |- | VX1 || [[w:Zastava Automobiles|Zastava Automobiles]] / [[w:Yugo|Yugo]] (Yugoslavia/Serbia) |- | V1Y || FAS Sanos bus (Yugoslavia/North Macedonia) |- | V2X || Ikarbus a.d. (Serbia) |- | V31 || Tvornica Autobusa Zagreb (TAZ) (Croatia) |- | V34 || Crobus bus (Croatia) |- | V39/AB8 || Rimac Automobili (Croatia) |- | V39/CB3 || Eurobus (Croatia) |- | V39/WB4 || Rasco (machinery) (Croatia) |- | V6A || Bestnet AS; Tiki trailers (Estonia) |- | V6B || Brentex-Trailer (Estonia) |- | V6T || Verge Motorcycles (Estonia) |- | V61 || Respo Trailers (Estonia) |- | WAC || Audi/Porsche RS2 Avant |- | WAF || Ackermann (truck trailer) |- | WAG || Neoplan |- | WAP || Alpina |- | WAU || Audi car |- | WA1 || Audi SUV |- | WBA || BMW car |- | WBC || Boom Trikes |- | WBJ || Bitter Cars |- | WBK || Böcker Maschinenwerke GmbH |- | WBL || Blumhardt (truck trailers) |- | WBS || BMW M car |- | WBU || Bürstner (caravans) |- | WBX || BMW SUV |- | WBY || BMW i car |- | WB0 || Böckmann Fahrzeugwerke GmbH (trailers) |- | WB1 || BMW Motorrad |- | WB2 || Blyss (trailer) |- | WB3 || BMW Motorrad Motorcycles made in India by TVS |- | WB4 || BMW Motorrad Motorscooters made in China by Loncin |- | WB5 || BMW i SUV |- | WCD || Freightliner Sprinter "bus" (van with more than 3 rows of seats) 2008–2019 |- | WCM || Wilcox (truck trailer) |- | WDA || Mercedes-Benz incomplete vehicle (North America) |- | WDB || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] & Maybach |- | WDC || Mercedes-Benz SUV |- | WDD || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] car |- | WDF || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] van/pickup (French & Spanish built models – Citan & Vito & X-Class) |- | WDP || Freightliner Sprinter incomplete vehicle 2005–2019 |- | WDR || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) 2005–2019 |- | WDT || Dethleffs (caravans) |- | WDW || Dodge Sprinter "bus" (van with more than 3 rows of seats) 2008–2009 |- | WDX || Dodge Sprinter incomplete vehicle 2005–2009 |- | WDY || Freightliner Sprinter truck (cargo van with 1 row of seats) 2005–2019 |- | WDZ || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | WD0 || Dodge Sprinter truck (cargo van with 1 row of seats) 2005–2009 |- | WD1 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 incomplete vehicle |- | WD2 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 truck (cargo van with 1 row of seats) |- | WD3 || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | WD4 || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | WD5 || Freightliner Sprinter 2002 & Sprinter (Dodge or Freightliner) 2003–2005 MPV (van with 2 or 3 rows of seats) |- | WD6 || Freightliner Unimog truck |- | WD7 || Freightliner Unimog incomplete vehicle |- | WD8 || Dodge Sprinter MPV (van with 2 or 3 rows of seats) 2005–2009 |- | WEB || Evobus GmbH (Mercedes-Benz buses) |- | WEG || Ablinger (trailer) |- | WEL || e.GO Mobile AG |- | WFB || Feldbinder Spezialfahrzeugwerke GmbH |- | WFC || Fendt (caravans) |- | WFD || Fliegl Trailer |- | WFN || Tadano Faun GmbH |- | WF0 || [[../Ford/VIN Codes|Ford]] Germany |- | WF1 || Merkur |- | WGB || Göppel Bus GmbH |- | WG0 || Goldhofer AG (truck trailer) |- | WHB || Hobby (recreational vehicles) |- | WHD || Humbaur GmbH (truck trailer) |- | WHL || Hulco (trailer) |- | WHW || Hako GmbH |- | WHY || Hymer (recreational vehicles) |- | WH7 || Hüfferman (truck trailer) |- | WJM || Iveco/Iveco Magirus |- | WJR || Irmscher |- | WKE || Krone (truck trailers) |- | WKK || Setra (Evobus GmbH; formerly Kässbohrer) |- | WKN || Knaus, Weinsberg (caravans) |- | WKV || Kässbohrer Fahrzeugwerke Gmbh (truck trailers) |- | WK0 || Kögel (truck trailers) |- | WLA || Langendorf semi-trailers |- | WLF || Liebherr (mobile crane) |- | WMA || MAN Truck & Bus |- | WME || smart (from 5/99) |- | WMG || Demag Cranes |- | WMM || Karl Müller GmbH & Co. KG (truck trailers) |- | WMP || M & V GmbH (truck trailers) |- | WMU || Hako GmbH (Multicar) |- | WMW || MINI car |- | WMX || Mercedes-AMG used for Mercedes-Benz SLS AMG & Mercedes-AMG GT & Mercedes-AMG One (not used in North America) |- | WMZ || MINI SUV |- | WNA || Next.e.GO Mobile SE |- | WP0 || Porsche car |- | WP1 || Porsche SUV |- | WRA || Renders (truck trailers) |- | WRJ || Riese & Müller (bicycle) |- | WSE || STEMA Metalleichtbau GmbH (trailers) |- | WSJ || STERK Trailers (truck trailers) |- | WSK || Schmitz-Cargobull Gotha (truck trailers) |- | WSM || Schmitz-Cargobull (truck trailers) |- | WSP || Spitzer (truck trailers) |- | WSV || Aebi Schmidt Group |- | WS5 || StreetScooter |- | WS7 || Sono Motors |- | WTA || Tabbert (caravans) |- | WUA || Audi Sport GmbH (formerly quattro GmbH) car |- | WU1 || Audi Sport GmbH (formerly quattro GmbH) SUV |- | WVG || Volkswagen SUV & Touran |- | WVM || Arbeitsgemeinschaft VW-MAN |- | WVP || Viseon Bus |- | WVW || Volkswagen passenger car, Sharan, Golf Plus, Golf Sportsvan |- | WV1 || Volkswagen Commercial Vehicles (cargo van or 1st gen. Amarok) |- | WV2 || Volkswagen Commercial Vehicles (passenger van or minibus) |- | WV3 || Volkswagen Commercial Vehicles (chassis cab) |- | WV4 || Volkswagen Commercial Vehicles (2nd gen. Amarok & T7 Transporter made by Ford) |- | WV5 || Volkswagen Commercial Vehicles (T7 Caravelle made by Ford) |- | WWA || Wachenhut (truck trailer) |- | WWC || WM Meyer (truck trailer) |- | WZ1 || Toyota Supra (Fifth generation for North America) |- | W0D || Obermaier (truck trailer) |- | W0L || Adam Opel AG/Vauxhall & Holden |- | W0L || Holden Zafira & Subaru Traviq made by GM Thailand |- | W0V || Opel Automobile Gmbh/Vauxhall & Holden (since 2017) |- | W04 || Buick Regal & Buick Cascada |- | W06 || Cadillac Catera |- | W08 || Saturn Astra |- | W09/A55 || Artega Automobile |- | W09/A71 || Apollo |- | W09/B09 || Bitter Cars |- | W09/B16 || Brabus |- | W09/B48 || Bultmann (trailer) |- | W09/B91 || Boerner (truck trailer) |- | W09/C09 || Carnehl Fahrzeugbau (truck trailer) |- | W09/D04 || DOLL (truck trailer) |- | W09/D05 || Drögmöller (bus) |- | W09/D17 || Dinkel (truck trailer) |- | W09/E04 || Eder (trailer) |- | W09/E27 || Esterer (truck trailer) |- | W09/E32 || ES-GE (truck trailer) |- | W09/E45 || Eurotank (truck trailer) |- | W09/F46 || FSN Fahrzeugbau (truck trailer) |- | W09/F57 || Twike |- | W09/G10 || GOFA (truck trailer) |- | W09/G64 || Gumpert |- | W09/H10 || Heitling Fahrzeugbau |- | W09/H21|| Dietrich Hisle GmbH (truck trailer) |- | W09/H46 || Hendricks (truck trailer) |- | W09/H49 || H&W Nutzfahrzeugtechnik GmbH (truck trailer) |- | W09/J02 || Isdera |- | W09/K27 || Krupp |- | W09/K27 || Kotschenreuther (truck trailer) |- | W09/L05 || Liebherr |- | W09/L06 || LMC Caravan (recreational vehicles) |- | W09/M08 || MEILLER Kipper (truck trailer) |- | W09/M09 || Meierling (truck trailer) |- | W09/M29 || MAFA (truck trailer) |- | W09/M40 || Franz Mersch (trailer) |- | W09/M79 || MKF Matallbau (truck trailer) |- | W09/N22 || NFP-Eurotrailer (truck trailer) |- | W09/P13 || Pagenkopf (truck trailer) |- | W09/P72 || De Tomaso Automobili (Capricorn) |- | W09/R06 || RUF |- | W09/R14 || Rancke (truck trailer) |- | W09/R27 || Gebr. Recker Fahrzeugbau (truck trailer) |- | W09/R30 || Reisch (truck trailer) |- | W09/R38 || Rewaco |- | W09/SG0 || Sileo (bus) |- | W09/SG1 || SEKA (truck trailer) |- | W09/S24 || Sommer (truck trailer) |- | W09/S25 || Spermann (truck trailer) |- | W09/S27 || Schröder (truck trailer) |- | W09/W11 || Wilken (truck trailer) |- | W09/W14 || Weka (truck trailer) |- | W09/W16 || Wellmeyer (truck trailer) |- | W09/W20 || Kurt Willig GmbH & Co. KG (truck trailer) |- | W09/W29 || Wiese (truck trailer) |- | W09/W35 || Wecon GmbH (truck trailer) |- | W09/W46 || WT-Metall (trailer) |- | W09/W59 || Wiesmann |- | W09/W70 || Wüllhorst (truck trailer) |- | W09/W86 || Web Trailer GmbH (truck trailer) |- | W09/004 || ORTEN Fahrzeugbau (truck trailer) |- | W1A || smart |- | W1H || Freightliner Econic |- | W1K || Mercedes-Benz car |- | W1N || Mercedes-Benz SUV |- | W1T || Mercedes-Benz truck |- | W1V || Mercedes-Benz van |- | W1W || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | W1X || Mercedes-Benz incomplete vehicle (North America) |- | W1Y || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | W1Z || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | W2W || Freightliner Sprinter MPV (van with 2 or 3 rows of seats) |- | W2X || Freightliner Sprinter incomplete vehicle |- | W2Y || Freightliner Sprinter truck (cargo van with 1 row of seats) |- | W2Z || Freightliner Sprinter "bus" (van with more than 3 rows of seats) |- | XDN || Mercedes Sprinter Classic made by GAZ (Russia) |- | XD2 || CTTM Cargoline (truck trailer) (Russia) |- | XEA || AmberAvto (Avtotor) (Russia) |- | XE2 || AMKAR Automaster (truck trailer) (Russia) |- | XF9/B24 || NK Trailers (truck trailer) (Greece) |- | XF9/D44 || Militsis (trailer) (Greece) |- | XF9/J03 || Christos Nezis (truck trailer) (Greece) |- | XF9/J63 || Kaoussis (truck trailer) (Greece) |- | XG3 || Petros Petropoulos Group - Ecoshift NOOS electric motorscooters (Greece) |- | XG4|| Mpitis (trailer) (Greece) |- | XG5 || Stavropoulos trailers (Greece) |- | XG6 || MGK Hellenic Motor motorcycles (Greece) |- | XG8 || Gorgolis SA motorcycles (Greece) |- | XG9/B01 || Sfakianakis bus Greece |- | XG9/H33 || Rappas Trailer (Greece) |- | XG9/H51 || Eurotrailer Tourlakopoulos (trailer) (Greece) |- | XG9/H92 || Diamantis N. & Co. (trailer) (Greece) |- | XΗ9/B21 || Hellenic Vehicle Industry - ELVO bus Greece |- | XH9/H08 || Poseidonas Litsakis (trailer) (Greece) |- | XH9/H34 || Flexi-Wheels (trailer) (Greece) |- | XJY || Bonum (truck trailer) (Russia) |- | XJ4 || PKTS (PK Transportnye Sistemy) bus (Russia) |- | XKM || Volgabus (Russia) |- | XLA || DAF Bus International |- | XLB || Volvo Car B.V./NedCar B.V. (Volvo Cars) |- | XLC || [[../Ford/VIN Codes|Ford]] Netherlands |- | XLD || Pacton Trailers B.V. |- | XLE || Scania Netherlands |- | XLH || Hapert (trailer) |- | XLJ || Anssems (trailer) |- | XLK || Burg Trailer Service BV (truck trailer) |- | XLR || DAF Trucks & Leyland DAF |- | XLU || Henra (trailer) |- | XLV || DAF Bus |- | XLW || Terberg Benschop BV |- | XL3 || Ebusco |- | XL4 ||Lightyear |- | XL9/001 || ESVE BV (truck trailers) |- | XL9/002 || Jumbo Groenewegen (truck trailers) |- | XL9/003 || Autobusfabriek Bova BV |- | XL9/004 || G.S. Meppel (truck trailers) |- | XL9/007|| Broshuis BV (truck trailer) |- | XL9/010|| Ginaf Trucks |- | XL9/014 || Contar (truck trailer) |- | XL9/017 || Van Eck (truck trailer) |- | XL9/021 || Donkervoort Cars |- | XL9/033 || Wijer (trailer) |- | XL9/039 || Talson (truck trailer) |- | XL9/042 || Den Oudsten Bussen |- | XL9/052 || Witteveen (trailer) |- | XL9/055 || Fripaan (truck trailer) |- | XL9/067 || HTF (truck trailer) |- | XL9/068 || Vogelzang (truck trailer) |- | XL9/069 || Kraker (truck trailer) |- | XL9/070 || Veldhuizen (truck trailers) |- | XL9/073 || Zwalve (truck trailers) |- | XL9/074 || Draco (truck trailers) |- | XL9/081 || EBO van Weel (truck trailers) |- | XL9/084 || Vocol (truck trailers) |- | XL9/089 || Meijvo (trailers) |- | XL9/092 || Bulthuis (truck trailers) |- | XL9/103 || D-TEC (truck trailers) |- | XL9/109|| Groenewold Carrosseriefabriek B.V. (car transporter) |- | XL9/150 || Univan (truck trailer) |- | XL9/251 || Spierings Mobile Cranes |- | XL9/320 || VDL Bova bus |- | XL9/348 || HOKA (trailer) |- | XL9/355 || Berdex (truck trailer) |- | XL9/363 || Spyker |- | XL9/423 || Tijhof (trailer) |- | XL9/461 || BK Market Trailers (trailer) |- | XL9/495 || BE-Combi (truck trailer) |- | XL9/508 || Talson (truck trailer) |- | XL9/527 || GINAF |- | XL9/530 || Ebusco |- | XL9/611 || Zocon (trailer) |- | XMC || NedCar B.V. Mitsubishi Motors (LHD) |- | XMD || NedCar B.V. Mitsubishi Motors (RHD) |- | XMG || VDL Bus International |- | XMR || Nooteboom Trailers |- | XM4 || RAVO Holding B.V. (sweeper) |- | XNB || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - RHD) |- | XNC || NedCar B.V. Mitsubishi Motors made by Pininfarina (Colt CZC convertible - LHD) |- | XNJ || Broshuis (truck trailer) |- | XNL || VDL Bus & Coach |- | XNT || Pacton Trailers B.V. (truck trailer) |- | XN1 || Kraker Trailers Axel B.V. (truck trailer) |- | XPN || Knapen Trailers |- | XPP || Atec Trailers |- | XP7 || Tesla Europe (based in the Netherlands) (Gigafactory Berlin-Brandenburg) |- | XRP || Proline (trailer) |- | XRY || D-TEC (truck trailer) |- | XR7 || Qarry |- | XTA || Lada / AvtoVAZ (Russia) |- | XTB || Moskvitch / AZLK (Russia) |- | XTC || KAMAZ (Russia) |- | XTD || LuAZ (Ukraine) |- | XTE || ZAZ (Ukraine) |- | XTF || GolAZ (Russia) |- | XTH || GAZ (Russia) |- | XTJ || Lada Oka made by SeAZ (Russia) |- | XTK || IzhAvto (Russia) |- | XTM || MAZ (Belarus); used until 1997 |- | XTP || Ural (Russia) |- | XTS || ChMZAP (truck trailer) |- | XTT || UAZ / Sollers (Russia) |- | XTU || Trolza, previously ZiU (Russia) |- | XTW || LAZ (Ukraine) |- | XTY || LiAZ (Russia) |- | XTZ || ZiL (Russia) |- | XUF || General Motors Russia |- | XUS || Nizhegorodets (minibus) (Russia) |- | XUU || Avtotor (Russia, Chevrolet SKD, Kaiyi Auto) |- | XUV || Avtotor (DFSK, SWM) |- | XUZ || InterPipeVAN (truck trailer) |- | XU6 || Avtodom (minibus) (Russia) |- | XVG || MARZ (bus) (Russia) |- | XVU || Start (truck trailer) |- | XW7 || Toyota Motor Manufacturing Russia |- | XW8 || Volkswagen Group Russia |- | XWB || UZ-Daewoo/GM Uzbekistan/Ravon/UzAuto Motors (Uzbekistan) |- | XWB || Avtotor (Russia, BAIC SKD) |- | XWE || Avtotor (Russia, Hyundai-Kia SKD) |- | XWF || Avtotor (Russia, Chevrolet Tahoe/Opel/Cadillac/Hummer SKD) |- | XX3 || Ujet Manufacturing (Luxembourg) |- | XZB || SIMAZ (bus) (Russia) |- | XZE || Specpricep (truck trailer) |- | XZG || Great Wall Motor (Haval Motor Rus) |- | XZP || Gut Trailer (truck trailer) |- | XZT || FoxBus (minibus) (Russia) |- | X1D || RAF (Rīgas Autobusu Fabrika) |- | X1E || KAvZ (Russia) |- | X1F || NefAZ (Russia) |- | X1M || PAZ (Russia) |- | X1P || Ural (Russia) |- | X2L || Fox Trailer (truck trailer) (Russia) |- | X21 || Diesel-S (truck trailer) (Russia) |- | X4K || Volgabus (Volzhanin) (Russia) |- | X4T || Sommer (truck trailer) (Russia) |- | X4X || Avtotor (Russia, BMW SKD) |- | X5A || UralSpetzTrans (trailer) (Russia) |- | X6D || VIS-AVTO (Russia) |- | X6S || TZA (truck trailer) (Russia) |- | X7L || Renault AvtoFramos (1998-2014), Renault Russia (2014-2022), Moskvitch (2022-) (Russia) |- | X7M || [[../Hyundai/VIN Codes|Hyundai]] & Vortex (rebadged Chery) made by TagAZ (Russia) |- | X89/AD4 || ВМЗ (VMZ) bus |- | X89/BF8 || Rosvan bus |- | X89/CU2 || EvoBus Russland (bus) |- | X89/DJ2 || VMK (bus) |- | X89/EY4 || Brabill (minibus) |- | X89/FF6 || Lotos (bus) |- | X89/FY1 || Sherp |- | X8J || IMZ-Ural Ural Motorcycles |- | X8U || Scania Russia |- | X9F || Ford Motor Company ZAO |- | X9L || GM-AvtoVAZ |- | X9N || Samoltor (minibus) |- | X9P || Volvo Vostok ZAO Volvo Trucks |- | X9W || Brilliance, Lifan made by Derways |- | X9X || Great Wall Motors |- | X96 || GAZ |- | X99/000 || Marussia |- | X90 || GRAZ (truck trailer) |- | X0T || Tonar (truck trailer) |- | YAF || Faymonville (special transport trailers) |- | YAG || Syma aanhangwagenbouw BV (trailers) |- | YAM || MAX Trailer (truck trailers) |- | YAR || Toyota Motor Europe (based in Belgium) used for Toyota ProAce, Toyota ProAce City and Toyota ProAce Max made by PSA/Stellantis |- | YA2 || Atlas Copco Group |- | YA5 || Renders (truck trailers) |- | YA9/ || Lambrecht Constructie NV (truck trailers) |- | YA9/111 || OVA (truck trailer) |- | YA9/121 || Atcomex (truck trailer) |- | YA9/128 || EOS (bus) |- | YA9/139 || ATM Maaseik (truck trailer) |- | YA9/168 || Forthomme s.a. (truck trailer) |- | YA9/169 || Automobiles Gillet |- | YA9/180 || EOS (bus) |- | YA9/191 || Stokota (truck trailers) |- | YA9/195 || Denolf & Depla (minibus) |- | YBC || Toyota Supra (Fifth generation for Europe) |- | YBD || Addax Motors |- | YBW || Volkswagen Belgium |- | YB1 || Volvo Trucks Belgium (truck) |- | YB2 || Volvo Trucks Belgium (bus chassis) |- | YB3 || Volvo Trucks Belgium (incomplete vehicle) |- | YB4 || LAG Trailers N.V. (truck trailer) |- | YB6 || Jonckheere (VDL Belgium) |- | YCM || Mazda Motor Logistics Europe (based in Belgium) used for European-market Mazda 121 made by Ford in UK |- | YC1 || Honda Belgium NV (motorcycle) |- | YC3 || Eduard Trailers |- | YD3 || Chateau Caravans (Belgium) |- | YE1 || Van Hool (trailers) (Belgium) |- | YE2 || Van Hool (buses) (Belgium) |- | YE6 || STAS (truck trailer) |- | YE7 || Turbo's Hoet (truck trailer) |- | YF1 || Närko (truck trailer) (Finland) |- | YF3 || NTM (truck trailer) (Finland) |- | YF9/050 || JYKI (truck trailer) (Finland) |- | YGU || JJ-Trailer (trailer) (Finland) |- | YH1 || Solifer (caravans) |- | YH2 || BRP Finland (Lynx snowmobiles) |- | YH4 || Fisker Automotive (Fisker Karma) built by Valmet Automotive |- | YK1 || Saab-Valmet Finland |- | YK2, YK7 || Sisu Auto |- | YK9/003 || Kabus (bus) |- | YK9/008 || Lahden Autokori (-2013), SOE Busproduction Finland (2014-2024) (bus) |- | YK9/016 || Linkker (bus) |- | YSC || Cadillac BLS (made by Saab) |- | YSM || Polestar cars |- | YSP || Volta Trucks AB |- | YSR || Polestar SUV |- | YS2 || Scania commercial vehicles (Södertälje factory) |- | YS3 || Saab cars |- | YS4 || Scania buses and bus chassis until 2002 (Katrineholm factory) |- | YS5 || OmniNova (minibus) |- | YS7 || Solifer (recreational vehicles) |- | YS9/KV1 || Backaryd (minibus) |- | YTN || Saab made by NEVS |- | YT7 || Kabe (recreational vehicles) |- | YT9/007 || Koenigsegg |- | YT9/034 || Carvia |- | YU1 || Fogelsta, Brenderup Group (trailer) |- | YU7 || Husaberg (motorcycles) |- | YVV || WiMa 442 EV |- | YV1 || [[../Volvo/VIN Codes|Volvo]] cars |- | YV2 || [[../Volvo/VIN Codes|Volvo]] trucks |- | YV3 || [[../Volvo/VIN Codes|Volvo]] buses and bus chassis |- | YV4 || [[../Volvo/VIN Codes|Volvo]] SUV |- | YV5 || [[../Volvo/VIN Codes|Volvo Trucks]] incomplete vehicle |- | YYB || Tysse (trailer) (Norway) |- | YYC || Think Nordic (Norway) |- | YY9/017 || Skala Fabrikk (truck trailer) (Norway) |- | Y29/005 || Buddy Electric (Norway) |- | Y3D || MTM (truck trailer) (Belarus) |- | Y3F || Lida Buses Neman (Belarus) |- | Y3J || Belkommunmash (Belarus) |- | Y3K || Neman Bus (Belarus) |- | Y3M || MAZ (Belarus) |- | Y3W || VFV built by Unison (Belarus) |- | Y39/047 || Altant-M (minibus) (Belarus) |- | Y39/051 || Bus-Master (minibus) (Belarus) |- | Y39/052 || Aktriya (minibus) (Belarus) |- | Y39/072 || Klassikbus (minibus) (Belarus) |- | Y39/074 || Alterra (minibus) (Belarus) |- | Y39/135 || EuroDjet (minibus) (Belarus) |- | Y39/240 || Alizana (minibus) (Belarus) |- | Y39/241 || RSBUS (minibus) (Belarus) |- | Y39/323 || KF-AVTO (minibus) (Belarus) |- | Y4F || [[../Ford/VIN Codes|Ford]] Belarus |- | Y4K || Geely / BelGee (Belarus) |- | Y6B || Iveco (Ukraine) |- | Y6D || ZAZ / AvtoZAZ (Ukraine) |- | Y6E || LAZ (Ukraine) |- | Y6J || Bogdan group (Ukraine) |- | Y6L || Bogdan group including buses, Hyundai made by Bogdan (Ukraine) |- | Y6U || Škoda Auto made by Eurocar (Ukraine) |- | Y6W || PGFM (trailer) (Ukraine) |- | Y6Y || LEV (trailer) (Ukraine) |- | Y69/B19 || Stryi Avto (bus) (Ukraine) |- | Y69/B98 || VESTT (truck trailer) (Ukraine) |- | Y69/C49 || TAD (truck trailer) (Ukraine) |- | Y69/D75 || Barrel Dash (truck trailer) (Ukraine) |- | Y7A || KrAZ trucks (Ukraine) |- | Y7B || Bogdan group (Ukraine) |- | Y7C || Great Wall Motors, Geely made by KrASZ (Ukraine) |- | Y7D || GAZ made by KrymAvtoGAZ (Ukraine) |- | Y7F || Boryspil Bus Factory (BAZ) (Ukraine) |- | Y7S || Korida-Tech (trailer) (Ukraine) |- | Y7W || Geely made by KrASZ (Ukraine) |- | Y7X || ChRZ - Ruta (minibus) (Ukraine) |- | Y79/A23 || OdAZ (truck trailer) (Ukraine) |- | Y79/B21 || Everlast (truck trailer) (Ukraine) |- | Y79/B65 || Avtoban (trailer) (Ukraine) |- | Y8A || LAZ (Ukraine) |- | Y8H || UNV Leader (trailer) (Ukraine) |- | Y8S || Alekseevka Ximmash (truck trailer) |- | Y8X || GAZ Gazelle made by KrASZ (Ukraine) |- | Y89/A98 || VARZ (trailer) (Ukraine) |- | Y89/B75 || Knott (trailer) (Ukraine) |- | Y89/C65 || Electron (Ukraine) |- | Y9A || PAVAM (trailer) (Ukraine) |- | Y9H || LAZ (Ukraine) |- | Y9M || AMS (trailer) (Ukraine) |- | Y9T || Dnipro (trailer) (Ukraine) |- | Y9W || Pragmatec (trailer) (Ukraine) |- | Y9Z || Lada, Renault made in Ukraine |- | Y99/B32 || Santey (trailer) (Ukraine) |- | Y99/E21 || Zmiev-Trans (truck trailer) (Ukraine) |- | Y99/C79 || Electron (bus) (Ukraine) |- | ZAA || Autobianchi |- | ZAA || Alfa Romeo Junior 2024- |- | ZAC || Jeep, Dodge Hornet |- | ZAH || Rolfo SpA (car transporter) |- | ZAJ || Trigano SpA; Roller Team recreational vehicles |- | ZAM || [[../Maserati/VIN Codes|Maserati]] |- | ZAP || Piaggio/Vespa/Gilera |- | ZAR || Alfa Romeo car |- | ZAS || Alfa Romeo Alfasud & Sprint through 1989 |- | ZAS || Alfa Romeo SUV 2018- |- | ZAX || Zorzi (truck trailer) |- | ZA4 || Omar (truck trailer) |- | ZA9/A12 || [[../Lamborghini/VIN Codes|Lamborghini]] through mid-2003 (including LM002) |- | ZA9/A17 || Carrozzeria Luigi Dalla Via (bus) |- | ZA9/A18 || De Simon (bus) |- | ZA9/A33 || Bucher Schörling Italia (sweeper) |- | ZA9/A47 || Silver Car (truck trailer) |- | ZA9/B09 || Mauri Bus System |- | ZA9/B34 || Mistrall Siloveicoli (truck trailer) |- | ZA9/B45 || Bolgan (truck trailer) |- | ZA9/B49 || OMSP Macola (truck trailer) |- | ZA9/B95 || Carrozzeria Autodromo Modena (bus) |- | ZA9/C38 || Dulevo (sweeper) |- | ZA9/D38 || Cizeta Automobili SRL |- | ZA9/D39 || [[../Bugatti/VIN Codes|Bugatti Automobili S.p.A]] |- | ZA9/D50 || Italdesign Giugiaro |- | ZA9/E15 || Tecnobus Industries S.r.l. |- | ZA9/E73 || Sitcar (bus) |- | ZA9/E88 || Cacciamali (bus) |- | ZA9/F16 || OMT (truck trailer) |- | ZA9/F21 || FGM (truck trailer) |- | ZA9/F48 || Rampini Carlo S.p.A. (bus) |- | ZA9/F76 || Pagani Automobili S.p.A. |- | ZA9/G97 || EPT Horus (bus) |- | ZA9/H02 || O.ME.P.S. (truck trailer) |- | ZA9/H44|| Green-technik by Green Produzione s.r.l. (machine trailer) |- | ZA9/J21 || VRV (truck trailer) |- | ZA9/J93 || Barbi (bus) |- | ZA9/K98 || Esagono Energia S.r.l. |- | ZA9/M09 || Italdesign Automobili Speciali |- | ZA9/M27 || Dallara Stradale |- | ZA9/M91 || Automobili Pininfarina |- | ZA9/180 || De Simon (bus) |- | ZA0 || Acerbi (truck trailer) |- | ZBA || Piacenza (truck trailer) |- | ZBB || Bertone |- | ZBD || InBus |- | ZBN || Benelli |- | ZBW || Rayton-Fissore Magnum |- | ZB3 || Cardi (truck trailer) |- | ZCB || E. Bartoletti SpA (truck trailer) |- | ZCF || Iveco / Irisbus (Italy) |- | ZCG || Cagiva SpA / MV Agusta |- | ZCG || Husqvarna Motorcycles Under MV Agusta ownership |- | ZCM || BredaMenarinibus / Menarinibus / IIA (Industria Italiana Autobus) |- | ZCN || Astra Veicoli Industriali S.p.A. |- | ZCV || Vibreti (truck trailer) |- | ZCZ || BredaBus |- | ZC1 || AnsaldoBreda S.p.A. |- | ZC2 || Chrysler TC by Maserati |- | ZDC || Honda Italia Industriale SpA |- | ZDF || [[../Ferrari/VIN Codes|Ferrari]] Dino |- | ZDJ || ACM Biagini |- | ZDM || Ducati Motor Holdings SpA |- | ZDT || De Tomaso Modena SpA |- | ZDY || Cacciamali |- | ZD0 || Yamaha Motor Italia SpA & Belgarda SpA |- | ZD3 || Beta Motor |- | ZD4 || Aprilia |- | ZD5 || Casalini |- | ZEB || Ellebi (trailer) |- | ZEH || Trigano SpA (former SEA Group); McLouis & Mobilvetta recreational vehicles |- | ZES || Bimota |- | ZEX || TM Racing (motorcycle) |- | ZE5 || Carmosino (truck trailer) |- | ZFA || Fiat |- | ZFB || Fiat MPV/SUV & Ram Promaster City |- | ZFC || Fiat truck (Fiat Ducato for Mexico, Ram 1200) |- | ZFE || KL Motorcycle |- | ZFF || [[../Ferrari/VIN Codes|Ferrari]] |- | ZFJ || Carrozzeria Pezzaioli (truck trailer) |- | ZFM || Fantic Motor |- | ZFR || Pininfarina |- | ZF4 || Qvale |- | ZGA || Iveco Bus |- | ZGP || Merker (truck trailer) |- | ZGU || Moto Guzzi |- | ZG2 || FAAM (commercial vehicle) |- | ZHU || Husqvarna Motorcycles Under Cagiva ownership |- | ZHW || [[../Lamborghini/VIN Codes|Lamborghini]] (Mid-2003 – ) |- | ZHZ || Menci SpA (truck trailer) |- | ZH5 || FB Mondial (motorcycle) |- | ZJM || Malaguti |- | ZJN || Innocenti |- | ZJT || Italjet |- | ZKC || Ducati Energia Free Duck (electric quadricycle) |- | ZKH || Husqvarna Motorcycles Srl Under BMW ownership |- | ZLA || Lancia |- | ZLF || Tazzari GL SpA |- | ZLM || Moto Morini srl |- | ZLV || Laverda |- | ZNN || Energica |- | ZN0 || SWM Motorcycles S.r.l. |- | ZN3 || Iveco Defence |- | ZN6 || Maserati SUV |- | ZPB || [[../Lamborghini/VIN Codes|Lamborghini]] SUV |- | ZPY || DR Automobiles |- | ZP6 || XEV |- | ZP8 || Regis Motors |- | ZRG || Tazzari GL Imola SpA |- | ZR1 || Microlino |- | ZSG || [[../Ferrari/VIN Codes|Ferrari]] SUV |- | ZX1 || TAM (Tovarna Avtomobilov Maribor) bus (Slovenia) |- | ZX9/KU0 || K-Bus / Kutsenits (bus) (Slovenia) |- | ZX9/DUR || TAM bus (Slovenia) |- | ZX9/TV0 || TAM (Tovarna Vozil Maribor) bus (Slovenia) |- | ZY1 || Adria (recreational vehicles) (Slovenia) |- | ZY9/002 || Gorica (truck trailer) (Slovenia) |- | ZZ1 || Tomos motorcycle (Slovenia) |- | Z29/555 || Vozila FLuid (truck trailer) (Slovenia) |- | Z39/008 || Autogalantas (truck trailer) (Lithuania) |- | Z39/009 || Patikima Linija / Rimo (truck trailer) (Lithuania) |- | Z6F || Ford Sollers (Russia) |- | Z7C || Luidor (bus) (Russia) |- | Z7N || KAvZ (bus) (Russia) |- | Z7T || RoAZ (bus) (Russia) |- | Z7X || Isuzu Rus (Russia) |- | Z76 || SEMAZ (Kazakhstan) |- | Z8M || Marussia (Russia) |- | Z8N || Nissan Manufacturing Rus (Russia) |- | Z8T || PCMA Rus (Peugeot, Citroen, Mitsubishi) (Russia) |- | Z8Y || Nasteviya (bus) (Russia) |- | Z9B || KuzbassAvto (Hyundai bus) (Russia) |- | Z9M || Mercedes-Benz Trucks Vostok (Russia) |- | Z9N || Samotlor-NN (Iveco) (Russia) |- | Z94 || Hyundai Motor Manufacturing Rus (2008-2023), Solaris Auto - AGR Automotive (2023-) (Russia) |- | Z07 || Volgabus (Russia) |- | 1A4 1A8 || Chrysler brand MPV/SUV 2006–2009 only |- | 1A9/007 || Advance Mixer Inc. |- | 1A9/111 || Amerisport Inc. (federalized late model DeTomaso Pantera) |- | 1A9/398 || Ameritech (federalized McLaren F1 & Bugatti EB110) |- | 1A9/569 || American Custom Golf Cars Inc. (AGC) |- | 1AC || American Motors Corporation MPV |- | 1AF || American LaFrance truck |- | 1AJ || Ajax Manufacturing (truck trailer) |- | 1AM || American Motors Corporation car & Renault Alliance 1983 only |- | 1BN || Beall Trailers (truck trailer) |- | 1B3 || Dodge car 1981–2011 |- | 1B4 || Dodge MPV/SUV 1981–2002 |- | 1B6 || Dodge incomplete vehicle 1981–2002 |- | 1B7 || Dodge truck 1981–2002 |- | 1B9/133 || Buell Motorcycle Company through mid-1995 |- | 1B9/274 || Brooks Brothers Trailers |- | 1B9/275 || Boydstun Metal Works (truck trailer) |- | 1B9/285 || Boss Hoss Cycles |- | 1B9/374 || Big Dog Custom Motorcycles |- | 1B9/975 || Motus Motorcycles |- | 1BA || Blue Bird Corporation bus |- | 1BB || Blue Bird Wanderlodge MPV |- | 1BD || Blue Bird Corporation incomplete vehicle |- | 1BL || Balko, Inc. |- | 1C3 || Chrysler brand car 1981–2011 |- | 1C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 1C4 || Chrysler brand MPV 1990–2005 |- | 1C4 || Chrysler Group (all brands) MPV 2012– |- | 1C6 || Chrysler Group (all brands) truck 2012– |- | 1C8 || Chrysler brand MPV 2001–2005 |- | 1C9/257 || CEI Equipment Company (truck trailer) |- | 1C9/291 || CX Automotive |- | 1C9/496 || Carlinville Truck Equipment (truck trailer) |- | 1C9/535 || Chance Coach (bus) |- | 1C9/772 || Cozad (truck trailer) |- | 1C9/971 || Cool Amphibious Manufacturers International |- | 1CM || Checker Motors Corporation |- | 1CU || Cushman Haulster (Cushman division of Outboard Marine Corporation) |- | 1CY || Crane Carrier Company |- | 1CY || Battle Motors, Inc. |- | 1D3 || Dodge truck 2002–2009 |- | 1D4 || Dodge MPV/SUV 2003–2011 only |- | 1D7 || Dodge truck 2002–2011 |- | 1D8 || Dodge MPV/SUV 2003–2009 only |- | 1D9/008 || KME Fire Apparatus |- | 1D9/791 || Dennis Eagle, Inc. |- | 1DW || Stoughton Trailers (truck trailer) |- | 1E9/007 || E.D. Etnyre & Co. (truck trailer) |- | 1E9/190 || Electric Transit Inc. (trolleybus) |- | 1E9/363 || E-SUV LLC (E-Ride Industries) |- | 1E9/456 || Electric Motorsport (GPR-S electric motorcycle) |- | 1E9/526 || Epic TORQ |- | 1E9/581 || Vetter Razor |- | 1EU || Eagle Coach Corporation (bus) |- | 1FA || [[../Ford/VIN Codes|Ford]] car |- | 1FB || [[../Ford/VIN Codes|Ford]] "bus" (van with more than 3 rows of seats) |- | 1FC || [[../Ford/VIN Codes|Ford]] stripped chassis made by Ford |- | 1FD || [[../Ford/VIN Codes|Ford]] incomplete vehicle |- | 1FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 1FT || [[../Ford/VIN Codes|Ford]] truck |- | 1FU || Freightliner (truck) |- | 1FV || Freightliner (incomplete vehicle) |- | 1F1 || Ford SUV - Limousine (through 2009) |- | 1F6 || Ford stripped chassis made by Detroit Chassis LLC |- | 1F9/037 || Federal Motors Inc. |- | 1F9/140 || Ferrara Fire Apparatus (incomplete vehicle) |- | 1F9/458 || Faraday Future prototypes |- | 1F9/FT1 || FWD Corp. |- | 1F9/ST1 || Seagrave Fire Apparatus |- | 1F9/ST2 || Seagrave Fire Apparatus |- | 1G || [[../GM/VIN Codes|General Motors]] USA |- | 1G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 1G0 || GMC Rapid Transit Series (RTS) bus 1981–1984 |- | 1G0 || Opel/Vauxhall car 2007–2017 |- | 1G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 1G2 || [[../GM/VIN Codes|Pontiac]] car |- | 1G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 1G4 || [[../GM/VIN Codes|Buick]] car |- | 1G5 || GMC MPV/SUV 1981–1986 |- | 1G6 || [[../GM/VIN Codes|Cadillac]] car |- | 1G7 || Pontiac car only sold by GM Canada |- | 1G8 || Chevrolet MPV/SUV 1981–1986 |- | 1G8 || [[../GM/VIN Codes|Saturn]] car 1991–2010 |- | 1G9/492 || GreenPower Motor Company incomplete vehicle |- | 1G9/495 || Google & Waymo |- | 1GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 1GB || Chevrolet incomplete vehicles |- | 1GC || [[../GM/VIN Codes|Chevrolet]] truck |- | 1GD || GMC incomplete vehicles |- | 1GE || Cadillac incomplete vehicle |- | 1GF || Flxible bus |- | 1GG || Isuzu pickup trucks made by GM |- | 1GH || GMC Rapid Transit Series (RTS) bus 1985–1986 |- | 1GH || Oldsmobile MPV/SUV 1990–2004 |- | 1GH || Holden Acadia 2019–2020 |- | 1GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 1GK || GMC MPV/SUV 1987– |- | 1GM || [[../GM/VIN Codes|Pontiac]] MPV |- | 1GN || [[../GM/VIN Codes|Chevrolet]] MPV/SUV 1987- |- | 1GR || Great Dane Trailers (truck trailer) |- | 1GT || [[../GM/VIN Codes|GMC]] Truck |- | 1GY || [[../GM/VIN Codes|Cadillac]] SUV |- | 1HA || Chevrolet incomplete vehicles made by Navistar International |- | 1HD || Harley-Davidson & LiveWire |- | 1HF || Honda motorcycle/ATV/UTV |- | 1HG || [[../Honda/VIN Codes|Honda]] car made by Honda of America Mfg. in Ohio |- | 1HS || International Trucks & Caterpillar Trucks truck |- | 1HT || International Trucks & Caterpillar Trucks & Chevrolet Silverado 4500HD, 5500HD, 6500HD incomplete vehicle |- | 1HV || IC Bus incomplete bus |- | 1H9/674 || Hines Specialty Vehicle Group |- | 1JC || Jeep SUV 1981–1988 (using AMC-style VIN structure) |- | 1JJ || Wabash (truck trailer) |- | 1JT || Jeep truck 1981–1988 (using AMC-style VIN structure) |- | 1JU || Marmon Motor Company |- | 1J4 || Jeep SUV 1989–2011 (using Chrysler-style VIN structure) |- | 1J7 || Jeep truck 1989–1992 (using Chrysler-style VIN structure) |- | 1J8 || Jeep SUV 2002–2011 (using Chrysler-style VIN structure) |- | 1K9/058 || Kovatech Mobile Equipment (fire engine) |- | 1LH || Landoll (truck trailer) |- | 1LJ || Lincoln incomplete vehicle |- | 1LN || [[../Ford/VIN Codes|Lincoln]] car |- | 1LV || Lectra Motors |- | 1L0 || Lufkin Trailers |- | 1L1 || Lincoln car – limousine |- | 1L9/155 || LA Exotics |- | 1L9/234 || Laforza |- | 1MB || Mercedes-Benz Truck Co. |- | 1ME || [[../Ford/VIN Codes|Mercury]] car |- | 1MR || Continental Mark VI & VII 1981–1985 & Continental sedan 1982–1985 |- | 1M0 || John Deere Gator |- | 1M1 || Mack Truck USA (truck) |- | 1M2 || Mack Truck USA (incomplete vehicle) |- | 1M3 || Mack Truck USA (incomplete vehicle) |- | 1M4 || Mack Truck USA |- | 1M8 || Motor Coach Industries (bus) |- | 1M9/089 || Mauck Special Vehicles (bus) |- | 1M9/682 || Mosler Automotive |- | 1M9/816 || Proterra Through mid-2019 |- | 1N4 || Nissan car |- | 1N6 || Nissan truck |- | 1N9/019 || Neoplan USA |- | 1N9/084 || Eldorado National (California) |- | 1N9/140 || North American Bus Industries (bus) |- | 1N9/393 || Nikola Corporation (truck) |- | 1NK || Kenworth (incomplete vehicle) |- | 1NL || Gulf Stream Coach (recreational vehicles) |- | 1NN || Monon made by Evans Products Co. (truck trailer) |- | 1NP || Peterbilt (incomplete vehicle) |- | 1NX || Toyota car made by NUMMI |- | 1P3 || Plymouth car |- | 1P4 || Plymouth MPV/SUV |- | 1P7 || Plymouth Scamp |- | 1P9/038 || Hawk Vehicles, Inc. (Trihawk motorcycles) |- | 1P9/213 || Panoz |- | 1P9/255 || Pinson Truck Equipment Company (truck trailer) |- | 1PM || Polar Tank Trailer (truck trailer) |- | 1PT || Trailmobile Trailer Corporation (truck trailer) |- | 1PY || John Deere USA |- | 1RF || Roadmaster, Monaco Coach Corporation |- | 1RN || Reitnouer (truck trailer) |- | 1R9/956 || Reede Fabrication and Design (motorcycles) |- | 1ST || Airstream (recreational vehicles) |- | 1S1 || Strick Trailers (truck trailer) |- | 1S9/003 || Sutphen Corporation (fire engines - truck) |- | 1S9/009|| Superior Trailer Works (truck trailer) |- | 1S9/098 || Scania AB (Scania CN112 bus made in Orange, CT) |- | 1S9/842 || Saleen S7 |- | 1S9/260 || Stairs Welding RL (truck trailer) |- | 1S9/901 || Suckerpunch Sallys, LLC |- | 1S9/944 || SSC North America |- | 1TD || Timpte (truck trailer) |- | 1TK || Trail King (truck trailer) |- | 1TD || Transcraft Corporation (truck trailer) |- | 1T7 || Thomas Built Buses |- | 1T8 || Thomas Built Buses |- | 1T9/072 || The Trailer Co. (truck trailer) |- | 1T9/717 || Thunder Mountain Custom Cycles |- | 1T9/825 || TICO Manufacturing Company (truck) |- | 1T9/899 || Tomcar USA |- | 1T9/970 || Three Two Chopper |- | 1TC || Coachmen Recreational Vehicle Co., LLC |- | 1TU || Transportation Manufacturing Corporation |- | 1UJ || Jayco, Inc. |- | 1UT || AM General military trucks, Jeep DJ made by AM General |- | 1UY || Utility Trailer (truck trailer) |- | 1VH || Orion Bus Industries |- | 1VW || Volkswagen car |- | 1V1 || Volkswagen truck |- | 1V2 || Volkswagen SUV |- | 1V9/048 || Vector Aeromotive |- | 1V9/113 || Vantage Vehicle International Inc (low-speed vehicle) |- | 1V9/190 || Vanderhall Motor Works |- | 1WT || Winnebago Industries |- | 1WU || White Motor Company (truck) |- | 1WV 1WW || Winnebago Industries |- | 1WX 1WY || White Motor Company (incomplete vehicle) |- | 1W1 || Wilson Trailer Co. (truck trailer) |- | 1W8 || Witzco (truck trailer) |- | 1W9/010 || Weld-It Company (truck trailer) |- | 1W9/485 || Wheego Electric Cars |- | 1W9/488 || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (2010 & later) |- | 1XA || Excalibur Automobile Corporation |- | 1XK || Kenworth (truck) |- | 1XM || Renault Alliance/GTA/Encore 1984–1987 |- | 1XP || Peterbilt (truck) |- | 1Y1 || Chevrolet/Geo car made by NUMMI |- | 1YJ || Rokon International, Inc. |- | 1YV || [[../Ford/VIN Codes|Mazda made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZV || [[../Ford/VIN Codes|Ford made by Mazda Motor Manufacturing USA/AutoAlliance International]] |- | 1ZW || [[../Ford/VIN Codes|Mercury made by AutoAlliance International]] |- | 1Z3 1Z7 || Mitsubishi Raider |- | 1Z9/170 || [[w:Orange County Choppers|Orange County Choppers]] |- | 10B || Brenner Tank (truck trailer) |- | 10R || E-Z-GO |- | 10T || Oshkosh Corporation |- | 11H || Hendrickson Mobile Equipment, Inc. (fire engines - incomplete vehicle) |- | 12A || Avanti |- | 137 || AM General Hummer & Hummer H1 |- | 13N || Fontaine (truck trailer) |- | 15G || Gillig bus |- | 16C || Clenet Coachworks |- | 16W || Certified Stainless Services Inc. DBA West-Mark (truck trailer) (prior to 2010) |- | 16X || Vixen 21 motorhome |- | 17N || John Deere incomplete vehicle (RV chassis) |- | 19U || Acura car made by Honda of America Mfg. in Ohio |- | 19V || Acura car made by Honda Manufacturing of Indiana |- | 19X || Honda car made by Honda Manufacturing of Indiana |- | 2A3 || Imperial |- | 2A4 2A8 || Chrysler brand MPV/SUV 2006–2011 only |- | 2AY 2AZ || Hino |- | 2BC || Jeep Wrangler (YJ) 1987–1988 (using AMC-style VIN structure) |- | 2BP || Ski-Doo |- | 2BV || Can-Am & Bombardier ATV |- | 2BW || Can-Am Commander E LSV |- | 2BX || Can-Am Spyder |- | 2BZ || Can-Am Freedom Trailer for Can-Am Spyder |- | 2B1 || Orion Bus Industries |- | 2B3 || Dodge car 1981–2011 |- | 2B4 || Dodge MPV 1981–2002 |- | 2B5 || Dodge "bus" (van with more than 3 rows of seats) 1981–2002 |- | 2B6 || Dodge incomplete vehicle 1981–2002 |- | 2B7 || Dodge truck 1981–2002 |- | 2B9/001 || BWS Manufacturing (truck trailer) |- | 2C1 || Geo/Chevrolet car made by CAMI Automotive |- | 2C3 || Chrysler brand car 1981–2011 |- | 2C3 || Chrysler Group (all brands) car (including Lancia) 2012- |- | 2C4 || Chrysler brand MPV/SUV 2000–2005 |- | 2C4 || Chrysler Group (all brands) MPV (including Lancia Voyager & Volkswagen Routan) 2012- |- | 2C7 || Pontiac car made by CAMI Automotive only sold by GM Canada |- | 2C8 || Chrysler brand MPV/SUV 2001–2005 |- | 2C9/145 || Campagna Motors |- | 2C9/197 || Canadian Electric Vehicles |- | 2CC || American Motors Corporation MPV |- | 2CG || Asüna/Pontiac SUV made by CAMI Automotive only sold by GM Canada |- | 2CK || GMC Tracker SUV made by CAMI Automotive only sold by GM Canada 1990–1991 only |- | 2CK || Pontiac Torrent SUV made by CAMI Automotive 2006–2009 only |- | 2CM || American Motors Corporation car |- | 2CN || Geo/Chevrolet SUV made by CAMI Automotive 1990–2011 only |- | 2CT || GMC Terrain SUV made by CAMI Automotive 2010–2011 only |- | 2D4 || Dodge MPV 2003–2011 only |- | 2D6 || Dodge incomplete vehicle 2003 |- | 2D7 || Dodge truck 2003 |- | 2D8 || Dodge MPV 2003–2011 only |- | 2DG || Ontario Drive & Gear |- | 2DM || Di-Mond Trailers (truck trailer) |- | 2DN || Dynasty Electric Car Corporation |- | 2EZ || Electra Meccanica Vehicles Corp. (Solo) |- | 2E3 || Eagle car 1989–1997 (using Chrysler-style VIN structure) |- | 2E4 || 2011 Lancia MPV (Voyager) |- | 2E9/080 || Electra Meccanica Vehicles Corp. (Solo) |- | 2FA || [[../Ford/VIN Codes|Ford]] car |- | 2FH || Zenn Motor Co., Ltd. (low-speed vehicle) |- | 2FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 2FT || [[../Ford/VIN Codes|Ford]] truck |- | 2FU || Freightliner (truck) |- | 2FV || Freightliner (incomplete vehicle) |- | 2FW || Sterling Trucks (truck-complete vehicle) |- | 2FY || New Flyer |- | 2FZ || Sterling Trucks (incomplete vehicle) |- | 2Gx || [[../GM/VIN Codes|General Motors]] Canada |- | 2G0 || GMC "bus" (van with more than 3 rows of seats) 1981–1986 |- | 2G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 2G2 || [[../GM/VIN Codes|Pontiac]] car |- | 2G3 || [[../GM/VIN Codes|Oldsmobile]] car |- | 2G4 || [[../GM/VIN Codes|Buick]] car |- | 2G5 || GMC MPV 1981–1986 |- | 2G5 || Chevrolet BrightDrop / BrightDrop Zevo truck 2023- |- | 2G6 || [[../GM/VIN Codes|Cadillac]] car |- | 2G7 || Pontiac car only sold by GM Canada |- | 2G8 || Chevrolet MPV 1981–1986 |- | 2GA || Chevrolet "bus" (van with more than 3 rows of seats) |- | 2GB || Chevrolet incomplete vehicles |- | 2GC || Chevrolet truck |- | 2GD || GMC incomplete vehicles |- | 2GE || Cadillac incomplete vehicle |- | 2GH || GMC GM New Look bus & GM Classic series bus |- | 2GJ || GMC "bus" (van with more than 3 rows of seats) 1987– |- | 2GK || GMC MPV/SUV 1987– |- | 2GN || Chevrolet MPV/SUV 1987- |- | 2GT || GMC truck |- | 2HG || [[../Honda/VIN Codes|Honda]] car made by Honda of Canada Manufacturing |- | 2HH || Acura car made by Honda of Canada Manufacturing |- | 2HJ || [[../Honda/VIN Codes|Honda]] truck made by Honda of Canada Manufacturing |- | 2HK || [[../Honda/VIN Codes|Honda]] MPV/SUV made by Honda of Canada Manufacturing |- | 2HM || Hyundai Canada |- | 2HN || Acura SUV made by Honda of Canada Manufacturing |- | 2HS || International Trucks truck |- | 2HT || International Trucks incomplete vehicle |- | 2J4 || Jeep Wrangler (YJ) 1989–1992 (using Chrysler-style VIN structure) |- | 2L1 || Lincoln incomplete vehicle – limo |- | 2LD || Triple E Canada Ltd. |- | 2LJ || Lincoln incomplete vehicle – hearse |- | 2LM || Lincoln SUV |- | 2LN || Lincoln car |- | 2M1 || Mack Trucks |- | 2M2 || Mack Trucks |- | 2ME || [[../Ford/VIN Codes|Mercury]] car |- | 2MG || Motor Coach Industries (Produced from Sept. 1, 2008 on) |- | 2MH || [[../Ford/VIN Codes|Mercury]] incomplete vehicle |- | 2MR || [[../Ford/VIN Codes|Mercury]] MPV |- | 2M9/044 || Westward Industries |- | 2M9/058 || Motor Coach Industries |- | 2NK || Kenworth incomplete vehicle |- | 2NP || Peterbilt incomplete vehicle |- | 2NV || Nova Bus |- | 2P3 || Plymouth car |- | 2P4 || Plymouth MPV 1981–2000 |- | 2P5 || Plymouth "bus" (van with more than 3 rows of seats) 1981–1983 |- | 2P9/001 || Prevost 1981–1995 |- | 2PC || Prevost 1996- |- | 2S2 || Suzuki car made by CAMI Automotive |- | 2S3 || Suzuki SUV made by CAMI Automotive |- | 2TU || Tri-Star Industries Limited |- | 2T1 || [[../Toyota/VIN Codes|Toyota]] car made by TMMC |- | 2T2 || Lexus SUV made by TMMC |- | 2T3 || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMC |- | 2T9/206 || Triple E Canada Ltd. |- | 2V4 || Volkswagen Routan made by Chrysler Canada |- | 2V8 || Volkswagen Routan made by Chrysler Canada |- | 2W9/044 || Westward Industries |- | 2WK || Western Star (truck) |- | 2WL || Western Star (incomplete vehicle) |- | 2WM || Western Star (incomplete vehicle) |- | 2XK || Kenworth (truck) |- | 2XM || Eagle Premier 1988 only (using AMC-style VIN structure) |- | 2XP || Peterbilt (truck) |- | 3A4 3A8 || Chrysler brand MPV 2006–2010 only |- | 3A9/050 || MARGO (truck trailer) |- | 3AK || Freightliner Trucks (truck) |- | 3AL || Freightliner Trucks (incomplete vehicle) |- | 3AW || Fruehauf de Mexico (truck trailer) |- | 3AX || Scania Mexico |- | 3BE || Scania Mexico (buses) |- | 3BJ || Western Star 3700 truck made by DINA S.A. |- | 3BK || Kenworth (incomplete vehicle) |- | 3BM || Motor Coach Industries bus made by DINA S.A. |- | 3BP || Peterbilt (incomplete vehicle) |- | 3B3 || Dodge car 1981–2011 |- | 3B4 || Dodge SUV 1986–1993 |- | 3B6 || Dodge incomplete vehicle 1981–2002 |- | 3B7 || Dodge truck 1981–2002 |- | 3C3 || Chrysler brand car 1981–2011 |- | 3C3 || Chrysler Group (all brands) car (including Fiat) 2012- |- | 3C4 || Chrysler brand MPV 2001–2005 |- | 3C4 || Chrysler Group (all brands) MPV (including Fiat) 2012- |- | 3C6 || Chrysler Group (all brands) truck 2012– |- | 3C7 || Chrysler Group (all brands) incomplete vehicle 2012– |- | 3C8 || Chrysler brand MPV 2001–2005 |- | 3CA || Chrysler brand MPV 2001 (PT Cruiser w/serial# 232057-265662) |- | 3CE || Volvo Buses de Mexico |- | 3CG || KTMMEX S.A. de C.V. |- | 3CZ || Honda SUV made by Honda de Mexico |- | 3D2 || Dodge incomplete vehicle 2007–2009 |- | 3D3 || Dodge truck 2006–2009 |- | 3D4 || Dodge SUV 2009–2011 |- | 3D6 || Dodge incomplete vehicle 2003–2011 |- | 3D7 || Dodge truck 2002–2011 |- | 3EL || ATRO (truck trailer) |- | 3E4 || 2011 Fiat SUV (Freemont) |- | 3FA || [[../Ford/VIN Codes|Ford]] car |- | 3FC || Ford stripped chassis made by Ford & IMMSA |- | 3FE || [[../Ford/VIN Codes|Ford]] Mexico |- | 3FM || [[../Ford/VIN Codes|Ford]] MPV/SUV |- | 3FN || Ford F-650/F-750 made by Blue Diamond Truck Co. (truck) |- | 3FR || Ford F-650/F-750 & Ford LCF made by Blue Diamond Truck Co. (incomplete vehicle) |- | 3FT || [[../Ford/VIN Codes|Ford]] truck |- | 3F6 || Sterling Bullet |- | 3G || [[../GM/VIN Codes|General Motors]] Mexico |- | 3G0 || Saab 9-4X 2011 |- | 3G0 || Holden Equinox 2018–2020 |- | 3G1 || [[../GM/VIN Codes|Chevrolet]] car |- | 3G2 || [[../GM/VIN Codes|Pontiac]] car |- | 3G4 || [[../GM/VIN Codes|Buick]] car |- | 3G5 || [[../GM/VIN Codes|Buick]] SUV |- | 3G7 || [[../GM/VIN Codes|Pontiac]] SUV |- | 3GA || JAC models assembled by Giant Motors in Mexico |- | 3GC || Chevrolet truck |- | 3GK || GMC SUV |- | 3GM || Holden Suburban |- | 3GN || Chevrolet SUV |- | 3GP || Honda Prologue EV made by GM |- | 3GS || Saturn SUV |- | 3GT || GMC truck |- | 3GY || Cadillac SUV |- | 3H1 || Honda motorcycle/UTV |- | 3H3 || Hyundai de Mexico, S.A. de C.V. for Hyundai Translead (truck trailers) |- | 3HA || International Trucks incomplete vehicle |- | 3HC || International Trucks truck |- | 3HD || Acura SUV made by Honda de Mexico |- | 3HG || [[../Honda/VIN Codes|Honda]] car made by Honda de Mexico |- | 3HS || International Trucks & Caterpillar Trucks truck |- | 3HT || International Trucks & Caterpillar Trucks incomplete vehicle |- | 3HV || International incomplete bus |- | 3JB || BRP Mexico (Can-Am ATV/UTV & Can-Am Ryker) |- | 3KM || Kia/Hyundai MPV/SUV made by KMMX |- | 3KP || Kia/Hyundai car made by KMMX |- | 3LN || Lincoln car |- | 3MA || Mercury car (1988-1995) |- | 3MD || Mazda de Mexico car (Mazda 2) |- | 3ME || Mercury car (1996-2011) |- | 3MF || BMW M car |- | 3MG || Isuzu Motors de Mexico |- | 3MJ || Mazda CX-3 (Mazda de Mexico) |- | 3MV || Mazda de Mexico SUV (Mazda CX-30) |- | 3MW || BMW car |- | 3MY || Toyota car made by Mazda de Mexico Vehicle Operation |- | 3MZ || Mazda de Mexico car (Mazda 3) |- | 3N1 || Nissan Mexico car |- | 3N6 || Nissan Mexico truck & Chevrolet City Express |- | 3N8 || Nissan Mexico MPV |- | 3NS || Polaris Industries ATV |- | 3NE || Polaris Industries UTV |- | 3P3 || Plymouth car |- | 3PC || Infiniti SUV made by COMPAS |- | 3TM || Toyota truck made by TMMBC |- | 3TY || Toyota truck made by TMMGT |- | 3VV || Volkswagen Mexico SUV |- | 3VW || Volkswagen Mexico car |- | 3WK || Kenworth truck |- | 3WP || Peterbilt truck |- | 4A3 || Mitsubishi Motors car |- | 4A4 || Mitsubishi Motors SUV |- | 4B3 || Dodge car made by Diamond-Star Motors factory |- | 4B9/038 || BYD Coach & Bus LLC |- | 4C3 || Chrysler car made by Diamond-Star Motors factory |- | 4C6 || Reinke Manufacturing Company (truck trailer) |- | 4C9/272 || Christini Technologies (motorcycle) |- | 4C9/561 || Czinger |- | 4C9/626 || Canoo Inc. |- | 4CD || Oshkosh Chassis Division incomplete vehicle (RV chassis) |- | 4DR || IC Bus |- | 4E3 || Eagle car made by Diamond-Star Motors factory |- | 4EN || E-ONE, Inc. (fire engines - truck) |- | 4F2 || Mazda SUV made by Ford |- | 4F4 || Mazda truck made by Ford |- | 4G1 || Chevrolet Cavalier convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G2 || Pontiac Sunfire convertible made by Genasys L.C. – a GM/ASC joint venture |- | 4G3 || Toyota Cavalier made by GM |- | 4G5 || General Motors EV1 |- | 4GD || WhiteGMC Brigadier 1988–1989 made by GM |- | 4GD || Opel/Vauxhall Sintra |- | 4GL || Buick incomplete vehicle |- | 4GT || Isuzu incomplete vehicle built by GM |- | 4JG || [[../Mercedes-Benz/VIN Codes|Mercedes-Benz]] SUV |- | 4J8 || LBT, Inc. (truck trailer) |- | 4KB || Chevrolet W-Series incomplete vehicle (gas engine only) made by GM |- | 4KD || GMC W-Series incomplete vehicle (gas engine only) made by GM |- | 4KE || U.S. Electricar Consulier |- | 4KL || Isuzu N-Series incomplete vehicle (gas engine only) built by GM |- | 4LM || Capacity of Texas (truck) |- | 4M2 || [[../Ford/VIN Codes|Mercury]] MPV/SUV |- | 4MB || Mitsubishi Motors |- | 4ML || Oshkosh Trailer Division |- | 4MZ || Buell Motorcycle Company |- | 4N2 || Nissan Quest made by Ford |- | 4NU || Isuzu Ascender made by GM |- | 4P1 || Pierce Manufacturing Inc. USA |- | 4P3 || Plymouth car made by Diamond-Star Motors factory 1990–1994 |- | 4P3 || Mitsubishi Motors SUV made by Mitsubishi Motor Manufacturing of America 2013–2015 for export only |- | 4RK || Nova Bus & Prevost made by Nova Bus (US) Inc. |- | 4S1 || Isuzu truck made by Subaru Isuzu Automotive |- | 4S2 || Isuzu SUV made by Subaru Isuzu Automotive & 2nd gen. Holden Frontera made by SIA |- | 4S3 || [[../Subaru/VIN Codes|Subaru]] car |- | 4S4 || [[../Subaru/VIN Codes|Subaru]] SUV/MPV |- | 4S6 || Honda SUV made by Subaru Isuzu Automotive |- | 4S7 || Spartan Motors incomplete vehicle |- | 4S9/197 || Smith Electric Vehicles |- | 4S9/345 || Satellite Suites (trailer) |- | 4S9/419 || Spartan Motors truck |- | 4S9/454 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/520 || Signature Autosport, LLC (Osprey Custom Cars) |- | 4S9/542 || Scuderia Cameron Glickenhaus SCG Boot (M.P.V.) |- | 4S9/544 || Scuderia Cameron Glickenhaus passenger car |- | 4S9/559 || Spartan Fire, LLC truck (formerly Spartan ER) |- | 4S9/560 || Spartan Fire, LLC incomplete vehicle (formerly Spartan ER) |- | 4S9/569 || SC Autosports, LLC (Kandi) |- | 4TA || [[../Toyota/VIN Codes|Toyota]] truck made by NUMMI |- | 4T1 || [[../Toyota/VIN Codes|Toyota]] car made by Toyota Motor Manufacturing Kentucky |- | 4T3 || [[../Toyota/VIN Codes|Toyota]] MPV/SUV made by Toyota Motor Manufacturing Kentucky |- | 4T4 || [[../Toyota/VIN Codes|Toyota]] car made by Subaru of Indiana Automotive |- | 4T9/208 || Xos, Inc. |- | 4T9/228 || Lumen Motors |- | 4UF || Arctic Cat Inc. |- | 4US || BMW car |- | 4UZ || Freightliner Custom Chassis Corporation & <br /> gas-powered Mitsubishi Fuso trucks assembled by Freightliner Custom Chassis & <br /> Thomas Built Buses FS-65 & Saf-T-Liner C2 |- | 4V0 || Crossroads RV (recreational vehicles) |- | 4V1 || WhiteGMC (truck) |- | 4V2 || WhiteGMC (incomplete vehicle) |- | 4V3 || Volvo Trucks North America (truck) |- | 4V4 || Volvo Trucks North America (truck) |- | 4V5 || Volvo Trucks North America (incomplete vehicle) |- | 4V6 || Volvo Trucks North America (truck) |- | 4VA || Volvo Trucks North America (truck) |- | 4VE || Volvo Trucks North America (incomplete vehicle) |- | 4VG || Volvo Trucks North America (truck) |- | 4VH || Volvo Trucks North America (incomplete vehicle) |- | 4VM || Volvo Trucks North America (incomplete vehicle) |- | 4VZ || Spartan Motors/The Shyft Group (incomplete vehicle – bare chassis only) |- | 4WW || Wilson Trailer Sales |- | 4W1 || '24+ Chevrolet Suburban HD made by GM Defense for US govt. in Concord, NC |- | 4W5 || Acura ZDX EV made by GM |- | 4XA || Polaris Inc. |- | 4X4 || Forest River |- | 4YD || KeyStone RV Company (recreational vehicle) |- | 4YM || Carry-On Trailer, Inc. |- | 4YM || Anderson Manufacturing (trailer) |- | 4Z3 || American LaFrance truck |- | 43C || Consulier |- | 44K || HME Inc. (fire engines - incomplete vehicle) (HME=Hendrickson Mobile Equipment) |- | 46G || Gillig incomplete vehicle |- | 46J || Federal Motors Inc |- | 478 || Honda ATV |- | 480 || Sterling Trucks (truck) |- | 49H || Sterling Trucks (incomplete vehicle) |- | 5AS || Global Electric Motorcars (GEM) 1999-2011 |- | 5AX || Armor Chassis (truck trailer) |- | 5A4 || Load Rite Trailers Inc. |- | 5BP || Solectria |- | 5BZ || Nissan "bus" (van with more than 3 rows of seats) |- | 5B4 || Workhorse Custom Chassis, LLC incomplete vehicle (RV chassis) |- | 5CD || Indian Motorcycle Company of America (Gilroy, CA) |- | 5CX || Shelby Series 1 |- | 5DF || Thomas Dennis Company LLC |- | 5DG || Terex Advance Mixer |- | 5EH || Excelsior-Henderson Motorcycle |- | 5EO || Cottrell (truck trailer) |- | 5FC || Columbia Vehicle Group (Columbia, Tomberlin) (low-speed vehicles) |- | 5FN || Honda MPV/SUV made by Honda Manufacturing of Alabama |- | 5FP || Honda truck made by Honda Manufacturing of Alabama |- | 5FR || Acura SUV made by Honda Manufacturing of Alabama |- | 5FT || Feeling Trailers |- | 5FY || New Flyer |- | 5GA || Buick MPV/SUV |- | 5GD || Daewoo G2X |- | 5GN || Hummer H3T |- | 5GR || Hummer H2 |- | 5GT || Hummer H3 |- | 5GZ || Saturn MPV/SUV |- | 5G8 || Holden Volt |- | 5HD || Harley-Davidson for export markets |- | 5HT || Heil Trailer (truck trailer) |- | 5J5 || Club Car |- | 5J6 || Honda SUV made by Honda of America Mfg. in Ohio |- | 5J8 || Acura SUV made by Honda of America Mfg. in Ohio |- | 5KB || Honda car made by Honda Manufacturing of Alabama |- | 5KJ || Western Star Trucks truck |- | 5KK || Western Star Trucks truck |- | 5KM || Vento Motorcycles |- | 5KT || Karavan Trailers |- | 5L1 || [[../Ford/VIN Codes|Lincoln]] SUV - Limousine (2004–2009) |- | 5L5 || American IronHorse Motorcycle |- | 5LD || Ford & Lincoln incomplete vehicle – limousine (2010–2014) |- | 5LM || [[../Ford/VIN Codes|Lincoln]] SUV |- | 5LT || [[../Ford/VIN Codes|Lincoln]] truck |- | 5MZ || Buell Motorcycle Company for export markets |- | 5N1 || Nissan & Infiniti SUV |- | 5N3 || Infiniti SUV |- | 5NH || Forest River |- | 5NM || Hyundai SUV made by HMMA |- | 5NP || Hyundai car made by HMMA |- | 5NT || Hyundai truck made by HMMA |- | 5PV || Hino incomplete vehicle made by Hino Motors Manufacturing USA |- | 5RJ || Android Industries LLC |- | 5RX || Heartland Recreational Vehicles |- | 5S3 || Saab 9-7X |- | 5SA || Suzuki Manufacturing of America Corp. (ATV) |- | 5SX || American LaFrance incomplete vehicle (Condor) |- | 5TB || [[../Toyota/VIN Codes|Toyota]] truck made by TMMI |- | 5TD || Toyota MPV/SUV & Lexus TX made by TMMI |- | 5TE || Toyota truck made by NUMMI |- | 5TF || Toyota truck made by TMMTX |- | 5TU || Construction Trailer Specialist (truck trailer) |- | 5UM || BMW M car |- | 5UX || BMW SUV |- | 5VC || Autocar incomplete vehicle |- | 5VF || American Electric Vehicle Company (low-speed vehicle) |- | 5VP || Victory Motorcycles |- | 5V8 || Vanguard National (truck trailer) |- | 5WE || IC Bus incomplete vehicle |- | 5XX || Kia car made by KMMG |- | 5XY || Kia/Hyundai SUV made by KMMG |- | 5YA || Indian Motorcycle Company (Kings Mountain, NC) |- | 5YF || Toyota car made by TMMMS |- | 5YJ || Tesla, Inc. passenger car (only used for US-built Model S and Model 3 starting from Nov, 1st 2021) |- | 5YM || BMW M SUV |- | 5YN || Cruise Car, Inc. |- | 5Y2 || Pontiac Vibe made by NUMMI |- | 5Y4 || Yamaha Motor Motor Mfg. Corp. of America (ATV, UTV) |- | 5ZT || Forest River (recreational vehicles) |- | 5ZU || Greenkraft (truck) |- | 5Z6 || Suzuki Equator (truck) made by Nissan |- | 50E || Lucid Motors passenger car |- | 50G || Karma Automotive |- | 516 || Autocar truck |- | 51R || Brammo Motorcycles |- | 522 || GreenGo Tek (low-speed vehicle) |- | 523 || VPG (The Vehicle Production Group) |- | 52C || GEM subsidiary of Polaris Inc. |- | 537 || Azure Dynamics Transit Connect Electric |- | 538 || Zero Motorcycles |- | 53G || Coda Automotive |- | 53T || Think North America in Elkhart, IN |- | 546 || EBR |- | 54C || Winnebago Industries travel trailer |- | 54D || Isuzu & Chevrolet commercial trucks built by Spartan Motors/The Shyft Group |- | 54F || Rosenbauer |- | 55S || Mercedes-Benz car |- | 56K || Indian Motorcycle International, LLC (Polaris subsidiary) |- | 573 || Grand Design RV (truck trailer) |- | 57C || Maurer Manufacturing (truck trailer) |- | 57R || Oreion Motors |- | 57S || Lightning Motors Corp. (electric motorcycles) |- | 57W || Mobility Ventures |- | 57X || Polaris Slingshot |- | 58A || Lexus car made by TMMK (Lexus ES) |- | 6AB || MAN Australia |- | 6AM || Jayco Corp. (RVs) |- | 6F1 || Ford |- | 6F2 || Iveco Trucks Australia Ltd. |- | 6F4 || Nissan Motor Company Australia |- | 6F5 || Kenworth Australia |- | 6FM || Mack Trucks Australia |- | 6FP || [[../Ford/VIN Codes|Ford]] Australia |- | 6G1 || [[../GM/VIN Codes|General Motors]]-Holden (post Nov 2002) & Chevrolet & Vauxhall Monaro & VXR8 |- | 6G2 || [[../GM/VIN Codes|Pontiac]] Australia (GTO & G8) |- | 6G3 || [[../GM/VIN Codes|General Motors]] Chevrolet Caprice PPV & SS performance sedan 2014-2017 |- | 6H8 || [[../GM/VIN Codes|General Motors]]-Holden (pre Nov 2002) |- | 6KT || BCI Bus |- | 6MM || Mitsubishi Motors Australia |- | 6MP || Mercury Capri 1991-1994 |- | 6T1 || [[../Toyota/VIN Codes|Toyota]] Motor Corporation Australia |- | 6T9 || Privately Imported car (VIN issued by Victoria) or Trailer in Australia |- | 6U9 || Privately Imported car in Australia |- | 6ZZ || Privately Imported car in Australia |- | 7AB || MAN New Zealand |- | 7AT || VIN assigned by the New Zealand Transport Authority Waka Kotahi from 29 November 2009 |- | 7A1 || Mitsubishi New Zealand |- | 7A3 || Honda New Zealand |- | 7A4 || Toyota New Zealand |- | 7A5 || Ford New Zealand |- | 7A7 || Nissan New Zealand |- | 7A8 || VIN assigned by the New Zealand Transport Authority Waka Kotahi before 29 November 2009 |- | 7B2 || Nissan Diesel bus New Zealand |- | 7FA || Honda SUV made by Honda Manufacturing of Indiana |- | 7FC || Rivian truck |- | 7F7 || Arcimoto, Inc. |- | 7GZ || GMC incomplete vehicles made by Navistar International |- | 7G0 || Faraday Future |- | 7G2 || Tesla, Inc. truck (used for Nevada-built Semi Trucks & Texas-built Cybertruck) |- | 7H4 || Hino truck |- | 7H8 || Cenntro Electric Group Limited low-speed vehicle |- | 7JD || Volvo Cars SUV |- | 7JR || Volvo Cars passenger car |- | 7JZ || Proterra From mid-2019 on |- | 7KG || Vanderhall Motor Works |- | 7KY || Dorsey (truck trailer) |- | 7MM || Mazda SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MU || Toyota SUV made by MTMUS (Mazda-Toyota Joint Venture) |- | 7MW || Cenntro Electric Group Limited truck |- | 7MZ || HDK electric vehicles |- | 7NA || Navistar Defense |- | 7NY || Lordstown Motors |- | 7PD || Rivian SUV |- | 7RZ || Electric Last Mile Solutions |- | 7SA || Tesla, Inc. (US-built MPVs (e.g. Model X, Model Y)) |- | 7SU || Blue Arc electric trucks made by The Shyft Group |- | 7SV || [[../Toyota/VIN Codes|Toyota]] SUV made by TMMTX |- | 7SX || Global Electric Motorcars (WAEV) 2022- |- | 7SY || Polestar SUV |- | 7TN || Canoo |- | 7UU || Lucid Motors MPV/SUV |- | 7UZ || Kaufman Trailers (trailer) |- | 7VV || Ree Automotive |- | 7WE || Bollinger Motors incomplete vehicle |- | 7YA || Hyundai MPV/SUV made by HMGMA |- | 7Z0 || Zoox |- | 722 || Isuzu North America Corp. (incomplete vehicle - medium duty) |- | 8AB || Mercedes Benz truck & bus (Argentina) |- | 8AC || Mercedes Benz vans (for South America) |- | 8AD || Peugeot Argentina |- | 8AE || Peugeot van |- | 8AF || [[../Ford/VIN Codes|Ford]] Argentina |- | 8AG || [[../GM/VIN Codes|Chevrolet]] Argentina |- | 8AJ || [[../Toyota/VIN Codes|Toyota]] Argentina |- | 8AK || Suzuki Argentina |- | 8AN || Nissan Argentina |- | 8AP || Fiat Argentina |- | 8AT || Iveco Argentina |- | 8AW || Volkswagen Argentina |- | 8A1 || Renault Argentina |- | 8A3 || Scania Argentina |- | 8BB || Agrale Argentina S.A. |- | 8BC || Citroën Argentina |- | 8BN || Mercedes-Benz incomplete vehicle (North America) |- | 8BR || Mercedes-Benz "bus" (van with more than 3 rows of seats) (North America) |- | 8BT || Mercedes-Benz MPV (van with 2 or 3 rows of seats) (North America) |- | 8BU || Mercedes-Benz truck (cargo van with 1 row of seats) (North America) |- | 8CH || Honda motorcycle |- | 8C3 || Honda car/SUV |- | 8G1 || Automotores Franco Chilena S.A. Renault |- | 8GD || Automotores Franco Chilena S.A. Peugeot |- | 8GG || [[../GM/VIN Codes|Chevrolet]] Chile |- | 8LD || General Motors OBB - Chevrolet Ecuador |- | 8LF || Maresa (Mazda) |- | 8LG || Aymesa (Hyundai Motor & Kia) |- | 8L4 || Great Wall Motors made by Ciudad del Auto (Ciauto) |- | 8XD || Ford Motor Venezuela |- | 8XJ || Mack de Venezuela C.A. |- | 8XV || Iveco Venezuela C.A. |- | 8Z1 || General Motors Venezolana C.A. |- | 829 || Industrias Quantum Motors S.A. (Bolivia) |- | 9BD || Fiat Brazil & Dodge, Ram made by Fiat Brasil |- | 9BF || [[../Ford/VIN Codes|Ford]] Brazil |- | 9BG || [[../GM/VIN Codes|Chevrolet]] Brazil |- | 9BH || Hyundai Motor Brasil |- | 9BM || Mercedes-Benz Brazil car, SUV, commercial truck & bus |- | 9BN || Mafersa |- | 9BR || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 9BS || Scania Brazil |- | 9BV || Volvo Trucks |- | 9BW || Volkswagen Brazil |- | 9BY || Agrale S.A. |- | 9C2 || Moto Honda Da Amazonia Ltda. |- | 9C6 || Yamaha Motor Da Amazonia Ltda. |- | 9CD || Suzuki (motorcycles) assembled by J. Toledo Motos do Brasil |- | 9DF || Puma |- | 9DW || Kenworth & Peterbilt trucks made by Volkswagen do Brasil |- | 9EZ || homemade or handbuilt vehicles |- | 92H || Origem Brazil |- | 932 || Harley-Davidson Brazil |- | 935 || Citroën Brazil |- | 936 || Peugeot Brazil |- | 937 || Dodge Dakota |- | 93C || Chevrolet SUV [Tracker] or pickup [Tornado, Montana, S10] (sold in Mexico, made in Brazil) |- | 93H || [[../Honda/VIN Codes|Honda]] Brazil car/SUV |- | 93K || Volvo Trucks |- | 93P || Volare |- | 93S || Navistar International |- | 93R || [[../Toyota/VIN Codes|Toyota]] Brazil |- | 93U || Audi Brazil 1999–2006 |- | 93W || Fiat Ducato made by Iveco 2000–2016 |- | 93V || Navistar International |- | 93X || Souza Ramos – Mitsubishi Motors / Suzuki Jimny |- | 93Y || Renault Brazil |- | 93Z || Iveco |- | 94D || Nissan Brazil |- | 94N || RWM Brazil |- | 94T || Troller Veículos Especiais |- | 95P || CAOA Hyundai & CAOA Chery |- | 95V || Dafra Motos (motorscooters from SYM) & Ducati, KTM, & MV Agusta assembled by Dafra |- | 95V || BMW motorcycles assembled by Dafra Motos 2009–2016 |- | 95Z || Buell Motorcycle Company assembled by Harley-Davidson Brazil |- | 953 || VW Truck & Bus / MAN Truck & Bus |- | 96P || Kawasaki |- | 97N || Triumph Motorcycles Ltd. |- | 988 || Jeep, Ram [Rampage], and Fiat [Toro] (made at the Goiana plant) |- | 98M || BMW car/SUV |- | 98P || DAF Trucks |- | 98R || Chery |- | 99A || Audi 2016- |- | 99H || Shineray |- | 99J || Jaguar Land Rover |- | 99K || Haojue & Kymco assembled by JTZ Indústria e Comércio de Motos |- | 99L || BYD |- | 99Z || BMW Motorrad (Motorcycle assembled by BMW 2017-) |- | 9FB || Renault Colombia (Sofasa) |- | 9FC || Compañía Colombiana Automotriz S.A. (Mazda) |- | 9GA || [[../GM/VIN Codes|Chevrolet]] Colombia (GM Colmotores S.A.) |- | 9UJ || Chery assembled by Chery Socma S.A. (Uruguay) |- | 9UK || Lifan (Uruguay) |- | 9UT || Dongfeng trucks made by Nordex S.A. |- | 9UW || Kia made by Nordex S.A. |- | 9VC || Fiat made by Nordex S.A. (Scudo, 2025 Titano) |- | 9V7 || Citroen made by Nordex S.A. (Jumpy) |- | 9V8 || Peugeot made by Nordex S.A. (Expert) |} ==References== {{reflist}} {{BookCat}} jypxw9cc4s7ihgyg2mpuejixigc2bvn Vehicle Identification Numbers (VIN codes)/Mercedes-Benz/VIN Codes 0 142017 4635337 4635179 2026-05-11T21:37:39Z JustTheFacts33 3434282 /* Position 8 */ 4635337 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} Mercedes-Benz uses the following VIN formats: (Note) This chart is not applicable to Mercedes-Benz products made for markets other than North America. European/World market cars use a different system for encoding VIN numbers. ==1960-1980== Position 1-3 - chassis code (e.g. 107, 116, 123, etc.) Position 4-6 - model type (e.g. 024, 032, 033, 036, 044, 045, etc.) Position 7 - 1=LH Drive (made in Germany), 2=RH Drive (made in Germany), 5=LH Drive CKD, 6=RH Drive CKD (Complete Knocked Down, assembled outside Germany)1 Position 8 - 0=Manual transmission, 1=Hydraulic clutch, 2= Automatic transmission 2 (Alphabetics indicate Plant of Manufacture i.e.: A = Sindelfingen) Position 9-14 - Construction serial number 10704312006193 ==Passenger Vehicles 1981-== ===Positions 1–3, World Manufacturer Identifier:=== * W1K Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz passenger car) * W1N Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz SUV) * WDB Daimler-Benz AG (DaimlerChrysler after 1998) (Daimler AG after 2007) (Mercedes-Benz or Maybach passenger car) * WDC DaimlerChrysler AG (Daimler AG after 2007) (Mercedes-Benz SUV) * WDD DaimlerChrysler AG (Daimler AG after 2007) (Mercedes-Benz passenger car) * WMX Mercedes-AMG (not used in North America) * 4JG Mercedes-Benz U.S. International (Mercedes-Benz SUV) * 55S Mercedes-Benz U.S. International (Mercedes-Benz passenger car) * 9BM Mercedes-Benz Brazil car & SUV ===Position 4, Model or Series:=== * A W123 300-Class * B R107 SL-Class * B C107 SLC-Class * C W126/C126 S-Class * D W201 190-Class * E W124 300-Class/E-Class * F R129 SL-Class * G W140/C140 S-Class, C140 CL-Class * H W202 C-Class * J W210 E-Class * K R170 SLK-Class * L C208/A208 CLK-Class * N W220 S-Class * P C215 CL-Class * R W203 C-Class * S R230 SL-Class * T C209/A209 CLK-Class * U W211 E-Class * W R171 SLK-Class *---------------------------------- * A C199/R199/Z199 SLR McLaren * D C219 CLS-Class * E C216 CL-Class * F W245 B-Class (Canada only) * G W204 C-Class * H W212/S212 E-Class sedan/wagon * J R231 SL-Class * K C207/A207 E-Class coupe/convertible * L C218 CLS-Class * M W246 B-Class (Canada only) * N W221 S-Class * P R172 SLK-Class/SLC-Class * R C197/R197 SLS AMG * S C117 CLA-Class * U W222 S-Class sedan * V W240 Maybach 57/62 * V N242 B-Class Electric * W W205 C-Class * X C217/A217 S-Class coupe/convertible * Y C190/R190 AMG GT coupe/roadster * Z W213/S213/X213 E-Class sedan/wagon/All-Terrain wagon * 1 C238/A238 E-Class coupe/convertible * 2 C257 CLS-Class * 3 V177 A-Class sedan * 3 W177 A-Class hatchback (Canada only) * 5 C118 CLA-Class * 6 W223 S-Class sedan * 7 X290 AMG GT 4-door coupe *---------------------------------- * A W206 C-Class * C V297 EQS-Class sedan * E V295 EQE-Class sedan * F C174 CLA-Class sedan EV * L W214/X214 E-Class sedan/All-Terrain wagon * M C236/A236 CLE-Class coupe/convertible * R C192 AMG GT coupe * V R232 SL-Class *---------------------------------- * A W163 M-Class * B W164 M-Class * B X164 GL-Class * C W251 R-Class * D W166 M-Class/GLE-Class * D X166 GL-Class/GLS-Class * D X296 EQS-Class SUV * E C292 GLE-Class Coupe * F W167/C167 GLE-Class * F X167 GLS-Class * G X204 GLK-Class * 0 X253/C253 GLC-Class * G X294 EQE-Class SUV * K X254/C254 GLC-Class * T X156 GLA-Class * Y W463 G-Class * W W465 G-Class * 4 H247 GLA-Class * 4 X247 GLB-Class * 9 X243 EQB-Class ===Position 5, Body Style:=== Passenger Cars: * B = Long Body * F = Sedan ('96+ E-Class, '01+ C-Class, '06 S-Class [S350], Maybach 57) * F = 5-door hatchback (Canada only: '19-'22 A-Class) * G = Sedan Long Wheelbase ('00+ S-Class, Maybach 62) * G = Sedan ('19-'22 A-Class sedan) * G = Electric Sedan ('23+ EQE sedan) * G = Electric hatchback Sedan ('22+ EQS sedan) * H = Wagon ('98-'09, '11- E-Class wagon, '02-'05 C-Class wagon, Canada only: '19-'21 C-Class wagon) * H = "Sedan" [5-door hatchback/compact minivan] ('06-'11, '13-'19 B-Class [gas engine] - Canada only) * J = 2-door Coupe ('98-'09 CLK-Class Coupe, '12-'15, '17-'23 C-Class coupe, '10-'23 E-Class coupe, '24- CLE-Class coupe, '00-'14 CL-Class, '15-'21 S-Class coupe, '05-'07 SLR McLaren coupe, '11-'15 SLS AMG coupe, '16-'21, '24- AMG GT coupe) * J = 4-door Coupe ('06-'23 CLS-Class, '14- CLA-Class) * K = Cabriolet/Roadster ('99-'09 CLK-Class Cabriolet, '17-'23 C-Class Cabriolet, '11-'23 E-Class Cabriolet, '24- CLE-Class Cabriolet, '17-'21 S-Class Cabriolet, '98-'16 SLK-Class, '17-'20 SLC-Class, '03+ SL-Class, '08-'09 SLR McLaren roadster, '12-'15 SLS AMG roadster, '18-'21 AMG GT roadster) * N = "Coupe" [3-door hatchback] ('02-'05 C-Class Sport Coupe) * P = "Sedan" [5-door hatchback/compact minivan] (B-Class Electric) * X = 4-door Sedan Extra-Long Wheelbase ('16+ Maybach S-Class) * X = 4-door Coupe [5-door hatchback] ('19- AMG GT 4-door Coupe) * X = Cabriolet/Roadster ('26+ Maybach SL680) SUVs: * A = 4-door MPV ('12-'15 M-Class, '16-'19 GLE-Class wagon) * B = 4-door MPV ('98-'11 M-Class) * B = 4-door MPV ('20-' GLE-Class wagon) * B = 4-door MPV ('06-'12 & '13 in Canada R-Class) * C = 4-door MPV ('10-'24 G-Class) * D = 4-door MPV ('16-'19, '21- GLE-Class Coupe) * F = 4-door MPV ('07-'16 GL-Class, '17- GLS-Class) * G = 4-door MPV ('10-'15 GLK-Class, '16-'22 GLC-Class wagon) * G = 4-door MPV ('15-'20 GLA-Class) * H = 4-door MPV ('25- G550, G63 AMG) * J = 4-door MPV ('17- GLC-Class Coupe) * M = 4-door MPV ('20- GLB-Class, '22- EQB-Class) * M = 4-door MPV ('23- GLC-Class wagon) * M = 4-door MPV ('23- EQE-Class SUV) * M = 4-door MPV ('23- EQS-Class SUV) * M = 4-door MPV ('25- G580 EQ [EV]) * N = 4-door MPV ('21- GLA-Class) * R = 4-door MPV ('02-'09 G-Class) * X = 4-door MPV ('24- Maybach EQS680 SUV) On older models, this indicated the engine type, through much of the 1990s and into the 2000's for some models: * A = Gasoline (190 Class '84-'93, C-Class '94-'00, 300 Class '81, '86-'93, E-Class '94-'95, S-Class '81-'99, CL-Class '98-'99, SL-Class '81-'02, SLC '81) * B = Diesel (190 Class '84-'89, 300 Class '81-'85, '87, '90-'93, E-Class '95, S-Class '81-'87, '90-'95) * D = 4Matic Gasoline ('90-'93 300E 4Matic, 300TE 4Matic) * M = AMG Gasoline ('95-'97 C36 AMG only) ===Positions 6–7, Model within the series:=== '''V177:'''<br> following 3G in pos. 4-5: *4E = A220 sedan ['19-'22] (2.0-liter turbocharged GDI M260 I4) *4F = A220 4Matic sedan ['19-'22] (2.0-liter turbocharged GDI M260 I4) *5B = AMG A35 4Matic sedan ['20-'21 & in Canada: '22] (2.0-liter turbocharged GDI M260 I4) '''W177:'''<br> following 3F in pos. 4-5: *4G = A250 hatchback [Canada only: '19] (2.0-liter turbocharged GDI M260 I4) *4H = A250 4Matic hatchback [Canada only: '19-'22] (2.0-liter turbocharged GDI M260 I4) *5B = AMG A35 4Matic hatchback [Canada only: '20-'22] (2.0-liter turbocharged GDI M260 I4) '''W245:'''<br> following FH in pos. 4-5: *33 = B200 [Canada only: '06-'09] 2.0-liter SOHC 8-valve M266.980 I4 *3D = B200 [Canada only: '10-'11] 2.0-liter SOHC 8-valve M266.980 I4 *34 = B200 Turbo [Canada only: '06-'09] 2.0-liter SOHC 8-valve turbo M266.980 I4 *3E = B200 Turbo [Canada only: '10-'11] 2.0-liter SOHC 8-valve turbo M266.980 I4 *8G = B-Class F-Cell (hydrogen fuel cell) '''W246:'''<br> following MH in pos. 4-5: *4E = B250 [Canada only: '13-'19] 2.0-liter DOHC 16-valve turbo M270 I4 *4G = B250 4Matic [Canada only: '15-'19] 2.0-liter DOHC 16-valve turbo M270 I4 '''N242:'''<br> following VP in pos. 4-5: *9A = B-Class Electric Drive ['14-'15], B250e ['16-'17] (Tesla front electric motor, Lithium-ion battery pack, fwd, 177 hp) '''C117:'''<br> following SJ in pos. 4-5: *4E = CLA250 sedan ['14-'19] (2.0-liter turbocharged GDI M270 I4) *4G = CLA250 4Matic sedan ['14-'19] (2.0-liter turbocharged GDI M270 I4) *5C = CLA45 AMG 4Matic sedan ['14-'19] (2.0-liter turbocharged GDI AMG M133 I4) '''C118:'''<br> following 5J in pos. 4-5: *4G = CLA250 sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4G = CLA250 sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = CLA250 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4H = CLA250 4Matic sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG CLA35 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG CLA35 4Matic sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5D = AMG CLA45 4Matic sedan ['20-'23] (2.0-liter turbocharged port/direct injection AMG M139 I4) *5E = AMG CLA45 S 4Matic sedan ['24-'26] (2.0-liter turbocharged port/direct injection AMG M139 I4) '''C174:'''<br> following FJ in pos. 4-5: *1D = CLA250+ EV ['26-] (battery-electric, 1 rear motor, Rwd, 268 hp) *4E = CLA350 4Matic EV ['26-] (battery-electric, 2 motors, 4wd, 349 hp) '''W201:'''<br> following DA in pos. 4-5: *24 = 190E 2.3 ['84-'86] (2.3-liter SOHC, 8 valve M102 I4) *28 = 190E 2.3 ['87-'88, '91-'93] (2.3-liter SOHC, 8 valve M102 I4) *29 = 190E 2.6 ['87-'93] (2.6-liter M103 I6) *34 = 190E 2.3-16 ['86-'87] (2.3-liter DOHC, 16 valve M102 I4) following DB in pos. 4-5: *22 = 190D 2.2 ['84-'85] (2.2-liter OM601 diesel I4) *26 = 190D 2.5 ['86-'89] (2.5-liter OM602 diesel I5) *28 = 190D 2.5 Turbo ['87] (2.5-liter OM602 turbodiesel I5) '''W202:'''<br> following HA in pos. 4-5: *22 = C220 ['94-'96] (2.2-liter M111 I4) *23 = C230 ['97-'98] (2.3-liter M111 I4) *24 = C230 Kompressor ['99-'00] (2.3-liter supercharged M111 I4) *28 = C280 ['94-'97] (2.8-liter M104 I6) *29 = C280 ['98-'00] (2.8-liter SOHC, 18-valve M112 90° V6) *33 = C43 AMG ['98-'00] (4.3-liter SOHC, 24-valve M113.944 V8) following HM in pos. 4-5: *36 = C36 AMG ['95-'97] (3.6-liter M104 AMG I6) '''W203/S203/CL203:'''<br> following RF in pos. 4-5: *40 = C230 Kompressor Sport Sedan ['03-'05] (1.8-liter supercharged M271 I4) *52 = C230 Sport Sedan ['06-'07] (2.5-liter M272 90° V6) *54 = C280 sedan ['06-'07] (3.0-liter M272 90° V6) *56 = C350 sedan ['06-'07] (3.5-liter M272 90° V6) *61 = C240 sedan ['01-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *64 = C320 sedan ['01-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *65 = C32 AMG sedan ['02-'04] (3.2-liter SOHC, 18-valve supercharged M112 90° V6) *76 = C55 AMG ['05-'06] (5.4-liter SOHC, 24-valve M113 V8) *81 = C240 4Matic sedan ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *84 = C320 4Matic sedan ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *87 = C350 4Matic sedan ['06-'07] (3.5-liter M272 90° V6) *92 = C280 4Matic sedan ['06-'07] (3.0-liter M272 90° V6) following RH in pos. 4-5: *61 = C240 wagon ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *64 = C320 wagon ['02-'04] (3.2-liter SOHC, 18-valve M112 90° V6) *81 = C240 4Matic wagon ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *84 = C320 4Matic wagon ['03-'04] (3.2-liter SOHC, 18-valve M112 90° V6) following RN in pos. 4-5: *47 = C230 Kompressor Sport Coupe ['02] (2.3-liter supercharged M111 I4) *40 = C230 Kompressor Sport Coupe ['03-'05] (1.8-liter supercharged M271 I4) *64 = C320 Sport Coupe ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) '''W204/C204:'''<br> following GF in pos. 4-5: *4H = C250 sedan ['12-'14] (1.8-liter turbocharged GDI M271 I4) *54 = C300 sedan ['08-'09] (3.0-liter M272 90° V6) *5E = C300 sedan ['10-'11] (3.0-liter M272 90° V6) *56 = C350 sedan ['08-'09] (3.5-liter M272 90° V6) *5G = C350 sedan ['10-'11] (3.5-liter M272 90° V6) *5H = C350 sedan ['12-'14] (3.5-liter M276 60° GDI V6) *77 = C63 AMG sedan ['08-'09] (6.2-liter M156 V8) *7H = C63 AMG sedan ['10-'14], C63 AMG Edition 507 ['14] (6.2-liter M156 V8) *81 = C300 4Matic sedan ['08-'09] (3.0-liter M272 90° V6) *8B = C300 4Matic sedan ['10-'12] (3.0-liter M272 90° V6) *8A = C300 4Matic sedan ['13-'14] (3.5-liter M276 60° GDI V6 - detuned version) following GJ in pos. 4-5: *4H = C250 coupe ['12-'15] (1.8-liter turbocharged GDI M271 I4) *5H = C350 coupe ['12-'15] (3.5-liter M276 60° GDI V6) *7H = C63 AMG coupe ['12-'15], C63 AMG Black Series coupe ['12-'13], C63 AMG Edition 507 ['14-'15] (6.2-liter M156 V8) *8J = C350 4Matic coupe ['12-'15] (3.5-liter M276 60° GDI V6) '''W205/S205/C205/A205:'''<br> following WF in pos. 4-5: *4J = C300 sedan ['15-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic sedan ['15-'18] (2.0-liter turbocharged GDI M274 I4) *4H = C350e sedan ['16-'18] (PHEV: 2.0-liter turbocharged GDI M274 I4 + electric motor, lithium-ion battery) *8D = C300 sedan ['19-'21] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic sedan ['19-'21] (2.0-liter turbocharged GDI M264 I4) *6G = C400 4Matic sedan ['15] (3.0-liter twin turbo M276 60° GDI V6) *6E = C450 AMG Sport 4Matic sedan ['16], AMG C43 4Matic sedan ['17-'21] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 sedan ['15-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S sedan ['15-'21] (4.0-liter twin turbo M177 GDI V8) following WH in pos. 4-5: *4K = C300 4Matic wagon [Canada: '18] (2.0-liter turbocharged GDI M274 I4) *8E = C300 4Matic wagon [Canada: '19-'21] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic wagon [Canada: '19-'21] (3.0-liter twin turbo M276 60° GDI V6) following WJ in pos. 4-5: *4J = C300 coupe ['17-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic coupe ['17-'18] (2.0-liter turbocharged GDI M274 I4) *8D = C300 coupe ['19-'23] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic coupe ['19-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic coupe ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 coupe ['17-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S coupe ['17-'21, '23] (4.0-liter twin turbo M177 GDI V8) following WK in pos. 4-5: *4J = C300 convertible ['17-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic convertible ['17-'18] (2.0-liter turbocharged GDI M274 I4) *8D = C300 convertible ['19-'23] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic convertible ['19-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic convertible ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 convertible ['17-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S convertible ['17-'21, '23] (4.0-liter twin turbo M177 GDI V8) '''W206:'''<br> following AF in pos. 4-5: *4G = C300 sedan ['22-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = C300 4Matic sedan ['22-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG C43 4Matic+ sedan ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG C63 S E Performance 4Matic sedan ['24-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''W123/S123/C123:'''<br> following AA in pos. 4-5: *33 = 280E ['81] (2.7-liter DOHC, 12-valve M110.984 I6) *53 = 280CE ['81] (2.7-liter DOHC, 12-valve M110.984 I6) following AB in pos. 4-5: *23 = 240D ['81-'83] (2.4-liter OM616 diesel I4) *30 = 300D ['81] (3.0-liter OM617 diesel I5) *33 = 300D Turbodiesel ['82-'85] (3.0-liter OM617 turbodiesel I5) *50 = 300CD ['81] (3.0-liter OM617 diesel I5) *53 = 300CD Turbodiesel ['82-'85] (3.0-liter OM617 turbodiesel I5) *93 = 300TD Turbodiesel ['81-'85] (3.0-liter OM617 turbodiesel I5) '''W124/S124/C124/A124:'''<br> following EA in pos. 4-5: *26 = 260E ['87-'89], 300E 2.6 ['90-'92] (2.6-liter M103 I6) *28 = 300E 2.8 ['93] (2.8-liter M104 I6) *30 = 300E ['86-'92] (3.0-liter M103 I6) *32 = 300E ['93], E320 sedan ['94-'95] (3.2-liter M104 I6) *34 = 400E ['92-'93], E420 sedan ['94-'95] (4.2-liter M119 V8) *36 = 500E ['92-'93], E500 sedan ['94] (5.0-liter M119 V8) *50 = 300CE ['88-'89] (3.0-liter SOHC, 12 valve M103 I6) *51 = 300CE ['90-'92] (3.0-liter DOHC, 24 valve M104 I6) *52 = 300CE coupe ['93], E320 coupe ['94-'95] (3.2-liter M104 I6) *66 = 300CE convertible ['93], E320 convertible ['94-'95] (3.2-liter M104 I6) *90 = 300TE ['88-'92] (3.0-liter M103 I6) *92 = 300TE ['93], E320 wagon ['94-'95] (3.2-liter M104 I6) following EB in pos. 4-5: *28 = 300D 2.5 Turbo ['90-'93] (2.5-liter OM602 turbodiesel I5) *31 = E300 Diesel ['95] (3.0-liter DOHC, 24 valve OM606 diesel I6) *33 = 300D Turbo ['87] (3.0-liter OM603 turbodiesel I6) *93 = 300TD Turbo ['87] (3.0-liter OM603 turbodiesel I6) following ED in pos. 4-5: *30 = 300E 4Matic ['90-'93] (3.0-liter M103 I6) *90 = 300TE 4Matic ['90-'93] (3.0-liter M103 I6) '''W210/S210:'''<br> following JF in pos. 4-5: *20 = E300 Diesel ['96-'97] (3.0-liter DOHC, 24 valve OM606 diesel I6) *25 = E300 Turbodiesel ['98-'99] (3.0-liter DOHC, 24 valve OM606 turbodiesel I6) *55 = E320 ['96-'97] (3.2-liter M104 I6) *65 = E320 sedan ['98-'02] (3.2-liter SOHC, 18-valve M112 90° V6) *72 = E420 ['97] (4.2-liter M119 V8) *70 = E430 ['98-'02] (4.3-liter SOHC, 24-valve M113 V8) *74 = E55 AMG ['99-'02] (5.4-liter SOHC, 24-valve M113 V8) *82 = E320 4Matic sedan ['98-'02] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E430 4Matic ['00-'02] (4.3-liter SOHC, 24-valve M113 V8) following JH in pos. 4-5: *65 = E320 wagon ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) *82 = E320 4Matic wagon ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) '''W211/S211:'''<br> following UF in pos. 4-5: *26 = E320 CDI sedan ['05-'06] (3.2-liter DOHC, 24 valve OM648 turbodiesel I6) *22 = E320 Bluetec sedan ['07-'09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *65 = E320 sedan ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = E350 sedan ['06-'09] (3.5-liter M272 90° V6) *70 = E500 sedan ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) *72 = E550 sedan ['07-'09] (5.5-liter M273 V8) *76 = E55 AMG sedan ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = E63 AMG sedan ['07-'09] (6.2-liter M156 V8) *82 = E320 4Matic sedan ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E500 4Matic sedan ['04-'06] (5.0-liter SOHC, 24-valve M113 V8) *87 = E350 4Matic sedan ['06-'09] (3.5-liter M272 90° V6) *90 = E550 4Matic sedan ['07-'09] (5.5-liter M273 V8) following UH in pos. 4-5: *65 = E320 wagon ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = E350 wagon ['06] (3.5-liter M272 90° V6) *76 = E55 AMG wagon ['05-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = E63 AMG wagon ['07-'09] (6.2-liter M156 V8) *82 = E320 4Matic wagon ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E500 4Matic wagon ['04-'06] (5.0-liter SOHC, 24-valve M113 V8) *87 = E350 4Matic wagon ['06-'09] (3.5-liter M272 90° V6) '''W212/S212:'''<br> following HF in pos. 4-5: *2E = E350 Bluetec sedan ['11-'13] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *0E = E250 Bluetec sedan ['14-'16] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5G = E350 sedan ['10-'11] (3.5-liter M272 90° V6) *5K = E350 sedan ['12-'16] (3.5-liter M276 60° GDI V6) *6F = E400 sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6H = E400 4Matic sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 sedan ['10-'11] (5.5-liter M273 V8) *7H = E63 AMG sedan ['10-'11] (6.2-liter M156 V8) *7E = E63 AMG sedan ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = E63 AMG S 4Matic sedan ['14-'16] (5.5-liter twin turbo M157 GDI V8) *8B = E300 4Matic sedan [Canada only: '12-'16] (3.5-liter M276 60° GDI V6 - detuned version) *8H = E350 4Matic sedan ['10-'11] (3.5-liter M272 90° V6) *8J = E350 4Matic sedan ['12-'16] (3.5-liter M276 60° GDI V6) *9A = E550 4Matic sedan ['10-'11] (5.5-liter M273 V8) *9B = E550 4Matic sedan ['12-'14, Canada only: '15-'16] (4.7-liter twin turbo M278 GDI V8) *9C = E63 AMG 4Matic sedan ['14-'15] (5.5-liter twin turbo M157 GDI V8) *9F = E400 Hybrid sedan ['13-'15] (Mild Hybrid: 3.5-liter M276 60° GDI V6 + electric motor, lithium-ion battery) *9H = E250 Bluetec 4Matic sedan ['14-'16] (2.1-liter DOHC, 16 valve turbodiesel I4) following HH in pos. 4-5: *8H = E350 4Matic wagon ['11] (3.5-liter M272 90° V6) *8J = E350 4Matic wagon ['12-'16] (3.5-liter M276 60° GDI V6) *6H = E400 4Matic wagon [Canada only: '15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7E = E63 AMG wagon ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = E63 AMG S 4Matic wagon ['14-'16] (5.5-liter twin turbo M157 GDI V8) '''W213/S213:'''<br> following ZF in pos. 4-5: *4J = E300 sedan ['17-'19] (2.0-liter turbocharged GDI M274 I4) *4K = E300 4Matic sedan ['17-'19] (2.0-liter turbocharged GDI M274 I4) *8D = E350 sedan ['20-'23] (2.0-liter turbocharged GDI M264 I4) *8E = E350 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M264 I4) *6G = E400 4Matic sedan ['18] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic sedan ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5K = E450 4Matic sedan ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6E = AMG E43 4Matic sedan ['17-'18] (3.0-liter twin turbo M276 60° GDI V6) *6B = AMG E53 4Matic sedan ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG E63 S 4Matic sedan ['18-'21, '23] (4.0-liter twin turbo M177 GDI V8) following ZH in pos. 4-5: *6G = E400 4Matic wagon ['17-'18] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic wagon ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6A = E450 4Matic All-Terrain wagon ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG E63 S 4Matic wagon ['18-'21, '23] (4.0-liter twin turbo M177 GDI V8) '''W214/S214:'''<br> following LF in pos. 4-5: *4G = E350 sedan ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = E350 4Matic sedan ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = E450 4Matic sedan ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6D = AMG E53e 4Matic+ sedan ['25-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) following LH in pos. 4-5: *6F = E450 4Matic All-Terrain wagon ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6D = AMG E53e 4Matic+ wagon ['26-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) '''C219:'''<br> following DJ in pos. 4-5: *75 = CLS500 sedan ['06] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLS550 sedan ['07-'09] (5.5-liter M273 V8) *7C = CLS550 sedan ['10-'11] (5.5-liter M273 V8) *76 = CLS55 AMG sedan ['06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = CLS63 AMG sedan ['07-'09] (6.2-liter M156 V8) *7H = CLS63 AMG sedan ['10-'11] (6.2-liter M156 V8) '''C218:'''<br> following LJ in pos. 4-5: *6F = CLS400 sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6H = CLS400 4Matic sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7D = CLS550 sedan ['12-'18] (4.7-liter twin turbo M278 GDI V8) *7E = CLS63 AMG sedan ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = CLS63 AMG S 4Matic sedan ['14-'18] (5.5-liter twin turbo M157 GDI V8) *9B = CLS550 4Matic sedan ['12-'18] (4.7-liter twin turbo M278 GDI V8) *9C = CLS63 AMG 4Matic sedan ['14] (5.5-liter twin turbo M157 GDI V8) '''C257:'''<br> following 2J in pos. 4-5: *5J = CLS450 sedan ['19-'21] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = CLS450 4Matic sedan ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG CLS53 4Matic sedan ['19-'21] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''X290:'''<br> following 7X in pos. 4-5: *5K = AMG GT43 4Matic+ 4-Door Coupe ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GT53 4Matic+ 4-Door Coupe ['19-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8J = AMG GT63 4Matic+ 4-Door Coupe ['19-'21, '23-] (4.0-liter twin turbo M177 GDI V8) *8K = AMG GT63 S 4Matic+ 4-Door Coupe ['19-'21, '23] (4.0-liter twin turbo M177 GDI V8) *7K = AMG GT63 S E Performance 4Matic+ 4-Door Coupe ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''V295:'''<br> following EG in pos. 4-5: *2B = EQE350+ sedan ['23-'25] (battery-electric, 1 rear motor, Rwd, 288 hp) *2B = EQE320+ sedan ['26-] (battery-electric, 1 rear motor, Rwd, 315 hp) *1C = EQE350 4Matic sedan ['23-'25] (battery-electric, 2 motors, 4wd, 288 hp) *1C = EQE320 4Matic sedan ['26-] (battery-electric, 2 motors, 4wd, 315 hp) *2C = EQE500 4Matic sedan ['23-'25] (battery-electric, 2 motors, 4wd, 402 hp) *5D = AMG EQE 4Matic+ sedan ['23-] (battery-electric, 2 motors, 4wd, 617 hp) '''W126/V126//C126:'''<br> following CA in pos. 4-5: *24 = 300SE ['88-'91] (3.0-liter M103 I6) *25 = 300SEL ['88-'91] (3.0-liter M103 I6) *32 = 380SE ['84-'85] (3.8-liter M116 V8) *33 = 380SEL ['81-'83] (3.8-liter M116 V8) *35 = 420SEL ['86-'91] (4.2-liter M116 V8) *37 = 500SEL ['84-'85] (5.0-liter M117 V8) *39 = 560SEL ['86-'91] (5.5-liter M117 V8) *43 = 380SEC ['82-'83] (3.8-liter M116 V8) *44 = 500SEC ['84-'85] (5.0-liter M117 V8) *45 = 560SEC ['86-'91] (5.5-liter M117 V8) following CB in pos. 4-5: *20 = 300SD Turbodiesel ['81-'85] (3.0-liter OM617 turbodiesel I5) *25 = 300SDL Turbodiesel ['86-'87] (3.0-liter OM603 turbodiesel I6) *34 = 350SD Turbodiesel ['91] (3.4-liter OM603 turbodiesel I6) *35 = 350SDL Turbodiesel ['90-'91] (3.4-liter OM603 turbodiesel I6) '''W140/V140/C140:'''<br> following GA in pos. 4-5: *32 = 300SE ['92-'93], S320 sedan SWB ['94-'99] (3.2-liter M104 I6) *33 = S320 sedan LWB ['95-'99] (3.2-liter M104 I6) *42 = 400SE ['92] (4.2-liter M119 V8) *43 = 400SEL ['93], S420 ['94-'99] (4.2-liter M119 V8) *51 = 500SEL ['92-'93], S500 sedan ['94-'99] (5.0-liter M119 V8) *57 = 600SEL ['92-'93], S600 sedan ['94-'99] (6.0-liter DOHC, 48-valve M120 V12) *70 = 500SEC ['93], S500 coupe ['94-'97], CL500 ['98-'99] (5.0-liter M119 V8) *76 = 600SEC ['93], S600 coupe ['94-'97], CL600 ['98-'99] (6.0-liter DOHC, 48-valve M120 V12) following GB in pos. 4-5: *34 = 300SD Turbodiesel ['92-'93], S350 Turbodiesel ['94-'95] (3.4-liter OM603 turbodiesel I6) '''V220:'''<br> following NG in pos. 4-5: *70 = S430 ['00-'06] (4.3-liter SOHC, 24-valve M113 V8) *73 = S55 AMG ['01-'02] (5.4-liter SOHC, 24-valve M113 V8) *74 = S55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *75 = S500 ['00-'06] (5.0-liter SOHC, 24-valve M113 V8) *78 = S600 ['01-'02] (5.8-liter SOHC, 36-valve M137 V12) *76 = S600 ['03-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = S65 AMG ['06] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *83 = S430 4Matic ['03-'06] (4.3-liter SOHC, 24-valve M113 V8) *84 = S500 4Matic ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) '''W220:'''<br> following NF in pos. 4-5: *67 = S350 ['06] (3.7-liter SOHC, 18-valve M112 90° V6) '''C215:'''<br> following PJ in pos. 4-5: *73 = CL55 AMG ['01-'02] (5.4-liter SOHC, 24-valve M113 V8) *74 = CL55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *75 = CL500 ['00-'06] (5.0-liter SOHC, 24-valve M113 V8) *78 = CL600 ['01-'02] (5.8-liter SOHC, 36-valve M137 V12) *76 = CL600 ['03-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = CL65 AMG ['05-'06] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) '''V221:'''<br> following NG in pos. 4-5: *71 = S550 ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *7B = S550 ['10-'11] (5.5-liter DOHC, 32-valve M273 V8) *7D = S550 ['12-'13] (4.7-liter twin turbo M278 GDI V8) *76 = S600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *7G = S600 ['10-'13] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = S63 AMG ['08-09] (6.2-liter DOHC, 32-valve M156 V8) *7H = S63 AMG ['10] (6.2-liter DOHC, 32-valve M156 V8) *7E = S63 AMG ['11-'13] (5.5-liter twin turbo M157 GDI V8) *79 = S65 AMG ['07-09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = S65 AMG ['10-'13] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *8D = S350 Bluetec 4Matic ['12-'13] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *86 = S550 4Matic ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *8G = S550 4Matic ['10-'11] (5.5-liter DOHC, 32-valve M273 V8) *9E = S550 4Matic ['12-'13] (4.7-liter twin turbo M278 GDI V8) *9F = S400 Hybrid ['10-'13] (Mild Hybrid: 3.5-liter M272 90° Atkinson-cycle V6 + electric motor, lithium-ion battery) '''C216:'''<br> following EJ in pos. 4-5: *71 = CL550 ['07-'08] (5.5-liter DOHC, 32-valve M273 V8) *76 = CL600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *7G = CL600 ['10-'14] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = CL63 AMG ['08-'09] (6.2-liter DOHC, 32-valve M156 V8) *7H = CL63 AMG ['10] (6.2-liter DOHC, 32-valve M156 V8) *7E = CL63 AMG ['11-'14] (5.5-liter twin turbo M157 GDI V8) *79 = CL65 AMG ['08-'09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = CL65 AMG ['10-'14] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *86 = CL550 4Matic ['09] (5.5-liter DOHC, 32-valve M273 V8) *8G = CL550 4Matic ['10] (5.5-liter DOHC, 32-valve M273 V8) *9E = CL550 4Matic ['11-'14] (4.7-liter twin turbo M278 GDI V8) '''V222:'''<br> following UG in pos. 4-5: *6D = S550 Plug-in Hybrid ['15], S550e ['16-'17] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *7D = S560e ['19-'20] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *6G = S450 sedan ['18-'20] (3.0-liter twin turbo M276 60° GDI V6) *6E = S450 4Matic sedan ['18-'20] (3.0-liter twin turbo M276 60° GDI V6) *8C = S550 sedan ['14-'17] (4.7-liter twin turbo M278 GDI V8) *8D = S560 sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *8F = S550 4Matic sedan ['14-'17] (4.7-liter twin turbo M278 GDI V8) *8G = S560 4Matic sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic sedan ['14-'17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic sedan ['18-'20] (4.0-liter twin turbo M177 GDI V8) *7G = S600 sedan ['15-'17] (6.0-liter SOHC, 36-valve twin turbo M277 V12) *7K = S65 AMG sedan ['15-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''X222:'''<br> following UX in pos. 4-5: *8F = Mercedes-Maybach S550 4Matic sedan ['17] (4.7-liter twin turbo M278 GDI V8) *8G = Mercedes-Maybach S560 4Matic sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *7G = Mercedes-Maybach S600 sedan ['16-'17] (6.0-liter SOHC, 36-valve twin turbo M277 V12) *8A = Mercedes-Maybach S650 sedan ['18-'20] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''C217:'''<br> following XJ in pos. 4-5: *8F = S550 4Matic coupe ['15-'17] (4.7-liter twin turbo M278 GDI V8) *8G = S560 4Matic coupe ['18-'21] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic coupe ['15-'17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) *7K = S65 AMG coupe ['15-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''A217:'''<br> following XK in pos. 4-5: *8C = S550 convertible ['17] (4.7-liter twin turbo M278 GDI V8) *8D = S560 convertible ['18-'21] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic convertible ['17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic convertible ['18-'21] (4.0-liter twin turbo M177 GDI V8) *7K = S65 AMG convertible ['17-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) *7K = Mercedes-Maybach S650 convertible ['17] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''V223:'''<br> following 6G in pos. 4-5: *6D = S500 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *6K = S580e 4Matic sedan ['23-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *7G = S580 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8C = AMG S63 E Performance 4Matic+ ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''Z223:'''<br> following 6X in pos. 4-5: *7G = Mercedes-Maybach S580 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *7K = Mercedes-Maybach S680 4Matic sedan ['22-] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''V297:'''<br> following CG in pos. 4-5: *2D = EQS450+ sedan ['22-'23] (battery-electric, 1 rear motor, Rwd, 329 hp) *2D = EQS450+ sedan ['24-] (battery-electric, 1 rear motor, Rwd, 355 hp) *2E = EQS450 4Matic sedan ['23-] (battery-electric, 2 motors, 4wd, 355 hp) *4E = EQS580 4Matic sedan ['22-'23] (battery-electric, 2 motors, 4wd, 516 hp) *4E = EQS580 4Matic sedan ['24-] (battery-electric, 2 motors, 4wd, 536 hp) *5F = AMG EQS 4Matic+ sedan ['22-'25] (battery-electric, 2 motors, 4wd, 649 hp) '''W240:'''<br> following VF in pos. 4-5: *78 = Maybach 57 ['04-'09] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *7J = Maybach 57 ['10-'12] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *79 = Maybach 57S ['06-'09] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7K = Maybach 57S ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 57S Zeppelin ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 57S ['11-'12] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) '''V240:'''<br> following VG in pos. 4-5: *78 = Maybach 62 ['04-'09] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *7J = Maybach 62 ['10-'12] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *79 = Maybach 62S ['07-'09], 62S Landaulet ('09) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7K = Maybach 62S ['10], 62S Landaulet ('10) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 62S Zeppelin ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 62S ['11-'12], 62S Landaulet ('11-'12) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) '''C208/A208:'''<br> following LJ in pos. 4-5: *65 = CLK320 ['98-'02 coupe] (3.2-liter SOHC, 18-valve M112 90° V6) *70 = CLK430 ['99-'02 coupe] (4.3-liter SOHC, 24-valve M113 V8) *74 = CLK55 AMG ['01-'02 coupe] (5.4-liter SOHC, 24-valve M113 V8) following LK in pos. 4-5: *65 = CLK320 ['99-'03 convertible] (3.2-liter SOHC, 18-valve M112 90° V6) *70 = CLK430 ['00-'03 convertible] (4.3-liter SOHC, 24-valve M113 V8) *74 = CLK55 AMG ['02 convertible] (5.4-liter SOHC, 24-valve M113 V8) '''C209/A209:'''<br> following TJ in pos. 4-5: *65 = CLK320 ['03-'05 coupe] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = CLK350 ['06-'09 coupe] (3.5-liter M272 90° V6) *75 = CLK500 ['03-'06 coupe] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLK550 ['07-'09 coupe] (5.5-liter M273 V8) *76 = CLK55 AMG ['03-'05 coupe] (5.4-liter SOHC, 24-valve M113 V8) *77 = CLK63 AMG Black Series ['08 coupe] (6.2-liter M156 V8) following TK in pos. 4-5: *65 = CLK320 ['04-'05 convertible] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = CLK350 ['06-'09 convertible] (3.5-liter M272 90° V6) *75 = CLK500 ['04-'06 convertible] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLK550 ['07-'09 convertible] (5.5-liter M273 V8) *76 = CLK55 AMG ['04-'06 convertible] (5.4-liter SOHC, 24-valve M113 V8) *77 = CLK63 AMG ['07-'08 convertible] (6.2-liter M156 V8) '''C207/A207:'''<br> following KJ in pos. 4-5: *5G = E350 coupe ['10-'11] (3.5-liter M272 90° V6) *5K = E350 coupe ['12-'14] (3.5-liter M276 60° GDI V6) *6F = E400 coupe ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *6H = E400 4Matic coupe ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 coupe ['10-'11] (5.5-liter M273 V8) *7D = E550 coupe ['12-'17] (4.7-liter twin turbo M278 GDI V8) *8J = E350 4Matic coupe ['12-'14] (3.5-liter M276 60° GDI V6) following KK in pos. 4-5: *5G = E350 convertible ['11] (3.5-liter M272 90° V6) *5K = E350 convertible ['12-'14] (3.5-liter M276 60° GDI V6) *6F = E400 convertible ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 convertible ['11] (5.5-liter M273 V8) *7D = E550 convertible ['12-'17] (4.7-liter twin turbo M278 GDI V8) '''C238/A238:'''<br> following 1J in pos. 4-5: *6F = E400 coupe ['18] (3.0-liter twin turbo M276 60° GDI V6) *6G = E400 4Matic coupe ['18] (3.0-liter twin turbo M276 60° GDI V6) *6H = E450 coupe ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic coupe ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5J = E450 coupe ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = E450 4Matic coupe ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG E53 4Matic coupe ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) following 1K in pos. 4-5: *6F = E400 convertible ['18] (3.0-liter twin turbo M276 60° GDI V6) *6G = E400 4Matic convertible ['18] (3.0-liter twin turbo M276 60° GDI V6) *6H = E450 convertible ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic convertible ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5J = E450 convertible ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = E450 4Matic convertible ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG E53 4Matic convertible ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''C236/A236:'''<br> following MJ in pos. 4-5: *4H = CLE300 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = CLE450 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6C = AMG CLE53 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) following MK in pos. 4-5: *4H = CLE300 4Matic convertible ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = CLE450 4Matic convertible ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6C = AMG CLE53 4Matic convertible ['25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''R170:'''<br> following KK in pos. 4-5: *47 = SLK230 Kompressor ['98-'00] (2.3-liter M111.973 supercharged I4) *49 = SLK230 Kompressor ['01-'04] (2.3-liter M111.983 supercharged I4) *65 = SLK320 ['01-'04] (3.2-liter SOHC, 18-valve M112 90° V6) *66 = SLK32 AMG ['02-'04] (3.2-liter SOHC, 18-valve M112 supercharged 90° V6) '''R171:'''<br> following WK in pos. 4-5: *54 = SLK280 ['06-'08], SLK300 ['09] (3.0-liter M272 90° V6) *5E = SLK300 ['10-'11] (3.0-liter M272 90° V6) *56 = SLK350 ['05-'08] (3.5-liter M272 90° V6) *58 = SLK350 ['09] (3.5-liter M272 90° V6) *5J = SLK350 ['10-'11] (3.5-liter M272 90° V6) *73 = SLK55 AMG ['05-'09] (5.4-liter SOHC, 24-valve M113 V8) *7D = SLK55 AMG ['10] (5.4-liter SOHC, 24-valve M113 V8) '''R172:'''<br> following PK in pos. 4-5: *4H = SLK250 ['12-'15] (1.8-liter turbocharged GDI M271 I4) *3J = SLK300 ['16], SLC300 ['17-'20] (2.0-liter turbocharged GDI M274 I4) *5H = SLK350 ['12-'16] (3.5-liter M276 60° GDI V6) *6G = SLC43 AMG ['17-'20] (3.0-liter twin-turbocharged M276 60° GDI V6) *7F = SLK55 AMG ['12-'16] (5.5-liter M152 GDI V8) '''R107:'''<br> following BA in pos. 4-5: *45 = 380SL ['81-'85] (3.8-liter M116 V8) *48 = 560SL ['86-'89] (5.5-liter M117 V8) '''C107:'''<br> following BA in pos. 4-5: *25 = 380SLC ['81] (3.8-liter M116 V8) '''R129:'''<br> following FA in pos. 4-5: *61 = 300SL ['90-'93] (3.0-liter DOHC, 24 valve M104 I6) *63 = SL320 ['94-'97] (3.2-liter DOHC, 24 valve M104 I6) *66 = 500SL ['90-'92] (5.0-liter DOHC, 32-valve M119 V8) *67 = 500SL ['93], SL500 ['94-'98] (5.0-liter DOHC, 32-valve M119 V8) *68 = SL500 ['99-'02] (5.0-liter SOHC, 24-valve M113 V8) *76 = 600SL ['93], SL600 ['94-'02] (6.0-liter DOHC, 48-valve M120 V12) '''R230:'''<br> following SK in pos. 4-5: *75 = SL500 ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) *71 = SL550 ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *7B = SL550 ['11-'12] (5.5-liter DOHC, 32-valve M273 V8) *74 = SL55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *72 = SL55 AMG ['07-'08] (5.4-liter SOHC, 24-valve supercharged M113K V8) *70 = SL63 AMG ['09] (6.2-liter DOHC, 32-valve M156 V8) *7A = SL63 AMG ['11-'12] (6.2-liter DOHC, 32-valve M156 V8) *76 = SL600 ['04-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = SL600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = SL65 AMG ['05-'09], SL65 AMG Black Series ['09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = SL65 AMG ['11] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) '''R231:'''<br> following JK in pos. 4-5: *6F = SL400 ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6G = SL450 ['17-'20] (3.0-liter twin turbo M276 60° GDI V6) *7D = SL550 ['13-'20] (4.7-liter twin turbo M278 GDI V8) *7E = SL63 AMG ['13-'19] (5.5-liter twin turbo M157 GDI V8) *7K = SL65 AMG ['13-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''R232:'''<br> following VK in pos. 4-5: *5A = AMG SL43 ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + 2 electric motors, lithium-ion battery) *8A = AMG SL55 4Matic+ ['22-] (4.0-liter twin turbo M177 GDI V8) *8B = AMG SL63 4Matic+ ['22-] (4.0-liter twin turbo M177 GDI V8) *8C = AMG SL63 S E Performance 4Matic+ ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) following VX in pos. 4-5: *8B = Maybach SL680 4Matic ['26-] (4.0-liter twin turbo M177 GDI V8) '''C199/R199:'''<br> following AJ in pos. 4-5: *76 = SLR McLaren coupe ['05-'07] (5.4-liter SOHC, 24-valve supercharged M155 V8) following AK in pos. 4-5: *76 = SLR McLaren roadster ['08-'09] (5.4-liter SOHC, 24-valve supercharged M155 V8) '''C197/R197:'''<br> following RJ in pos. 4-5: *7H = SLS AMG coupe ['11-'12] (6.2-liter M159 V8) *7J = SLS AMG GT coupe ['13-'15] (6.2-liter M159 V8) *7H = SLS AMG Black Series coupe ['14] (6.2-liter M159 V8) following RK in pos. 4-5: *7H = SLS AMG roadster ['12] (6.2-liter M159 V8) *7J = SLS AMG GT roadster ['13-'15] (6.2-liter M159 V8) '''C190:'''<br> following YJ in pos. 4-5: *7H = AMG GT 2-d coupe (base model) ['17-'20] (4.0-liter twin turbo M178 GDI V8) *8C = AMG GT 2-d coupe (base model) ['21] (4.0-liter twin turbo M178 GDI V8) *AJ = AMG GT 2-d coupe S ['16] (4.0-liter twin turbo M178 GDI V8) *7J = AMG GT 2-d coupe S ['16-'19] (4.0-liter twin turbo M178 GDI V8) *8A = AMG GT 2-d coupe C ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d coupe R ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d coupe R Pro ['20] (4.0-liter twin turbo M178 GDI V8) *8B = AMG GT 2-d coupe Black Series ['21] (4.0-liter twin turbo M178 LS2 GDI flat-plane crank V8) '''R190:'''<br> following YK in pos. 4-5: *7H = AMG GT roadster (base model) ['17-'20] (4.0-liter twin turbo M178 GDI V8) *8C = AMG GT roadster (base model) ['21] (4.0-liter twin turbo M178 GDI V8) *8A = AMG GT roadster C ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d roadster R ['20] (4.0-liter twin turbo M178 GDI V8) '''C192:'''<br> following RJ in pos. 4-5: *4C = AMG GT43 coupe ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + 2 electric motors, lithium-ion battery) *8A = AMG GT55 4Matic+ coupe ['24-] (4.0-liter twin turbo M177 GDI V8) *7J = AMG GT63 4Matic+ coupe ['24-] (4.0-liter twin turbo M177 GDI V8) *8C = AMG GT63 S E Performance 4Matic+ coupe ['25-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8J = AMG GT63 Pro 4Matic+ coupe ['25-] (4.0-liter twin turbo M177 GDI V8) '''X156:'''<br> following TG in pos. 4-5: *4E = GLA250 ['15-'20] (2.0-liter turbocharged GDI M270 I4) *4G = GLA250 4Matic ['15-'20] (2.0-liter turbocharged GDI M270 I4) *5C = GLA45 AMG 4Matic ['15-'19] (2.0-liter turbocharged GDI AMG M133 I4) '''H247:'''<br> following 4N in pos. 4-5: *4G = GLA250 ['21-'23] (2.0-liter turbocharged GDI M260 I4) *4G = GLA250 ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = GLA250 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *4H = GLA250 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG GLA35 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG GLA35 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5D = AMG GLA45 4Matic ['21-'23] (2.0-liter turbocharged port/direct injection AMG M139 I4) '''X247:'''<br> following 4M in pos. 4-5: *4G = GLB250 ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4G = GLB250 ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = GLB250 4Matic ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4H = GLB250 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG GLB35 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG GLB35 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) '''X243:'''<br> following 9M in pos. 4-5: *0C = EQB250+ ['23-'25] (battery-electric, 1 front motor, Fwd, 188 hp) *0K = EQB300 4Matic ['22-'25] (battery-electric, 2 motors, 4wd, 225 hp) *1D = EQB350 4Matic ['22-'25] (battery-electric, 2 motors, 4wd, 288 hp) '''X204:'''<br> following GG in pos. 4-5: *0E = GLK250 Bluetec 4Matic ['13-'15] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5G = GLK350 2wd ['10-'12] (3.5-liter M272 90° V6) *5H = GLK350 2wd ['13-'15] (3.5-liter M276 60° GDI V6) *8H = GLK350 4Matic ['10-'12] (3.5-liter M272 90° V6) *8J = GLK350 4Matic ['13-'15] (3.5-liter M276 60° GDI V6) '''X253:'''<br> following 0G in pos. 4-5: *4J = GLC300 2wd ['16-'19] (2.0-liter turbocharged GDI M274 I4) *4K = GLC300 4Matic ['16-'19] (2.0-liter turbocharged GDI M274 I4) *8D = GLC300 2wd ['20-'22] (2.0-liter turbocharged GDI M264 I4) *8E = GLC300 4Matic ['20-'22] (2.0-liter turbocharged GDI M264 I4) *5E = GLC350e 4Matic ['18-'19] (PHEV: 2.0-liter turbocharged GDI M274 I4 + 114 hp electric motor, 8.7 kWh lithium-ion battery) *5D = GLC350e 4Matic ['20] (PHEV: 2.0-liter turbocharged GDI M274 I4 + 121 hp electric motor, 13.5 kWh lithium-ion battery) *6E = AMG GLC43 4Matic ['17-'22] (3.0-liter twin turbo M276 60° GDI V6) *8J = AMG GLC63 4Matic ['18-'21] (4.0-liter twin turbo M177 GDI V8) '''C253:'''<br> following 0J in pos. 4-5: *4K = GLC300 4Matic Coupe ['17-'19] (2.0-liter turbocharged GDI M274 I4) *8E = GLC300 4Matic Coupe ['20-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG GLC43 4Matic Coupe ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8J = AMG GLC63 4Matic Coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) *8K = AMG GLC63 S 4Matic Coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) '''X254:'''<br> following KM in pos. 4-5: *4G = GLC300 2wd ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = GLC300 4Matic ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *5G = GLC350e 4Matic ['25-] (PHEV: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG GLC43 4Matic ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG GLC63 S E Performance 4Matic ['25-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''C254:'''<br> following KJ in pos. 4-5: *4H = GLC300 4Matic Coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG GLC43 4Matic Coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG GLC63 S E Performance 4Matic Coupe ['25-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''W163:'''<br> following AB in pos. 4-5: *54 = ML320 ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) *57 = ML350 ['03-'05] (3.7-liter SOHC, 18-valve M112 90° V6) *72 = ML430 ['99-'01] (4.3-liter SOHC, 24-valve M113 V8) *74 = ML55 AMG ['00-'03] (5.4-liter SOHC, 24-valve M113 V8) *75 = ML500 ['02-'05] (5.0-liter SOHC, 24-valve M113 V8) '''W164:'''<br> following BB in pos. 4-5: *22 = ML320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = ML320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = ML350 Bluetec ['10-'11] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *56 = ML350 2wd ['09] (3.5-liter M272 90° V6) *5G = ML350 2wd ['10-'11] (3.5-liter M272 90° V6) *86 = ML350 4Matic ['06-'09] (3.5-liter M272 90° V6) *8G = ML350 4Matic ['10-'11] (3.5-liter M272 90° V6) *75 = ML500 ['06-'07] (5.0-liter SOHC, 24-valve M113 V8) *72 = ML550 ['08-'09] (5.5-liter M273 V8) *7C = ML550 ['10-'11] (5.5-liter M273 V8) *77 = ML63 AMG ['07-'09] (6.2-liter M156 V8) *7H = ML63 AMG ['10-'11] (6.2-liter M156 V8) *9F = ML450 Hybrid 4Matic ['10-'11] (2-Mode Hybrid: 3.5-liter Atkinson-cycle M272 90° V6 + 2 electric motors, Nickel–metal hydride battery) '''W166:'''<br> following DA in pos. 4-5: *2E = ML350 Bluetec ['12-'14 & '15 in Canada], GLE350d [Canada only: '16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *0E = ML250 Bluetec ['15], GLE300d ['16] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5J = ML350 2wd ['13-'15], GLE350 2wd ['16-'18] (3.5-liter M276 60° GDI V6) *5H = ML350 4Matic ['12-'15], GLE350 4Matic ['16-'18] (3.5-liter M276 60° GDI V6) *5G = ML400 4Matic ['15], GLE400 4Matic ['16-'17 & '19, Canada only: '18] (3.0-liter twin turbo M276 60° GDI V6) *6D = GLE550e 4Matic ['16-'18] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *6E = GLE450 AMG Sport 4Matic [Canada only: '16], AMG GLE43 4Matic ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7D = ML550 ['12-'14 & '15 in Canada], GLE550 [Canada only: '16-'19] (4.7-liter twin turbo M278 GDI V8) *7E = ML63 AMG ['12-'15], AMG GLE63 ['16-'19] (5.5-liter twin turbo M157 GDI V8) *7F = AMG GLE63 S ['16-'19] (5.5-liter twin turbo M157 GDI V8) '''C292:'''<br> following ED in pos. 4-5: *2E = GLE350d Coupe [Canada only: '16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *6E = GLE450 AMG Sport 4Matic Coupe ['16], AMG GLE43 4Matic Coupe ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7F = AMG GLE63 S Coupe ['16-'19] (5.5-liter twin turbo M157 GDI V8) '''W167:'''<br> following FB in pos. 4-5: *4J = GLE350 2wd ['20-'23] (2.0-liter turbocharged GDI M264 I4) *4K = GLE350 4Matic ['20-'23] (2.0-liter turbocharged GDI M264 I4) *4E = GLE350 2wd ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4F = GLE350 4Matic ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4G = GLE450e 4Matic ['24-] (PHEV: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *5K = GLE450 ['20-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GLE53 ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8G = GLE580 ['20-'23] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8F = GLE580 ['24-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8K = AMG GLE63 S ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''C167:'''<br> following FD in pos. 4-5: *5K = GLE450 Coupe [Canada only: '22-'24, US & Canada: '25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GLE53 Coupe ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG GLE63 S Coupe ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''X294:'''<br> following GM in pos. 4-5: *2B = EQE350+ SUV ['23-'25] (battery-electric, 1 rear motor, Rwd, 288 hp) *2B = EQE320+ SUV ['26-] (battery-electric, 1 rear motor, Rwd, 315 hp) *1C = EQE350 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 288 hp) *1C = EQE320 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 315 hp) *2C = EQE500 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 402 hp) *5D = AMG EQE 4Matic+ SUV ['24-] (battery-electric, 2 motors, 4wd, 617 hp) '''V251:'''<br> following CB in pos. 4-5: *22 = R320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = R320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = R350 Bluetec ['10-'12 & '13 in Canada] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *56 = R350 2wd ['08] (3.5-liter M272 90° V6) *65 = R350 4Matic ['06-'09] (3.5-liter M272 90° V6) *6F = R350 4Matic ['10-'11] (3.5-liter M272 90° V6) *5H = R350 4Matic ['12 & '13 in Canada] (3.5-liter M276 60° GDI V6) *75 = R500 ['06-'07] (5.0-liter SOHC, 24-valve M113 V8) *77 = R63 AMG ['07] (6.2-liter M156 V8) '''X164:'''<br> following BF in pos. 4-5: *22 = GL320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = GL320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = GL350 Bluetec ['10-'12] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *71 = GL450 ['07-'09] (4.7-liter M273 V8) *7B = GL450 ['10-'12] (4.7-liter M273 V8) *86 = GL550 ['08-'09] (5.5-liter M273 V8) *8G = GL550 ['10-'12] (5.5-liter M273 V8) '''X166:'''<br> following DF in pos. 4-5: *2E = GL350 Bluetec ['13-'16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *7C = GL450 ['13-'14] (4.7-liter twin turbo M278 GDI V8 - detuned version) *6E = GL450 ['15-'16], GLS450 ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7D = GL550 ['13-'16], GLS550 ['17-'19] (4.7-liter twin turbo M278 GDI V8) *7E = GL63 AMG ['13-'16] (5.5-liter twin turbo M157 GDI V8) *7F = AMG GLS63 ['17-'19] (5.5-liter twin turbo M157 GDI V8) '''X167:'''<br> following FF in pos. 4-5: *5K = GLS450 ['20-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *8G = GLS580 ['20-'23] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8F = GLS580 ['24-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8H = Mercedes-Maybach GLS600 ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8K = AMG GLS63 4MATIC+ ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''X296:'''<br> following DM in pos. 4-5: *2D = EQS450+ SUV ['23-'25] (battery-electric, 1 rear motor, Rwd, 355 hp) *2E = EQS450 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 355 hp) *2E = EQS400 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 355 hp) *4E = EQS580 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 536 hp) *4E = EQS550 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 536 hp) '''Z296:'''<br> following DX in pos. 4-5: *5F = Mercedes-Maybach EQS680 4Matic SUV ['24-] (battery-electric, 2 motors, 4wd, 649 hp) '''W463 (1st gen.):'''<br> following YR in pos. 4-5 ('02-'09) or following YC in pos. 4-5 ('10-'18): *49 = G500 ['02-'08] (5.0-liter SOHC, 24-valve M113 V8) *37 = G550 ['09] (5.5-liter M273 V8) *3H = G550 ['10-'15] (5.5-liter M273 V8) *3K = G550 ['16-'18] (4.0-liter twin turbo M176 GDI V8) *5F = G550 4x4² ['17-'18] (4.0-liter twin turbo M176 GDI V8) *46 = G55 AMG ['03-'04] (5.4-liter SOHC, 24-valve M113 V8) *71 = G55 AMG ['05-'09] (5.4-liter SOHC, 24-valve supercharged M113K V8) *7B = G55 AMG ['10-'11] (5.4-liter SOHC, 24-valve supercharged M113K V8) *7D = G63 AMG ['13-'18] (5.5-liter twin turbo M157 GDI V8) *7F = G65 AMG ['16-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) *7E = Mercedes-Maybach G650 Landaulet ['17-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) [Middle East market, Not sold in US/Canada] '''W463 (2nd gen.):'''<br> following YC in pos. 4-5: *6B = G550 ['19-'24] (4.0-liter twin turbo M176 GDI V8) *7H = AMG G63 ['19-'24] (4.0-liter twin turbo M177 GDI V8) *8A = AMG G63 4x4² ['22-'24] (4.0-liter twin turbo M177 GDI V8) '''W465:'''<br> following WH in pos. 4-5: *1A = G550 ['25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *5A = AMG G63 ['25-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''N465:'''<br> following WM in pos. 4-5: *0A = G580 with EQ Technology ['25-] (battery-electric, 4 motors, 4wd, 579 hp) ===Position 8=== Passenger cars - Restraint system: * A 3-point seat belts for outboard passengers, center rear lap belt * B seat belt + emergency pretensioners for front passenger seat & driver-side front airbag * C seat belt + emergency pretensioners for both front seats * D seat belt + emergency pretensioners for both front seats, driver-side front air bag and knee bolster * E seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, outboard rear 3-point belts, center rear lap belt (SL-Class does not have rear seats) * F seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, outboard rear 3-point belts, center rear 3-point belt (SL-Class & SLK-Class do not have rear seats) ['96-'98 210-series E-class sedan, '98-'99 210-series E-class wagon, '96- R129 SL-Class, '98- R170 SLK-Class] * G seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, outboard rear 3-point belts, center rear lap belt (CL-Class & CLK-Class do not have center rear seat position) ['97-'99 140-series S-class, '98-'00 202-series C-Class, '98-'02 208-series CLK-Class coupe, '99-'03 208-series CLK-Class convertible] * H seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, front to rear side curtain airbags, outboard rear 3-point belts, center rear 3-point belt ['99 210-series E-Class sedan] * J seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, front to rear side curtain airbags, outboard rear 3-point belts, center rear 3-point belt ['00- 210-series E-Class, '00- 220-series S-Class, '00- 215-series CL-Class, '01- 203-series C-Class, '03- 209-series CLK-Class coupe] * A seat belts + emergency pretensioners/load limiters for both front seats, driver and passenger front air bags, inflatable side protection systems for 1st row <br> ('10-'16 SLK-Class, '17-'20 SLC-Class, '10-'20 SL-Class, '11-'15 SLS AMG, '16-'21 AMG GT 2-d) * B seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('19-'22 A-Class sedan, '14-'22 CLA-Class, '14-'17 B-Class Electric, '15-'19 GLA45 AMG, '10-'22 C-Class, '10-'22 E-Class sedan, '11-'22 E-Class wagon,<br> '10-'22 E-Class coupe, '18-'22 E-Class cabriolet, '10-'22 CLS-Class, '19-'22 AMG GT 4-d coupe, '10-'22 S-Class, '10-'14 CL-Class, '22- EQS sedan, '22- SL-Class, '10-'12 Maybach 57/62) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st row ('11-'17 E-Class cabriolet) SUVs - GVWR ('98-'09): * E = Class E: 6001-7000 lbs. ('98-'09 M-Class, '02-'09 G-Class, '06-'09 R-Class, '07-'09 GL-Class) SUVs ('10-) Restraint system: * B seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('15-'20 GLA250, '21-'22 GLA-Class, '20-'22 GLB-Class, '22- EQB, '10-'15 GLK-Class, '16-'22 GLC-Class, '10-'15 M-Class, '16-'22 GLE-Class w/2 rows, '10-'12 R-Class w/2 rows, '10-'15 GL-Class w/2 rows, '21-'22 Mercedes-Maybach GLS600) * E seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st, 2nd, & 3rd rows ('20-'22 GLE-Class w/3 rows, '10-'12 & '13 in Canada R-Class w/3 rows, '10-'16 GL-Class w/3 rows, '17-'22 GLS-Class [excluding Maybach GLS600]) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front to rear side curtain airbags only) ('10-'11 G-Class) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front side airbags and front to rear side curtain airbags) ('12-'17 G-Class) * H seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front side airbags and front to rear side curtain airbags) ('18 G-Class) * J seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('19-'22 G-Class) GVWR: * Class C: 4001-5000 lbs. ('15-'20 GLA250, '21-'22 GLA-Class [excluding '22- AMG GLA45], '20-'22 GLB250) * Class D: 5001-6000 lbs. ('22- AMG GLA45, '21-'22 AMG GLB35, '10-'15 GLK-Class, '16-'22 GLC-Class) * Class E: 6001-7000 lbs. ('22- EQB, '10-'15 M-Class, '16-'22 GLE-Class, '10-'12 & '13 in Canada R-Class, '10-'12 GL-Class, '10-'12 G-Class, '19-'22 G550) * Class F: 7001-8000 lbs. ('13-'16 GL-Class, '17-'22 GLS-Class, '13-'18 G-Class, '19-'22 AMG G63, '22- AMG G63 4x4²) * Class H: 9001-10,000 lbs. ('10-'16 G-Class w/optional armoring) ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year: === [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * A-D: Sindelfingen, Germany * E: Sindelfingen, Germany (through 2000) * E: Juiz de Fora, Minas Gerais, Brazil (from 2001) * E: Mishawaka, Indiana, US (AM General plant) ('16-'17 R-Class for China) * F-H: Bremen, Germany * J, K: Rastatt, Germany * L: Pekan, Pahang, Malaysia (HICOM Automotive Manufacturers plant) * M: Woking, England, UK (SLR McLaren) (McLaren Automotive plant) * N, P: Kecskemet, Hungary * R, S: East London, South Africa * T: Osnabrück, Germany (Karmann plant) * U: Sindelfingen, Germany * V: Uusikaupunki, Finland (Valmet Automotive plant) * W: Aguascalientes, Mexico (COMPAS plant) * X: Graz, Austria (Magna Steyr plant) * 1: Pune, Maharashtra, India For 4JG and 55S: * A, B, U: Vance, Alabama, US ===Positions 12–17, Serial Number=== ==Commercial Vehicles== Position 1-3 * VSA - Mercedes-Benz Espana SA (1st gen. Vito/V-Class - W638) * WDB - Daimler-Benz AG, DaimlerChrysler AG, Daimler AG * WDF - DaimlerChrysler AG, Daimler AG (Mercedes-Benz Citan, Vito/V-Class & X-Class) * W1H - Freightliner Truck made in Germany by Daimler Truck (Freightliner Econic) * W1T - Daimler AG (Daimler Truck Holding AG from 2022) (Mercedes-Benz truck) * W1V - Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz van) * W1W - Mercedes-Benz MPV (Mercedes-Benz Sprinter or Metris) * W1X - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter or Metris) * W1Y - Mercedes-Benz Truck (Mercedes-Benz Sprinter or Metris) * W1Z - Mercedes-Benz Bus (Mercedes-Benz Sprinter) * WD4 - Mercedes-Benz MPV (Mercedes-Benz Sprinter or Metris) * WDA - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter or Metris) * WD3 - Mercedes-Benz Truck (Mercedes-Benz Sprinter or Metris) * WDZ - Mercedes-Benz Bus (Mercedes-Benz Sprinter) * WD0 - Dodge Sprinter Truck 2005-2009 (T1N & NCV3) * WD1 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter Incomplete Vehicle (T1N) * WD2 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter Truck (T1N) * WD5 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter MPV (T1N) * WD6 - Freightliner Unimog Truck * WD7 - Freightliner Unimog Incomplete Vehicle * WD8 - Dodge Sprinter MPV 2005-2009 (T1N & NCV3) * WDW - Dodge Sprinter Bus 2008-2009 (NCV3) * WDX - Dodge Sprinter Incomplete Vehicle 2005-2009 (T1N & NCV3) * WDR - Freightliner MPV * WDP - Freightliner Incomplete Vehicle * WDY - Freightliner Truck * WCD - Freightliner Bus * W2W - Freightliner MPV * W2X - Freightliner Incomplete Vehicle * W2Y - Freightliner Truck * W2Z - Freightliner Bus * 1MB - Mercedes-Benz Truck Co., Inc. (M-B Truck made in USA) (1981-1990) * 8AB - Mercedes-Benz Argentina Truck & Bus (for South America) * 8AC - Mercedes-Benz Argentina Van (for South America) * 8BT - Mercedes-Benz MPV (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BN - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BU - Mercedes-Benz Truck (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BR - Mercedes-Benz Bus (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 9BM - Mercedes-Benz Brazil Truck & Bus (for South America) Position 4–6, Model *414 - Vaneo *415 - Mark 1 Citan *420 - Mark 2 Citan *447 - Mark 3 Vito *470 - X-Class *638 - Mark 1 Vito *639 - Mark 2 Vito *670 - Vario *901 - Sprinter T1N *902 - Sprinter T1N *903 - Sprinter T1N *904 - Sprinter T1N *905 - Sprinter T1N *906 - Sprinter NCV3 *907 - Sprinter VS30 (RWD) *910 - Sprinter VS30 (FWD) *930 - Actros Rigids *933 - Actros MP2 concrete mixer *934 - Actros MP2 tractor *944 - Axor Tractor *950 - Axor Rigids / Actros Mk1 Rigids *952 - Axor *954 - Actros Mk1 Tractor *956 - Econic *963 - NEW ACTROS MP4 (Common-Rail engine) / Antos *964 - NEW ACTROS MP4 (Common-Rail engine) / Arocs *967 - Atego *970 - Atego *972 - Atego *976 - Atego Fire Position 7–9, Weight and Length code Position 10, Drive indicator *1 Left hand drive *2 Right hand drive Position 11, Plant code * E: Buenos Aires, Argentina * G: Barcelona, Spain (Nissan plant) (X-Class pickup) * N: Hampton, VA, US (For WMI 1MB) * N: Ludwigsfelde, Germany * P, R, S: Düsseldorf, Germany * T: Ladson, South Carolina, US * U: Maubeuge, France (Renault plant) (Citan, T-Class, EQT) * V: Wörth, Germany * 3: Vitoria, Spain * 4: Vitoria, Spain (When Position 1-3 is W1V) * 4: Wörth, Germany (Freightliner Unimog) * 5: Düsseldorf, Germany * 9: Ludwigsfelde, Germany Position 12–17, Serial Number Position 18, Check Digit ==External links== Online [http://www.vindecoderz.com/EN/Mercedes-Benz Mercedes-Benz Vito decoder] WDB1260251A336981 {{BookCat}} 6p6u0dxjlj1xfgwelb1dj55bdx3cex3 4635401 4635337 2026-05-12T11:54:11Z JustTheFacts33 3434282 /* Commercial Vehicles */ 4635401 wikitext text/x-wiki {{Vehicle Identification Numbers (VIN codes)/Warning}}{{clear}} Mercedes-Benz uses the following VIN formats: (Note) This chart is not applicable to Mercedes-Benz products made for markets other than North America. European/World market cars use a different system for encoding VIN numbers. ==1960-1980== Position 1-3 - chassis code (e.g. 107, 116, 123, etc.) Position 4-6 - model type (e.g. 024, 032, 033, 036, 044, 045, etc.) Position 7 - 1=LH Drive (made in Germany), 2=RH Drive (made in Germany), 5=LH Drive CKD, 6=RH Drive CKD (Complete Knocked Down, assembled outside Germany)1 Position 8 - 0=Manual transmission, 1=Hydraulic clutch, 2= Automatic transmission 2 (Alphabetics indicate Plant of Manufacture i.e.: A = Sindelfingen) Position 9-14 - Construction serial number 10704312006193 ==Passenger Vehicles 1981-== ===Positions 1–3, World Manufacturer Identifier:=== * W1K Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz passenger car) * W1N Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz SUV) * WDB Daimler-Benz AG (DaimlerChrysler after 1998) (Daimler AG after 2007) (Mercedes-Benz or Maybach passenger car) * WDC DaimlerChrysler AG (Daimler AG after 2007) (Mercedes-Benz SUV) * WDD DaimlerChrysler AG (Daimler AG after 2007) (Mercedes-Benz passenger car) * WMX Mercedes-AMG (not used in North America) * 4JG Mercedes-Benz U.S. International (Mercedes-Benz SUV) * 55S Mercedes-Benz U.S. International (Mercedes-Benz passenger car) * 9BM Mercedes-Benz Brazil car & SUV ===Position 4, Model or Series:=== * A W123 300-Class * B R107 SL-Class * B C107 SLC-Class * C W126/C126 S-Class * D W201 190-Class * E W124 300-Class/E-Class * F R129 SL-Class * G W140/C140 S-Class, C140 CL-Class * H W202 C-Class * J W210 E-Class * K R170 SLK-Class * L C208/A208 CLK-Class * N W220 S-Class * P C215 CL-Class * R W203 C-Class * S R230 SL-Class * T C209/A209 CLK-Class * U W211 E-Class * W R171 SLK-Class *---------------------------------- * A C199/R199/Z199 SLR McLaren * D C219 CLS-Class * E C216 CL-Class * F W245 B-Class (Canada only) * G W204 C-Class * H W212/S212 E-Class sedan/wagon * J R231 SL-Class * K C207/A207 E-Class coupe/convertible * L C218 CLS-Class * M W246 B-Class (Canada only) * N W221 S-Class * P R172 SLK-Class/SLC-Class * R C197/R197 SLS AMG * S C117 CLA-Class * U W222 S-Class sedan * V W240 Maybach 57/62 * V N242 B-Class Electric * W W205 C-Class * X C217/A217 S-Class coupe/convertible * Y C190/R190 AMG GT coupe/roadster * Z W213/S213/X213 E-Class sedan/wagon/All-Terrain wagon * 1 C238/A238 E-Class coupe/convertible * 2 C257 CLS-Class * 3 V177 A-Class sedan * 3 W177 A-Class hatchback (Canada only) * 5 C118 CLA-Class * 6 W223 S-Class sedan * 7 X290 AMG GT 4-door coupe *---------------------------------- * A W206 C-Class * C V297 EQS-Class sedan * E V295 EQE-Class sedan * F C174 CLA-Class sedan EV * L W214/X214 E-Class sedan/All-Terrain wagon * M C236/A236 CLE-Class coupe/convertible * R C192 AMG GT coupe * V R232 SL-Class *---------------------------------- * A W163 M-Class * B W164 M-Class * B X164 GL-Class * C W251 R-Class * D W166 M-Class/GLE-Class * D X166 GL-Class/GLS-Class * D X296 EQS-Class SUV * E C292 GLE-Class Coupe * F W167/C167 GLE-Class * F X167 GLS-Class * G X204 GLK-Class * 0 X253/C253 GLC-Class * G X294 EQE-Class SUV * K X254/C254 GLC-Class * T X156 GLA-Class * Y W463 G-Class * W W465 G-Class * 4 H247 GLA-Class * 4 X247 GLB-Class * 9 X243 EQB-Class ===Position 5, Body Style:=== Passenger Cars: * B = Long Body * F = Sedan ('96+ E-Class, '01+ C-Class, '06 S-Class [S350], Maybach 57) * F = 5-door hatchback (Canada only: '19-'22 A-Class) * G = Sedan Long Wheelbase ('00+ S-Class, Maybach 62) * G = Sedan ('19-'22 A-Class sedan) * G = Electric Sedan ('23+ EQE sedan) * G = Electric hatchback Sedan ('22+ EQS sedan) * H = Wagon ('98-'09, '11- E-Class wagon, '02-'05 C-Class wagon, Canada only: '19-'21 C-Class wagon) * H = "Sedan" [5-door hatchback/compact minivan] ('06-'11, '13-'19 B-Class [gas engine] - Canada only) * J = 2-door Coupe ('98-'09 CLK-Class Coupe, '12-'15, '17-'23 C-Class coupe, '10-'23 E-Class coupe, '24- CLE-Class coupe, '00-'14 CL-Class, '15-'21 S-Class coupe, '05-'07 SLR McLaren coupe, '11-'15 SLS AMG coupe, '16-'21, '24- AMG GT coupe) * J = 4-door Coupe ('06-'23 CLS-Class, '14- CLA-Class) * K = Cabriolet/Roadster ('99-'09 CLK-Class Cabriolet, '17-'23 C-Class Cabriolet, '11-'23 E-Class Cabriolet, '24- CLE-Class Cabriolet, '17-'21 S-Class Cabriolet, '98-'16 SLK-Class, '17-'20 SLC-Class, '03+ SL-Class, '08-'09 SLR McLaren roadster, '12-'15 SLS AMG roadster, '18-'21 AMG GT roadster) * N = "Coupe" [3-door hatchback] ('02-'05 C-Class Sport Coupe) * P = "Sedan" [5-door hatchback/compact minivan] (B-Class Electric) * X = 4-door Sedan Extra-Long Wheelbase ('16+ Maybach S-Class) * X = 4-door Coupe [5-door hatchback] ('19- AMG GT 4-door Coupe) * X = Cabriolet/Roadster ('26+ Maybach SL680) SUVs: * A = 4-door MPV ('12-'15 M-Class, '16-'19 GLE-Class wagon) * B = 4-door MPV ('98-'11 M-Class) * B = 4-door MPV ('20-' GLE-Class wagon) * B = 4-door MPV ('06-'12 & '13 in Canada R-Class) * C = 4-door MPV ('10-'24 G-Class) * D = 4-door MPV ('16-'19, '21- GLE-Class Coupe) * F = 4-door MPV ('07-'16 GL-Class, '17- GLS-Class) * G = 4-door MPV ('10-'15 GLK-Class, '16-'22 GLC-Class wagon) * G = 4-door MPV ('15-'20 GLA-Class) * H = 4-door MPV ('25- G550, G63 AMG) * J = 4-door MPV ('17- GLC-Class Coupe) * M = 4-door MPV ('20- GLB-Class, '22- EQB-Class) * M = 4-door MPV ('23- GLC-Class wagon) * M = 4-door MPV ('23- EQE-Class SUV) * M = 4-door MPV ('23- EQS-Class SUV) * M = 4-door MPV ('25- G580 EQ [EV]) * N = 4-door MPV ('21- GLA-Class) * R = 4-door MPV ('02-'09 G-Class) * X = 4-door MPV ('24- Maybach EQS680 SUV) On older models, this indicated the engine type, through much of the 1990s and into the 2000's for some models: * A = Gasoline (190 Class '84-'93, C-Class '94-'00, 300 Class '81, '86-'93, E-Class '94-'95, S-Class '81-'99, CL-Class '98-'99, SL-Class '81-'02, SLC '81) * B = Diesel (190 Class '84-'89, 300 Class '81-'85, '87, '90-'93, E-Class '95, S-Class '81-'87, '90-'95) * D = 4Matic Gasoline ('90-'93 300E 4Matic, 300TE 4Matic) * M = AMG Gasoline ('95-'97 C36 AMG only) ===Positions 6–7, Model within the series:=== '''V177:'''<br> following 3G in pos. 4-5: *4E = A220 sedan ['19-'22] (2.0-liter turbocharged GDI M260 I4) *4F = A220 4Matic sedan ['19-'22] (2.0-liter turbocharged GDI M260 I4) *5B = AMG A35 4Matic sedan ['20-'21 & in Canada: '22] (2.0-liter turbocharged GDI M260 I4) '''W177:'''<br> following 3F in pos. 4-5: *4G = A250 hatchback [Canada only: '19] (2.0-liter turbocharged GDI M260 I4) *4H = A250 4Matic hatchback [Canada only: '19-'22] (2.0-liter turbocharged GDI M260 I4) *5B = AMG A35 4Matic hatchback [Canada only: '20-'22] (2.0-liter turbocharged GDI M260 I4) '''W245:'''<br> following FH in pos. 4-5: *33 = B200 [Canada only: '06-'09] 2.0-liter SOHC 8-valve M266.980 I4 *3D = B200 [Canada only: '10-'11] 2.0-liter SOHC 8-valve M266.980 I4 *34 = B200 Turbo [Canada only: '06-'09] 2.0-liter SOHC 8-valve turbo M266.980 I4 *3E = B200 Turbo [Canada only: '10-'11] 2.0-liter SOHC 8-valve turbo M266.980 I4 *8G = B-Class F-Cell (hydrogen fuel cell) '''W246:'''<br> following MH in pos. 4-5: *4E = B250 [Canada only: '13-'19] 2.0-liter DOHC 16-valve turbo M270 I4 *4G = B250 4Matic [Canada only: '15-'19] 2.0-liter DOHC 16-valve turbo M270 I4 '''N242:'''<br> following VP in pos. 4-5: *9A = B-Class Electric Drive ['14-'15], B250e ['16-'17] (Tesla front electric motor, Lithium-ion battery pack, fwd, 177 hp) '''C117:'''<br> following SJ in pos. 4-5: *4E = CLA250 sedan ['14-'19] (2.0-liter turbocharged GDI M270 I4) *4G = CLA250 4Matic sedan ['14-'19] (2.0-liter turbocharged GDI M270 I4) *5C = CLA45 AMG 4Matic sedan ['14-'19] (2.0-liter turbocharged GDI AMG M133 I4) '''C118:'''<br> following 5J in pos. 4-5: *4G = CLA250 sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4G = CLA250 sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = CLA250 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4H = CLA250 4Matic sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG CLA35 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG CLA35 4Matic sedan ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5D = AMG CLA45 4Matic sedan ['20-'23] (2.0-liter turbocharged port/direct injection AMG M139 I4) *5E = AMG CLA45 S 4Matic sedan ['24-'26] (2.0-liter turbocharged port/direct injection AMG M139 I4) '''C174:'''<br> following FJ in pos. 4-5: *1D = CLA250+ EV ['26-] (battery-electric, 1 rear motor, Rwd, 268 hp) *4E = CLA350 4Matic EV ['26-] (battery-electric, 2 motors, 4wd, 349 hp) '''W201:'''<br> following DA in pos. 4-5: *24 = 190E 2.3 ['84-'86] (2.3-liter SOHC, 8 valve M102 I4) *28 = 190E 2.3 ['87-'88, '91-'93] (2.3-liter SOHC, 8 valve M102 I4) *29 = 190E 2.6 ['87-'93] (2.6-liter M103 I6) *34 = 190E 2.3-16 ['86-'87] (2.3-liter DOHC, 16 valve M102 I4) following DB in pos. 4-5: *22 = 190D 2.2 ['84-'85] (2.2-liter OM601 diesel I4) *26 = 190D 2.5 ['86-'89] (2.5-liter OM602 diesel I5) *28 = 190D 2.5 Turbo ['87] (2.5-liter OM602 turbodiesel I5) '''W202:'''<br> following HA in pos. 4-5: *22 = C220 ['94-'96] (2.2-liter M111 I4) *23 = C230 ['97-'98] (2.3-liter M111 I4) *24 = C230 Kompressor ['99-'00] (2.3-liter supercharged M111 I4) *28 = C280 ['94-'97] (2.8-liter M104 I6) *29 = C280 ['98-'00] (2.8-liter SOHC, 18-valve M112 90° V6) *33 = C43 AMG ['98-'00] (4.3-liter SOHC, 24-valve M113.944 V8) following HM in pos. 4-5: *36 = C36 AMG ['95-'97] (3.6-liter M104 AMG I6) '''W203/S203/CL203:'''<br> following RF in pos. 4-5: *40 = C230 Kompressor Sport Sedan ['03-'05] (1.8-liter supercharged M271 I4) *52 = C230 Sport Sedan ['06-'07] (2.5-liter M272 90° V6) *54 = C280 sedan ['06-'07] (3.0-liter M272 90° V6) *56 = C350 sedan ['06-'07] (3.5-liter M272 90° V6) *61 = C240 sedan ['01-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *64 = C320 sedan ['01-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *65 = C32 AMG sedan ['02-'04] (3.2-liter SOHC, 18-valve supercharged M112 90° V6) *76 = C55 AMG ['05-'06] (5.4-liter SOHC, 24-valve M113 V8) *81 = C240 4Matic sedan ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *84 = C320 4Matic sedan ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *87 = C350 4Matic sedan ['06-'07] (3.5-liter M272 90° V6) *92 = C280 4Matic sedan ['06-'07] (3.0-liter M272 90° V6) following RH in pos. 4-5: *61 = C240 wagon ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *64 = C320 wagon ['02-'04] (3.2-liter SOHC, 18-valve M112 90° V6) *81 = C240 4Matic wagon ['03-'05] (2.6-liter SOHC, 18-valve M112 90° V6) *84 = C320 4Matic wagon ['03-'04] (3.2-liter SOHC, 18-valve M112 90° V6) following RN in pos. 4-5: *47 = C230 Kompressor Sport Coupe ['02] (2.3-liter supercharged M111 I4) *40 = C230 Kompressor Sport Coupe ['03-'05] (1.8-liter supercharged M271 I4) *64 = C320 Sport Coupe ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) '''W204/C204:'''<br> following GF in pos. 4-5: *4H = C250 sedan ['12-'14] (1.8-liter turbocharged GDI M271 I4) *54 = C300 sedan ['08-'09] (3.0-liter M272 90° V6) *5E = C300 sedan ['10-'11] (3.0-liter M272 90° V6) *56 = C350 sedan ['08-'09] (3.5-liter M272 90° V6) *5G = C350 sedan ['10-'11] (3.5-liter M272 90° V6) *5H = C350 sedan ['12-'14] (3.5-liter M276 60° GDI V6) *77 = C63 AMG sedan ['08-'09] (6.2-liter M156 V8) *7H = C63 AMG sedan ['10-'14], C63 AMG Edition 507 ['14] (6.2-liter M156 V8) *81 = C300 4Matic sedan ['08-'09] (3.0-liter M272 90° V6) *8B = C300 4Matic sedan ['10-'12] (3.0-liter M272 90° V6) *8A = C300 4Matic sedan ['13-'14] (3.5-liter M276 60° GDI V6 - detuned version) following GJ in pos. 4-5: *4H = C250 coupe ['12-'15] (1.8-liter turbocharged GDI M271 I4) *5H = C350 coupe ['12-'15] (3.5-liter M276 60° GDI V6) *7H = C63 AMG coupe ['12-'15], C63 AMG Black Series coupe ['12-'13], C63 AMG Edition 507 ['14-'15] (6.2-liter M156 V8) *8J = C350 4Matic coupe ['12-'15] (3.5-liter M276 60° GDI V6) '''W205/S205/C205/A205:'''<br> following WF in pos. 4-5: *4J = C300 sedan ['15-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic sedan ['15-'18] (2.0-liter turbocharged GDI M274 I4) *4H = C350e sedan ['16-'18] (PHEV: 2.0-liter turbocharged GDI M274 I4 + electric motor, lithium-ion battery) *8D = C300 sedan ['19-'21] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic sedan ['19-'21] (2.0-liter turbocharged GDI M264 I4) *6G = C400 4Matic sedan ['15] (3.0-liter twin turbo M276 60° GDI V6) *6E = C450 AMG Sport 4Matic sedan ['16], AMG C43 4Matic sedan ['17-'21] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 sedan ['15-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S sedan ['15-'21] (4.0-liter twin turbo M177 GDI V8) following WH in pos. 4-5: *4K = C300 4Matic wagon [Canada: '18] (2.0-liter turbocharged GDI M274 I4) *8E = C300 4Matic wagon [Canada: '19-'21] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic wagon [Canada: '19-'21] (3.0-liter twin turbo M276 60° GDI V6) following WJ in pos. 4-5: *4J = C300 coupe ['17-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic coupe ['17-'18] (2.0-liter turbocharged GDI M274 I4) *8D = C300 coupe ['19-'23] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic coupe ['19-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic coupe ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 coupe ['17-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S coupe ['17-'21, '23] (4.0-liter twin turbo M177 GDI V8) following WK in pos. 4-5: *4J = C300 convertible ['17-'18] (2.0-liter turbocharged GDI M274 I4) *4K = C300 4Matic convertible ['17-'18] (2.0-liter turbocharged GDI M274 I4) *8D = C300 convertible ['19-'23] (2.0-liter turbocharged GDI M264 I4) *8E = C300 4Matic convertible ['19-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG C43 4Matic convertible ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8G = AMG C63 convertible ['17-'21] (4.0-liter twin turbo M177 GDI V8) *8H = AMG C63 S convertible ['17-'21, '23] (4.0-liter twin turbo M177 GDI V8) '''W206:'''<br> following AF in pos. 4-5: *4G = C300 sedan ['22-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = C300 4Matic sedan ['22-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG C43 4Matic+ sedan ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG C63 S E Performance 4Matic sedan ['24-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''W123/S123/C123:'''<br> following AA in pos. 4-5: *33 = 280E ['81] (2.7-liter DOHC, 12-valve M110.984 I6) *53 = 280CE ['81] (2.7-liter DOHC, 12-valve M110.984 I6) following AB in pos. 4-5: *23 = 240D ['81-'83] (2.4-liter OM616 diesel I4) *30 = 300D ['81] (3.0-liter OM617 diesel I5) *33 = 300D Turbodiesel ['82-'85] (3.0-liter OM617 turbodiesel I5) *50 = 300CD ['81] (3.0-liter OM617 diesel I5) *53 = 300CD Turbodiesel ['82-'85] (3.0-liter OM617 turbodiesel I5) *93 = 300TD Turbodiesel ['81-'85] (3.0-liter OM617 turbodiesel I5) '''W124/S124/C124/A124:'''<br> following EA in pos. 4-5: *26 = 260E ['87-'89], 300E 2.6 ['90-'92] (2.6-liter M103 I6) *28 = 300E 2.8 ['93] (2.8-liter M104 I6) *30 = 300E ['86-'92] (3.0-liter M103 I6) *32 = 300E ['93], E320 sedan ['94-'95] (3.2-liter M104 I6) *34 = 400E ['92-'93], E420 sedan ['94-'95] (4.2-liter M119 V8) *36 = 500E ['92-'93], E500 sedan ['94] (5.0-liter M119 V8) *50 = 300CE ['88-'89] (3.0-liter SOHC, 12 valve M103 I6) *51 = 300CE ['90-'92] (3.0-liter DOHC, 24 valve M104 I6) *52 = 300CE coupe ['93], E320 coupe ['94-'95] (3.2-liter M104 I6) *66 = 300CE convertible ['93], E320 convertible ['94-'95] (3.2-liter M104 I6) *90 = 300TE ['88-'92] (3.0-liter M103 I6) *92 = 300TE ['93], E320 wagon ['94-'95] (3.2-liter M104 I6) following EB in pos. 4-5: *28 = 300D 2.5 Turbo ['90-'93] (2.5-liter OM602 turbodiesel I5) *31 = E300 Diesel ['95] (3.0-liter DOHC, 24 valve OM606 diesel I6) *33 = 300D Turbo ['87] (3.0-liter OM603 turbodiesel I6) *93 = 300TD Turbo ['87] (3.0-liter OM603 turbodiesel I6) following ED in pos. 4-5: *30 = 300E 4Matic ['90-'93] (3.0-liter M103 I6) *90 = 300TE 4Matic ['90-'93] (3.0-liter M103 I6) '''W210/S210:'''<br> following JF in pos. 4-5: *20 = E300 Diesel ['96-'97] (3.0-liter DOHC, 24 valve OM606 diesel I6) *25 = E300 Turbodiesel ['98-'99] (3.0-liter DOHC, 24 valve OM606 turbodiesel I6) *55 = E320 ['96-'97] (3.2-liter M104 I6) *65 = E320 sedan ['98-'02] (3.2-liter SOHC, 18-valve M112 90° V6) *72 = E420 ['97] (4.2-liter M119 V8) *70 = E430 ['98-'02] (4.3-liter SOHC, 24-valve M113 V8) *74 = E55 AMG ['99-'02] (5.4-liter SOHC, 24-valve M113 V8) *82 = E320 4Matic sedan ['98-'02] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E430 4Matic ['00-'02] (4.3-liter SOHC, 24-valve M113 V8) following JH in pos. 4-5: *65 = E320 wagon ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) *82 = E320 4Matic wagon ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) '''W211/S211:'''<br> following UF in pos. 4-5: *26 = E320 CDI sedan ['05-'06] (3.2-liter DOHC, 24 valve OM648 turbodiesel I6) *22 = E320 Bluetec sedan ['07-'09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *65 = E320 sedan ['03-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = E350 sedan ['06-'09] (3.5-liter M272 90° V6) *70 = E500 sedan ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) *72 = E550 sedan ['07-'09] (5.5-liter M273 V8) *76 = E55 AMG sedan ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = E63 AMG sedan ['07-'09] (6.2-liter M156 V8) *82 = E320 4Matic sedan ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E500 4Matic sedan ['04-'06] (5.0-liter SOHC, 24-valve M113 V8) *87 = E350 4Matic sedan ['06-'09] (3.5-liter M272 90° V6) *90 = E550 4Matic sedan ['07-'09] (5.5-liter M273 V8) following UH in pos. 4-5: *65 = E320 wagon ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = E350 wagon ['06] (3.5-liter M272 90° V6) *76 = E55 AMG wagon ['05-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = E63 AMG wagon ['07-'09] (6.2-liter M156 V8) *82 = E320 4Matic wagon ['04-'05] (3.2-liter SOHC, 18-valve M112 90° V6) *83 = E500 4Matic wagon ['04-'06] (5.0-liter SOHC, 24-valve M113 V8) *87 = E350 4Matic wagon ['06-'09] (3.5-liter M272 90° V6) '''W212/S212:'''<br> following HF in pos. 4-5: *2E = E350 Bluetec sedan ['11-'13] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *0E = E250 Bluetec sedan ['14-'16] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5G = E350 sedan ['10-'11] (3.5-liter M272 90° V6) *5K = E350 sedan ['12-'16] (3.5-liter M276 60° GDI V6) *6F = E400 sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6H = E400 4Matic sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 sedan ['10-'11] (5.5-liter M273 V8) *7H = E63 AMG sedan ['10-'11] (6.2-liter M156 V8) *7E = E63 AMG sedan ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = E63 AMG S 4Matic sedan ['14-'16] (5.5-liter twin turbo M157 GDI V8) *8B = E300 4Matic sedan [Canada only: '12-'16] (3.5-liter M276 60° GDI V6 - detuned version) *8H = E350 4Matic sedan ['10-'11] (3.5-liter M272 90° V6) *8J = E350 4Matic sedan ['12-'16] (3.5-liter M276 60° GDI V6) *9A = E550 4Matic sedan ['10-'11] (5.5-liter M273 V8) *9B = E550 4Matic sedan ['12-'14, Canada only: '15-'16] (4.7-liter twin turbo M278 GDI V8) *9C = E63 AMG 4Matic sedan ['14-'15] (5.5-liter twin turbo M157 GDI V8) *9F = E400 Hybrid sedan ['13-'15] (Mild Hybrid: 3.5-liter M276 60° GDI V6 + electric motor, lithium-ion battery) *9H = E250 Bluetec 4Matic sedan ['14-'16] (2.1-liter DOHC, 16 valve turbodiesel I4) following HH in pos. 4-5: *8H = E350 4Matic wagon ['11] (3.5-liter M272 90° V6) *8J = E350 4Matic wagon ['12-'16] (3.5-liter M276 60° GDI V6) *6H = E400 4Matic wagon [Canada only: '15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7E = E63 AMG wagon ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = E63 AMG S 4Matic wagon ['14-'16] (5.5-liter twin turbo M157 GDI V8) '''W213/S213:'''<br> following ZF in pos. 4-5: *4J = E300 sedan ['17-'19] (2.0-liter turbocharged GDI M274 I4) *4K = E300 4Matic sedan ['17-'19] (2.0-liter turbocharged GDI M274 I4) *8D = E350 sedan ['20-'23] (2.0-liter turbocharged GDI M264 I4) *8E = E350 4Matic sedan ['20-'23] (2.0-liter turbocharged GDI M264 I4) *6G = E400 4Matic sedan ['18] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic sedan ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5K = E450 4Matic sedan ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6E = AMG E43 4Matic sedan ['17-'18] (3.0-liter twin turbo M276 60° GDI V6) *6B = AMG E53 4Matic sedan ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG E63 S 4Matic sedan ['18-'21, '23] (4.0-liter twin turbo M177 GDI V8) following ZH in pos. 4-5: *6G = E400 4Matic wagon ['17-'18] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic wagon ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6A = E450 4Matic All-Terrain wagon ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG E63 S 4Matic wagon ['18-'21, '23] (4.0-liter twin turbo M177 GDI V8) '''W214/S214:'''<br> following LF in pos. 4-5: *4G = E350 sedan ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = E350 4Matic sedan ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = E450 4Matic sedan ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6D = AMG E53e 4Matic+ sedan ['25-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) following LH in pos. 4-5: *6F = E450 4Matic All-Terrain wagon ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6D = AMG E53e 4Matic+ wagon ['26-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) '''C219:'''<br> following DJ in pos. 4-5: *75 = CLS500 sedan ['06] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLS550 sedan ['07-'09] (5.5-liter M273 V8) *7C = CLS550 sedan ['10-'11] (5.5-liter M273 V8) *76 = CLS55 AMG sedan ['06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *77 = CLS63 AMG sedan ['07-'09] (6.2-liter M156 V8) *7H = CLS63 AMG sedan ['10-'11] (6.2-liter M156 V8) '''C218:'''<br> following LJ in pos. 4-5: *6F = CLS400 sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6H = CLS400 4Matic sedan ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *7D = CLS550 sedan ['12-'18] (4.7-liter twin turbo M278 GDI V8) *7E = CLS63 AMG sedan ['12-'13] (5.5-liter twin turbo M157 GDI V8) *7G = CLS63 AMG S 4Matic sedan ['14-'18] (5.5-liter twin turbo M157 GDI V8) *9B = CLS550 4Matic sedan ['12-'18] (4.7-liter twin turbo M278 GDI V8) *9C = CLS63 AMG 4Matic sedan ['14] (5.5-liter twin turbo M157 GDI V8) '''C257:'''<br> following 2J in pos. 4-5: *5J = CLS450 sedan ['19-'21] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = CLS450 4Matic sedan ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG CLS53 4Matic sedan ['19-'21] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''X290:'''<br> following 7X in pos. 4-5: *5K = AMG GT43 4Matic+ 4-Door Coupe ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GT53 4Matic+ 4-Door Coupe ['19-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8J = AMG GT63 4Matic+ 4-Door Coupe ['19-'21, '23-] (4.0-liter twin turbo M177 GDI V8) *8K = AMG GT63 S 4Matic+ 4-Door Coupe ['19-'21, '23] (4.0-liter twin turbo M177 GDI V8) *7K = AMG GT63 S E Performance 4Matic+ 4-Door Coupe ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''V295:'''<br> following EG in pos. 4-5: *2B = EQE350+ sedan ['23-'25] (battery-electric, 1 rear motor, Rwd, 288 hp) *2B = EQE320+ sedan ['26-] (battery-electric, 1 rear motor, Rwd, 315 hp) *1C = EQE350 4Matic sedan ['23-'25] (battery-electric, 2 motors, 4wd, 288 hp) *1C = EQE320 4Matic sedan ['26-] (battery-electric, 2 motors, 4wd, 315 hp) *2C = EQE500 4Matic sedan ['23-'25] (battery-electric, 2 motors, 4wd, 402 hp) *5D = AMG EQE 4Matic+ sedan ['23-] (battery-electric, 2 motors, 4wd, 617 hp) '''W126/V126//C126:'''<br> following CA in pos. 4-5: *24 = 300SE ['88-'91] (3.0-liter M103 I6) *25 = 300SEL ['88-'91] (3.0-liter M103 I6) *32 = 380SE ['84-'85] (3.8-liter M116 V8) *33 = 380SEL ['81-'83] (3.8-liter M116 V8) *35 = 420SEL ['86-'91] (4.2-liter M116 V8) *37 = 500SEL ['84-'85] (5.0-liter M117 V8) *39 = 560SEL ['86-'91] (5.5-liter M117 V8) *43 = 380SEC ['82-'83] (3.8-liter M116 V8) *44 = 500SEC ['84-'85] (5.0-liter M117 V8) *45 = 560SEC ['86-'91] (5.5-liter M117 V8) following CB in pos. 4-5: *20 = 300SD Turbodiesel ['81-'85] (3.0-liter OM617 turbodiesel I5) *25 = 300SDL Turbodiesel ['86-'87] (3.0-liter OM603 turbodiesel I6) *34 = 350SD Turbodiesel ['91] (3.4-liter OM603 turbodiesel I6) *35 = 350SDL Turbodiesel ['90-'91] (3.4-liter OM603 turbodiesel I6) '''W140/V140/C140:'''<br> following GA in pos. 4-5: *32 = 300SE ['92-'93], S320 sedan SWB ['94-'99] (3.2-liter M104 I6) *33 = S320 sedan LWB ['95-'99] (3.2-liter M104 I6) *42 = 400SE ['92] (4.2-liter M119 V8) *43 = 400SEL ['93], S420 ['94-'99] (4.2-liter M119 V8) *51 = 500SEL ['92-'93], S500 sedan ['94-'99] (5.0-liter M119 V8) *57 = 600SEL ['92-'93], S600 sedan ['94-'99] (6.0-liter DOHC, 48-valve M120 V12) *70 = 500SEC ['93], S500 coupe ['94-'97], CL500 ['98-'99] (5.0-liter M119 V8) *76 = 600SEC ['93], S600 coupe ['94-'97], CL600 ['98-'99] (6.0-liter DOHC, 48-valve M120 V12) following GB in pos. 4-5: *34 = 300SD Turbodiesel ['92-'93], S350 Turbodiesel ['94-'95] (3.4-liter OM603 turbodiesel I6) '''V220:'''<br> following NG in pos. 4-5: *70 = S430 ['00-'06] (4.3-liter SOHC, 24-valve M113 V8) *73 = S55 AMG ['01-'02] (5.4-liter SOHC, 24-valve M113 V8) *74 = S55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *75 = S500 ['00-'06] (5.0-liter SOHC, 24-valve M113 V8) *78 = S600 ['01-'02] (5.8-liter SOHC, 36-valve M137 V12) *76 = S600 ['03-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = S65 AMG ['06] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *83 = S430 4Matic ['03-'06] (4.3-liter SOHC, 24-valve M113 V8) *84 = S500 4Matic ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) '''W220:'''<br> following NF in pos. 4-5: *67 = S350 ['06] (3.7-liter SOHC, 18-valve M112 90° V6) '''C215:'''<br> following PJ in pos. 4-5: *73 = CL55 AMG ['01-'02] (5.4-liter SOHC, 24-valve M113 V8) *74 = CL55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *75 = CL500 ['00-'06] (5.0-liter SOHC, 24-valve M113 V8) *78 = CL600 ['01-'02] (5.8-liter SOHC, 36-valve M137 V12) *76 = CL600 ['03-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = CL65 AMG ['05-'06] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) '''V221:'''<br> following NG in pos. 4-5: *71 = S550 ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *7B = S550 ['10-'11] (5.5-liter DOHC, 32-valve M273 V8) *7D = S550 ['12-'13] (4.7-liter twin turbo M278 GDI V8) *76 = S600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *7G = S600 ['10-'13] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = S63 AMG ['08-09] (6.2-liter DOHC, 32-valve M156 V8) *7H = S63 AMG ['10] (6.2-liter DOHC, 32-valve M156 V8) *7E = S63 AMG ['11-'13] (5.5-liter twin turbo M157 GDI V8) *79 = S65 AMG ['07-09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = S65 AMG ['10-'13] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *8D = S350 Bluetec 4Matic ['12-'13] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *86 = S550 4Matic ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *8G = S550 4Matic ['10-'11] (5.5-liter DOHC, 32-valve M273 V8) *9E = S550 4Matic ['12-'13] (4.7-liter twin turbo M278 GDI V8) *9F = S400 Hybrid ['10-'13] (Mild Hybrid: 3.5-liter M272 90° Atkinson-cycle V6 + electric motor, lithium-ion battery) '''C216:'''<br> following EJ in pos. 4-5: *71 = CL550 ['07-'08] (5.5-liter DOHC, 32-valve M273 V8) *76 = CL600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *7G = CL600 ['10-'14] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = CL63 AMG ['08-'09] (6.2-liter DOHC, 32-valve M156 V8) *7H = CL63 AMG ['10] (6.2-liter DOHC, 32-valve M156 V8) *7E = CL63 AMG ['11-'14] (5.5-liter twin turbo M157 GDI V8) *79 = CL65 AMG ['08-'09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = CL65 AMG ['10-'14] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *86 = CL550 4Matic ['09] (5.5-liter DOHC, 32-valve M273 V8) *8G = CL550 4Matic ['10] (5.5-liter DOHC, 32-valve M273 V8) *9E = CL550 4Matic ['11-'14] (4.7-liter twin turbo M278 GDI V8) '''V222:'''<br> following UG in pos. 4-5: *6D = S550 Plug-in Hybrid ['15], S550e ['16-'17] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *7D = S560e ['19-'20] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *6G = S450 sedan ['18-'20] (3.0-liter twin turbo M276 60° GDI V6) *6E = S450 4Matic sedan ['18-'20] (3.0-liter twin turbo M276 60° GDI V6) *8C = S550 sedan ['14-'17] (4.7-liter twin turbo M278 GDI V8) *8D = S560 sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *8F = S550 4Matic sedan ['14-'17] (4.7-liter twin turbo M278 GDI V8) *8G = S560 4Matic sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic sedan ['14-'17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic sedan ['18-'20] (4.0-liter twin turbo M177 GDI V8) *7G = S600 sedan ['15-'17] (6.0-liter SOHC, 36-valve twin turbo M277 V12) *7K = S65 AMG sedan ['15-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''X222:'''<br> following UX in pos. 4-5: *8F = Mercedes-Maybach S550 4Matic sedan ['17] (4.7-liter twin turbo M278 GDI V8) *8G = Mercedes-Maybach S560 4Matic sedan ['18-'20] (4.0-liter twin turbo M176 GDI V8) *7G = Mercedes-Maybach S600 sedan ['16-'17] (6.0-liter SOHC, 36-valve twin turbo M277 V12) *8A = Mercedes-Maybach S650 sedan ['18-'20] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''C217:'''<br> following XJ in pos. 4-5: *8F = S550 4Matic coupe ['15-'17] (4.7-liter twin turbo M278 GDI V8) *8G = S560 4Matic coupe ['18-'21] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic coupe ['15-'17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) *7K = S65 AMG coupe ['15-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''A217:'''<br> following XK in pos. 4-5: *8C = S550 convertible ['17] (4.7-liter twin turbo M278 GDI V8) *8D = S560 convertible ['18-'21] (4.0-liter twin turbo M176 GDI V8) *7J = S63 AMG 4Matic convertible ['17] (5.5-liter twin turbo M157 GDI V8) *8J = S63 AMG 4Matic convertible ['18-'21] (4.0-liter twin turbo M177 GDI V8) *7K = S65 AMG convertible ['17-'20] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) *7K = Mercedes-Maybach S650 convertible ['17] (6.0-liter SOHC, 36-valve twin turbo M279 AMG V12) '''V223:'''<br> following 6G in pos. 4-5: *6D = S500 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *6K = S580e 4Matic sedan ['23-] (PHEV: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *7G = S580 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8C = AMG S63 E Performance 4Matic+ ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''Z223:'''<br> following 6X in pos. 4-5: *7G = Mercedes-Maybach S580 4Matic sedan ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *7K = Mercedes-Maybach S680 4Matic sedan ['22-] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''V297:'''<br> following CG in pos. 4-5: *2D = EQS450+ sedan ['22-'23] (battery-electric, 1 rear motor, Rwd, 329 hp) *2D = EQS450+ sedan ['24-] (battery-electric, 1 rear motor, Rwd, 355 hp) *2E = EQS450 4Matic sedan ['23-] (battery-electric, 2 motors, 4wd, 355 hp) *4E = EQS580 4Matic sedan ['22-'23] (battery-electric, 2 motors, 4wd, 516 hp) *4E = EQS580 4Matic sedan ['24-] (battery-electric, 2 motors, 4wd, 536 hp) *5F = AMG EQS 4Matic+ sedan ['22-'25] (battery-electric, 2 motors, 4wd, 649 hp) '''W240:'''<br> following VF in pos. 4-5: *78 = Maybach 57 ['04-'09] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *7J = Maybach 57 ['10-'12] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *79 = Maybach 57S ['06-'09] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7K = Maybach 57S ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 57S Zeppelin ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 57S ['11-'12] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) '''V240:'''<br> following VG in pos. 4-5: *78 = Maybach 62 ['04-'09] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *7J = Maybach 62 ['10-'12] (5.5-liter SOHC, 36-valve twin turbo M285.950 V12) *79 = Maybach 62S ['07-'09], 62S Landaulet ('09) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7K = Maybach 62S ['10], 62S Landaulet ('10) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 62S Zeppelin ['10] (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) *7H = Maybach 62S ['11-'12], 62S Landaulet ('11-'12) (6.0-liter SOHC, 36-valve twin turbo M285.980 V12) '''C208/A208:'''<br> following LJ in pos. 4-5: *65 = CLK320 ['98-'02 coupe] (3.2-liter SOHC, 18-valve M112 90° V6) *70 = CLK430 ['99-'02 coupe] (4.3-liter SOHC, 24-valve M113 V8) *74 = CLK55 AMG ['01-'02 coupe] (5.4-liter SOHC, 24-valve M113 V8) following LK in pos. 4-5: *65 = CLK320 ['99-'03 convertible] (3.2-liter SOHC, 18-valve M112 90° V6) *70 = CLK430 ['00-'03 convertible] (4.3-liter SOHC, 24-valve M113 V8) *74 = CLK55 AMG ['02 convertible] (5.4-liter SOHC, 24-valve M113 V8) '''C209/A209:'''<br> following TJ in pos. 4-5: *65 = CLK320 ['03-'05 coupe] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = CLK350 ['06-'09 coupe] (3.5-liter M272 90° V6) *75 = CLK500 ['03-'06 coupe] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLK550 ['07-'09 coupe] (5.5-liter M273 V8) *76 = CLK55 AMG ['03-'05 coupe] (5.4-liter SOHC, 24-valve M113 V8) *77 = CLK63 AMG Black Series ['08 coupe] (6.2-liter M156 V8) following TK in pos. 4-5: *65 = CLK320 ['04-'05 convertible] (3.2-liter SOHC, 18-valve M112 90° V6) *56 = CLK350 ['06-'09 convertible] (3.5-liter M272 90° V6) *75 = CLK500 ['04-'06 convertible] (5.0-liter SOHC, 24-valve M113 V8) *72 = CLK550 ['07-'09 convertible] (5.5-liter M273 V8) *76 = CLK55 AMG ['04-'06 convertible] (5.4-liter SOHC, 24-valve M113 V8) *77 = CLK63 AMG ['07-'08 convertible] (6.2-liter M156 V8) '''C207/A207:'''<br> following KJ in pos. 4-5: *5G = E350 coupe ['10-'11] (3.5-liter M272 90° V6) *5K = E350 coupe ['12-'14] (3.5-liter M276 60° GDI V6) *6F = E400 coupe ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *6H = E400 4Matic coupe ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 coupe ['10-'11] (5.5-liter M273 V8) *7D = E550 coupe ['12-'17] (4.7-liter twin turbo M278 GDI V8) *8J = E350 4Matic coupe ['12-'14] (3.5-liter M276 60° GDI V6) following KK in pos. 4-5: *5G = E350 convertible ['11] (3.5-liter M272 90° V6) *5K = E350 convertible ['12-'14] (3.5-liter M276 60° GDI V6) *6F = E400 convertible ['15-'17] (3.0-liter twin turbo M276 60° GDI V6) *7C = E550 convertible ['11] (5.5-liter M273 V8) *7D = E550 convertible ['12-'17] (4.7-liter twin turbo M278 GDI V8) '''C238/A238:'''<br> following 1J in pos. 4-5: *6F = E400 coupe ['18] (3.0-liter twin turbo M276 60° GDI V6) *6G = E400 4Matic coupe ['18] (3.0-liter twin turbo M276 60° GDI V6) *6H = E450 coupe ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic coupe ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5J = E450 coupe ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = E450 4Matic coupe ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG E53 4Matic coupe ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) following 1K in pos. 4-5: *6F = E400 convertible ['18] (3.0-liter twin turbo M276 60° GDI V6) *6G = E400 4Matic convertible ['18] (3.0-liter twin turbo M276 60° GDI V6) *6H = E450 convertible ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *6J = E450 4Matic convertible ['19-'20] (3.0-liter twin turbo M276 60° GDI V6) *5J = E450 convertible ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *5K = E450 4Matic convertible ['21-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG E53 4Matic convertible ['19-'23] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''C236/A236:'''<br> following MJ in pos. 4-5: *4H = CLE300 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = CLE450 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6C = AMG CLE53 4Matic coupe ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) following MK in pos. 4-5: *4H = CLE300 4Matic convertible ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *6B = CLE450 4Matic convertible ['24-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6C = AMG CLE53 4Matic convertible ['25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) '''R170:'''<br> following KK in pos. 4-5: *47 = SLK230 Kompressor ['98-'00] (2.3-liter M111.973 supercharged I4) *49 = SLK230 Kompressor ['01-'04] (2.3-liter M111.983 supercharged I4) *65 = SLK320 ['01-'04] (3.2-liter SOHC, 18-valve M112 90° V6) *66 = SLK32 AMG ['02-'04] (3.2-liter SOHC, 18-valve M112 supercharged 90° V6) '''R171:'''<br> following WK in pos. 4-5: *54 = SLK280 ['06-'08], SLK300 ['09] (3.0-liter M272 90° V6) *5E = SLK300 ['10-'11] (3.0-liter M272 90° V6) *56 = SLK350 ['05-'08] (3.5-liter M272 90° V6) *58 = SLK350 ['09] (3.5-liter M272 90° V6) *5J = SLK350 ['10-'11] (3.5-liter M272 90° V6) *73 = SLK55 AMG ['05-'09] (5.4-liter SOHC, 24-valve M113 V8) *7D = SLK55 AMG ['10] (5.4-liter SOHC, 24-valve M113 V8) '''R172:'''<br> following PK in pos. 4-5: *4H = SLK250 ['12-'15] (1.8-liter turbocharged GDI M271 I4) *3J = SLK300 ['16], SLC300 ['17-'20] (2.0-liter turbocharged GDI M274 I4) *5H = SLK350 ['12-'16] (3.5-liter M276 60° GDI V6) *6G = SLC43 AMG ['17-'20] (3.0-liter twin-turbocharged M276 60° GDI V6) *7F = SLK55 AMG ['12-'16] (5.5-liter M152 GDI V8) '''R107:'''<br> following BA in pos. 4-5: *45 = 380SL ['81-'85] (3.8-liter M116 V8) *48 = 560SL ['86-'89] (5.5-liter M117 V8) '''C107:'''<br> following BA in pos. 4-5: *25 = 380SLC ['81] (3.8-liter M116 V8) '''R129:'''<br> following FA in pos. 4-5: *61 = 300SL ['90-'93] (3.0-liter DOHC, 24 valve M104 I6) *63 = SL320 ['94-'97] (3.2-liter DOHC, 24 valve M104 I6) *66 = 500SL ['90-'92] (5.0-liter DOHC, 32-valve M119 V8) *67 = 500SL ['93], SL500 ['94-'98] (5.0-liter DOHC, 32-valve M119 V8) *68 = SL500 ['99-'02] (5.0-liter SOHC, 24-valve M113 V8) *76 = 600SL ['93], SL600 ['94-'02] (6.0-liter DOHC, 48-valve M120 V12) '''R230:'''<br> following SK in pos. 4-5: *75 = SL500 ['03-'06] (5.0-liter SOHC, 24-valve M113 V8) *71 = SL550 ['07-'09] (5.5-liter DOHC, 32-valve M273 V8) *7B = SL550 ['11-'12] (5.5-liter DOHC, 32-valve M273 V8) *74 = SL55 AMG ['03-'06] (5.4-liter SOHC, 24-valve supercharged M113K V8) *72 = SL55 AMG ['07-'08] (5.4-liter SOHC, 24-valve supercharged M113K V8) *70 = SL63 AMG ['09] (6.2-liter DOHC, 32-valve M156 V8) *7A = SL63 AMG ['11-'12] (6.2-liter DOHC, 32-valve M156 V8) *76 = SL600 ['04-'06] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *77 = SL600 ['07-'09] (5.5-liter SOHC, 36-valve twin turbo M275 V12) *79 = SL65 AMG ['05-'09], SL65 AMG Black Series ['09] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) *7K = SL65 AMG ['11] (6.0-liter SOHC, 36-valve twin turbo M275 AMG V12) '''R231:'''<br> following JK in pos. 4-5: *6F = SL400 ['15-'16] (3.0-liter twin turbo M276 60° GDI V6) *6G = SL450 ['17-'20] (3.0-liter twin turbo M276 60° GDI V6) *7D = SL550 ['13-'20] (4.7-liter twin turbo M278 GDI V8) *7E = SL63 AMG ['13-'19] (5.5-liter twin turbo M157 GDI V8) *7K = SL65 AMG ['13-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) '''R232:'''<br> following VK in pos. 4-5: *5A = AMG SL43 ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + 2 electric motors, lithium-ion battery) *8A = AMG SL55 4Matic+ ['22-] (4.0-liter twin turbo M177 GDI V8) *8B = AMG SL63 4Matic+ ['22-] (4.0-liter twin turbo M177 GDI V8) *8C = AMG SL63 S E Performance 4Matic+ ['24-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) following VX in pos. 4-5: *8B = Maybach SL680 4Matic ['26-] (4.0-liter twin turbo M177 GDI V8) '''C199/R199:'''<br> following AJ in pos. 4-5: *76 = SLR McLaren coupe ['05-'07] (5.4-liter SOHC, 24-valve supercharged M155 V8) following AK in pos. 4-5: *76 = SLR McLaren roadster ['08-'09] (5.4-liter SOHC, 24-valve supercharged M155 V8) '''C197/R197:'''<br> following RJ in pos. 4-5: *7H = SLS AMG coupe ['11-'12] (6.2-liter M159 V8) *7J = SLS AMG GT coupe ['13-'15] (6.2-liter M159 V8) *7H = SLS AMG Black Series coupe ['14] (6.2-liter M159 V8) following RK in pos. 4-5: *7H = SLS AMG roadster ['12] (6.2-liter M159 V8) *7J = SLS AMG GT roadster ['13-'15] (6.2-liter M159 V8) '''C190:'''<br> following YJ in pos. 4-5: *7H = AMG GT 2-d coupe (base model) ['17-'20] (4.0-liter twin turbo M178 GDI V8) *8C = AMG GT 2-d coupe (base model) ['21] (4.0-liter twin turbo M178 GDI V8) *AJ = AMG GT 2-d coupe S ['16] (4.0-liter twin turbo M178 GDI V8) *7J = AMG GT 2-d coupe S ['16-'19] (4.0-liter twin turbo M178 GDI V8) *8A = AMG GT 2-d coupe C ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d coupe R ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d coupe R Pro ['20] (4.0-liter twin turbo M178 GDI V8) *8B = AMG GT 2-d coupe Black Series ['21] (4.0-liter twin turbo M178 LS2 GDI flat-plane crank V8) '''R190:'''<br> following YK in pos. 4-5: *7H = AMG GT roadster (base model) ['17-'20] (4.0-liter twin turbo M178 GDI V8) *8C = AMG GT roadster (base model) ['21] (4.0-liter twin turbo M178 GDI V8) *8A = AMG GT roadster C ['18-'21] (4.0-liter twin turbo M178 GDI V8) *7K = AMG GT 2-d roadster R ['20] (4.0-liter twin turbo M178 GDI V8) '''C192:'''<br> following RJ in pos. 4-5: *4C = AMG GT43 coupe ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + 2 electric motors, lithium-ion battery) *8A = AMG GT55 4Matic+ coupe ['24-] (4.0-liter twin turbo M177 GDI V8) *7J = AMG GT63 4Matic+ coupe ['24-] (4.0-liter twin turbo M177 GDI V8) *8C = AMG GT63 S E Performance 4Matic+ coupe ['25-] (PHEV: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8J = AMG GT63 Pro 4Matic+ coupe ['25-] (4.0-liter twin turbo M177 GDI V8) '''X156:'''<br> following TG in pos. 4-5: *4E = GLA250 ['15-'20] (2.0-liter turbocharged GDI M270 I4) *4G = GLA250 4Matic ['15-'20] (2.0-liter turbocharged GDI M270 I4) *5C = GLA45 AMG 4Matic ['15-'19] (2.0-liter turbocharged GDI AMG M133 I4) '''H247:'''<br> following 4N in pos. 4-5: *4G = GLA250 ['21-'23] (2.0-liter turbocharged GDI M260 I4) *4G = GLA250 ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = GLA250 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *4H = GLA250 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG GLA35 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG GLA35 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5D = AMG GLA45 4Matic ['21-'23] (2.0-liter turbocharged port/direct injection AMG M139 I4) '''X247:'''<br> following 4M in pos. 4-5: *4G = GLB250 ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4G = GLB250 ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *4H = GLB250 4Matic ['20-'23] (2.0-liter turbocharged GDI M260 I4) *4H = GLB250 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) *5B = AMG GLB35 4Matic ['21-'23] (2.0-liter turbocharged GDI M260 I4) *5B = AMG GLB35 4Matic ['24-'26] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M260 I4 + electric motor, lithium-ion battery) '''X243:'''<br> following 9M in pos. 4-5: *0C = EQB250+ ['23-'25] (battery-electric, 1 front motor, Fwd, 188 hp) *0K = EQB300 4Matic ['22-'25] (battery-electric, 2 motors, 4wd, 225 hp) *1D = EQB350 4Matic ['22-'25] (battery-electric, 2 motors, 4wd, 288 hp) '''X204:'''<br> following GG in pos. 4-5: *0E = GLK250 Bluetec 4Matic ['13-'15] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5G = GLK350 2wd ['10-'12] (3.5-liter M272 90° V6) *5H = GLK350 2wd ['13-'15] (3.5-liter M276 60° GDI V6) *8H = GLK350 4Matic ['10-'12] (3.5-liter M272 90° V6) *8J = GLK350 4Matic ['13-'15] (3.5-liter M276 60° GDI V6) '''X253:'''<br> following 0G in pos. 4-5: *4J = GLC300 2wd ['16-'19] (2.0-liter turbocharged GDI M274 I4) *4K = GLC300 4Matic ['16-'19] (2.0-liter turbocharged GDI M274 I4) *8D = GLC300 2wd ['20-'22] (2.0-liter turbocharged GDI M264 I4) *8E = GLC300 4Matic ['20-'22] (2.0-liter turbocharged GDI M264 I4) *5E = GLC350e 4Matic ['18-'19] (PHEV: 2.0-liter turbocharged GDI M274 I4 + 114 hp electric motor, 8.7 kWh lithium-ion battery) *5D = GLC350e 4Matic ['20] (PHEV: 2.0-liter turbocharged GDI M274 I4 + 121 hp electric motor, 13.5 kWh lithium-ion battery) *6E = AMG GLC43 4Matic ['17-'22] (3.0-liter twin turbo M276 60° GDI V6) *8J = AMG GLC63 4Matic ['18-'21] (4.0-liter twin turbo M177 GDI V8) '''C253:'''<br> following 0J in pos. 4-5: *4K = GLC300 4Matic Coupe ['17-'19] (2.0-liter turbocharged GDI M274 I4) *8E = GLC300 4Matic Coupe ['20-'23] (2.0-liter turbocharged GDI M264 I4) *6E = AMG GLC43 4Matic Coupe ['17-'23] (3.0-liter twin turbo M276 60° GDI V6) *8J = AMG GLC63 4Matic Coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) *8K = AMG GLC63 S 4Matic Coupe ['18-'21] (4.0-liter twin turbo M177 GDI V8) '''X254:'''<br> following KM in pos. 4-5: *4G = GLC300 2wd ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4H = GLC300 4Matic ['23-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *5G = GLC350e 4Matic ['25-] (PHEV: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG GLC43 4Matic ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG GLC63 S E Performance 4Matic ['25-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''C254:'''<br> following KJ in pos. 4-5: *4H = GLC300 4Matic Coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *8H = AMG GLC43 4Matic Coupe ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged port/direct injection M139 I4 + electric motor, lithium-ion battery) *8A = AMG GLC63 S E Performance 4Matic Coupe ['25-] (PHEV: 2.0-liter turbocharged port/direct injection M139 I4 + 3 electric motors, lithium-ion battery) '''W163:'''<br> following AB in pos. 4-5: *54 = ML320 ['98-'03] (3.2-liter SOHC, 18-valve M112 90° V6) *57 = ML350 ['03-'05] (3.7-liter SOHC, 18-valve M112 90° V6) *72 = ML430 ['99-'01] (4.3-liter SOHC, 24-valve M113 V8) *74 = ML55 AMG ['00-'03] (5.4-liter SOHC, 24-valve M113 V8) *75 = ML500 ['02-'05] (5.0-liter SOHC, 24-valve M113 V8) '''W164:'''<br> following BB in pos. 4-5: *22 = ML320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = ML320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = ML350 Bluetec ['10-'11] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *56 = ML350 2wd ['09] (3.5-liter M272 90° V6) *5G = ML350 2wd ['10-'11] (3.5-liter M272 90° V6) *86 = ML350 4Matic ['06-'09] (3.5-liter M272 90° V6) *8G = ML350 4Matic ['10-'11] (3.5-liter M272 90° V6) *75 = ML500 ['06-'07] (5.0-liter SOHC, 24-valve M113 V8) *72 = ML550 ['08-'09] (5.5-liter M273 V8) *7C = ML550 ['10-'11] (5.5-liter M273 V8) *77 = ML63 AMG ['07-'09] (6.2-liter M156 V8) *7H = ML63 AMG ['10-'11] (6.2-liter M156 V8) *9F = ML450 Hybrid 4Matic ['10-'11] (2-Mode Hybrid: 3.5-liter Atkinson-cycle M272 90° V6 + 2 electric motors, Nickel–metal hydride battery) '''W166:'''<br> following DA in pos. 4-5: *2E = ML350 Bluetec ['12-'14 & '15 in Canada], GLE350d [Canada only: '16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *0E = ML250 Bluetec ['15], GLE300d ['16] (2.1-liter DOHC, 16 valve OM651 turbodiesel I4) *5J = ML350 2wd ['13-'15], GLE350 2wd ['16-'18] (3.5-liter M276 60° GDI V6) *5H = ML350 4Matic ['12-'15], GLE350 4Matic ['16-'18] (3.5-liter M276 60° GDI V6) *5G = ML400 4Matic ['15], GLE400 4Matic ['16-'17 & '19, Canada only: '18] (3.0-liter twin turbo M276 60° GDI V6) *6D = GLE550e 4Matic ['16-'18] (PHEV: 3.0-liter twin turbo M276 60° GDI V6 + electric motor, lithium-ion battery) *6E = GLE450 AMG Sport 4Matic [Canada only: '16], AMG GLE43 4Matic ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7D = ML550 ['12-'14 & '15 in Canada], GLE550 [Canada only: '16-'19] (4.7-liter twin turbo M278 GDI V8) *7E = ML63 AMG ['12-'15], AMG GLE63 ['16-'19] (5.5-liter twin turbo M157 GDI V8) *7F = AMG GLE63 S ['16-'19] (5.5-liter twin turbo M157 GDI V8) '''C292:'''<br> following ED in pos. 4-5: *2E = GLE350d Coupe [Canada only: '16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *6E = GLE450 AMG Sport 4Matic Coupe ['16], AMG GLE43 4Matic Coupe ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7F = AMG GLE63 S Coupe ['16-'19] (5.5-liter twin turbo M157 GDI V8) '''W167:'''<br> following FB in pos. 4-5: *4J = GLE350 2wd ['20-'23] (2.0-liter turbocharged GDI M264 I4) *4K = GLE350 4Matic ['20-'23] (2.0-liter turbocharged GDI M264 I4) *4E = GLE350 2wd ['25-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4F = GLE350 4Matic ['24-] (EQ Boost 48v Mild Hybrid: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *4G = GLE450e 4Matic ['24-] (PHEV: 2.0-liter turbocharged GDI M254 I4 + electric motor, lithium-ion battery) *5K = GLE450 ['20-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GLE53 ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8G = GLE580 ['20-'23] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8F = GLE580 ['24-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8K = AMG GLE63 S ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''C167:'''<br> following FD in pos. 4-5: *5K = GLE450 Coupe [Canada only: '22-'24, US & Canada: '25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *6B = AMG GLE53 Coupe ['21-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *8K = AMG GLE63 S Coupe ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''X294:'''<br> following GM in pos. 4-5: *2B = EQE350+ SUV ['23-'25] (battery-electric, 1 rear motor, Rwd, 288 hp) *2B = EQE320+ SUV ['26-] (battery-electric, 1 rear motor, Rwd, 315 hp) *1C = EQE350 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 288 hp) *1C = EQE320 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 315 hp) *2C = EQE500 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 402 hp) *5D = AMG EQE 4Matic+ SUV ['24-] (battery-electric, 2 motors, 4wd, 617 hp) '''V251:'''<br> following CB in pos. 4-5: *22 = R320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = R320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = R350 Bluetec ['10-'12 & '13 in Canada] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *56 = R350 2wd ['08] (3.5-liter M272 90° V6) *65 = R350 4Matic ['06-'09] (3.5-liter M272 90° V6) *6F = R350 4Matic ['10-'11] (3.5-liter M272 90° V6) *5H = R350 4Matic ['12 & '13 in Canada] (3.5-liter M276 60° GDI V6) *75 = R500 ['06-'07] (5.0-liter SOHC, 24-valve M113 V8) *77 = R63 AMG ['07] (6.2-liter M156 V8) '''X164:'''<br> following BF in pos. 4-5: *22 = GL320 CDI ['07-'08] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *25 = GL320 Bluetec ['09] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *2F = GL350 Bluetec ['10-'12] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *71 = GL450 ['07-'09] (4.7-liter M273 V8) *7B = GL450 ['10-'12] (4.7-liter M273 V8) *86 = GL550 ['08-'09] (5.5-liter M273 V8) *8G = GL550 ['10-'12] (5.5-liter M273 V8) '''X166:'''<br> following DF in pos. 4-5: *2E = GL350 Bluetec ['13-'16] (3.0-liter DOHC, 24 valve OM642 72° turbodiesel V6) *7C = GL450 ['13-'14] (4.7-liter twin turbo M278 GDI V8 - detuned version) *6E = GL450 ['15-'16], GLS450 ['17-'19] (3.0-liter twin turbo M276 60° GDI V6) *7D = GL550 ['13-'16], GLS550 ['17-'19] (4.7-liter twin turbo M278 GDI V8) *7E = GL63 AMG ['13-'16] (5.5-liter twin turbo M157 GDI V8) *7F = AMG GLS63 ['17-'19] (5.5-liter twin turbo M157 GDI V8) '''X167:'''<br> following FF in pos. 4-5: *5K = GLS450 ['20-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo M256 GDI I6 + electric motor, lithium-ion battery) *8G = GLS580 ['20-'23] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M176 GDI V8 + electric motor, lithium-ion battery) *8F = GLS580 ['24-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8H = Mercedes-Maybach GLS600 ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) *8K = AMG GLS63 4MATIC+ ['21-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''X296:'''<br> following DM in pos. 4-5: *2D = EQS450+ SUV ['23-'25] (battery-electric, 1 rear motor, Rwd, 355 hp) *2E = EQS450 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 355 hp) *2E = EQS400 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 355 hp) *4E = EQS580 4Matic SUV ['23-'25] (battery-electric, 2 motors, 4wd, 536 hp) *4E = EQS550 4Matic SUV ['26-] (battery-electric, 2 motors, 4wd, 536 hp) '''Z296:'''<br> following DX in pos. 4-5: *5F = Mercedes-Maybach EQS680 4Matic SUV ['24-] (battery-electric, 2 motors, 4wd, 649 hp) '''W463 (1st gen.):'''<br> following YR in pos. 4-5 ('02-'09) or following YC in pos. 4-5 ('10-'18): *49 = G500 ['02-'08] (5.0-liter SOHC, 24-valve M113 V8) *37 = G550 ['09] (5.5-liter M273 V8) *3H = G550 ['10-'15] (5.5-liter M273 V8) *3K = G550 ['16-'18] (4.0-liter twin turbo M176 GDI V8) *5F = G550 4x4² ['17-'18] (4.0-liter twin turbo M176 GDI V8) *46 = G55 AMG ['03-'04] (5.4-liter SOHC, 24-valve M113 V8) *71 = G55 AMG ['05-'09] (5.4-liter SOHC, 24-valve supercharged M113K V8) *7B = G55 AMG ['10-'11] (5.4-liter SOHC, 24-valve supercharged M113K V8) *7D = G63 AMG ['13-'18] (5.5-liter twin turbo M157 GDI V8) *7F = G65 AMG ['16-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) *7E = Mercedes-Maybach G650 Landaulet ['17-'18] (6.0-liter SOHC, 36-valve twin turbo M279 V12) [Middle East market, Not sold in US/Canada] '''W463 (2nd gen.):'''<br> following YC in pos. 4-5: *6B = G550 ['19-'24] (4.0-liter twin turbo M176 GDI V8) *7H = AMG G63 ['19-'24] (4.0-liter twin turbo M177 GDI V8) *8A = AMG G63 4x4² ['22-'24] (4.0-liter twin turbo M177 GDI V8) '''W465:'''<br> following WH in pos. 4-5: *1A = G550 ['25-] (EQ Boost 48v Mild Hybrid: 3.0-liter turbo/e-supercharged M256 GDI I6 + electric motor, lithium-ion battery) *5A = AMG G63 ['25-] (EQ Boost 48v Mild Hybrid: 4.0-liter twin turbo M177 GDI V8 + electric motor, lithium-ion battery) '''N465:'''<br> following WM in pos. 4-5: *0A = G580 with EQ Technology ['25-] (battery-electric, 4 motors, 4wd, 579 hp) ===Position 8=== Passenger cars - Restraint system: * A 3-point seat belts for outboard passengers, center rear lap belt * B seat belt + emergency pretensioners for front passenger seat & driver-side front airbag * C seat belt + emergency pretensioners for both front seats * D seat belt + emergency pretensioners for both front seats, driver-side front air bag and knee bolster * E seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, outboard rear 3-point belts, center rear lap belt (SL-Class does not have rear seats) * F seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, outboard rear 3-point belts, center rear 3-point belt (SL-Class & SLK-Class do not have rear seats) ['96-'98 210-series E-class sedan, '98-'99 210-series E-class wagon, '96- R129 SL-Class, '98- R170 SLK-Class] * G seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, outboard rear 3-point belts, center rear lap belt (CL-Class & CLK-Class do not have center rear seat position) ['97-'99 140-series S-class, '98-'00 202-series C-Class, '98-'02 208-series CLK-Class coupe, '99-'03 208-series CLK-Class convertible] * H seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, front to rear side curtain airbags, outboard rear 3-point belts, center rear 3-point belt ['99 210-series E-Class sedan] * J seat belt + emergency pretensioners, driver and passenger front air bags and knee bolsters, front door-mounted side-impact airbags, front to rear side curtain airbags, outboard rear 3-point belts, center rear 3-point belt ['00- 210-series E-Class, '00- 220-series S-Class, '00- 215-series CL-Class, '01- 203-series C-Class, '03- 209-series CLK-Class coupe] * A seat belts + emergency pretensioners/load limiters for both front seats, driver and passenger front air bags, inflatable side protection systems for 1st row <br> ('10-'16 SLK-Class, '17-'20 SLC-Class, '10-'20 SL-Class, '11-'15 SLS AMG, '16-'21 AMG GT 2-d) * B seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('19-'22 A-Class sedan, '14-'22 CLA-Class, '14-'17 B-Class Electric, '15-'19 GLA45 AMG, '10-'22 C-Class, '10-'22 E-Class sedan, '11-'22 E-Class wagon,<br> '10-'22 E-Class coupe, '18-'22 E-Class cabriolet, '10-'22 CLS-Class, '19-'22 AMG GT 4-d coupe, '10-'22 S-Class, '10-'14 CL-Class, '22- EQS sedan, '22- SL-Class, '10-'12 Maybach 57/62) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st row ('11-'17 E-Class cabriolet) SUVs - GVWR ('98-'09): * E = Class E: 6001-7000 lbs. ('98-'09 M-Class, '02-'09 G-Class, '06-'09 R-Class, '07-'09 GL-Class) SUVs ('10-) Restraint system: * B seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('15-'20 GLA250, '21-'22 GLA-Class, '20-'22 GLB-Class, '22- EQB, '10-'15 GLK-Class, '16-'22 GLC-Class, '10-'15 M-Class, '16-'22 GLE-Class w/2 rows, '10-'12 R-Class w/2 rows, '10-'15 GL-Class w/2 rows, '21-'22 Mercedes-Maybach GLS600) * E seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st, 2nd, & 3rd rows ('20-'22 GLE-Class w/3 rows, '10-'12 & '13 in Canada R-Class w/3 rows, '10-'16 GL-Class w/3 rows, '17-'22 GLS-Class [excluding Maybach GLS600]) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front to rear side curtain airbags only) ('10-'11 G-Class) * F seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front side airbags and front to rear side curtain airbags) ('12-'17 G-Class) * H seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows (front side airbags and front to rear side curtain airbags) ('18 G-Class) * J seat belts for all seats + emergency pretensioners/load limiters for outboard seats, driver and passenger front air bags, inflatable side protection systems for 1st & 2nd rows ('19-'22 G-Class) GVWR: * Class C: 4001-5000 lbs. ('15-'20 GLA250, '21-'22 GLA-Class [excluding '22- AMG GLA45], '20-'22 GLB250) * Class D: 5001-6000 lbs. ('22- AMG GLA45, '21-'22 AMG GLB35, '10-'15 GLK-Class, '16-'22 GLC-Class) * Class E: 6001-7000 lbs. ('22- EQB, '10-'15 M-Class, '16-'22 GLE-Class, '10-'12 & '13 in Canada R-Class, '10-'12 GL-Class, '10-'12 G-Class, '19-'22 G550) * Class F: 7001-8000 lbs. ('13-'16 GL-Class, '17-'22 GLS-Class, '13-'18 G-Class, '19-'22 AMG G63, '22- AMG G63 4x4²) * Class H: 9001-10,000 lbs. ('10-'16 G-Class w/optional armoring) ===Position 9, Check Digit=== [[Vehicle Identification Numbers (VIN codes)/Check digit |Check digit]] ===Position 10, Model Year: === [[Vehicle Identification Numbers (VIN codes)/Model year|Model year]] ===Position 11, Production Plant:=== * A-D: Sindelfingen, Germany * E: Sindelfingen, Germany (through 2000) * E: Juiz de Fora, Minas Gerais, Brazil (from 2001) * E: Mishawaka, Indiana, US (AM General plant) ('16-'17 R-Class for China) * F-H: Bremen, Germany * J, K: Rastatt, Germany * L: Pekan, Pahang, Malaysia (HICOM Automotive Manufacturers plant) * M: Woking, England, UK (SLR McLaren) (McLaren Automotive plant) * N, P: Kecskemet, Hungary * R, S: East London, South Africa * T: Osnabrück, Germany (Karmann plant) * U: Sindelfingen, Germany * V: Uusikaupunki, Finland (Valmet Automotive plant) * W: Aguascalientes, Mexico (COMPAS plant) * X: Graz, Austria (Magna Steyr plant) * 1: Pune, Maharashtra, India For 4JG and 55S: * A, B, U: Vance, Alabama, US ===Positions 12–17, Serial Number=== ==Commercial Vehicles== Position 1-3 * VSA - Mercedes-Benz Espana SA (1st gen. Vito/V-Class - W638) * WDB - Daimler-Benz AG, DaimlerChrysler AG, Daimler AG * WDF - DaimlerChrysler AG, Daimler AG (Mercedes-Benz Citan, Vito/V-Class & X-Class) * W1H - Freightliner Truck made in Germany by Daimler Truck (Freightliner Econic) * W1T - Daimler AG (Daimler Truck Holding AG from 2022) (Mercedes-Benz truck) * W1V - Daimler AG (Mercedes-Benz Group AG from 2022) (Mercedes-Benz van) * W1W - Mercedes-Benz MPV (Mercedes-Benz Sprinter or Metris) * W1X - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter or Metris) * W1Y - Mercedes-Benz Truck (Mercedes-Benz Sprinter or Metris) * W1Z - Mercedes-Benz Bus (Mercedes-Benz Sprinter) * WD4 - Mercedes-Benz MPV (Mercedes-Benz Sprinter or Metris) * WDA - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter or Metris) * WD3 - Mercedes-Benz Truck (Mercedes-Benz Sprinter or Metris) * WDZ - Mercedes-Benz Bus (Mercedes-Benz Sprinter) * WD0 - Dodge Sprinter Truck 2005-2009 (T1N & NCV3) * WD1 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter Incomplete Vehicle (T1N) * WD2 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter Truck (T1N) * WD5 - Dodge (2003-2005) or Freightliner (2002-2005) Sprinter MPV (T1N) * WD6 - Freightliner Unimog Truck * WD7 - Freightliner Unimog Incomplete Vehicle * WD8 - Dodge Sprinter MPV 2005-2009 (T1N & NCV3) * WDW - Dodge Sprinter Bus 2008-2009 (NCV3) * WDX - Dodge Sprinter Incomplete Vehicle 2005-2009 (T1N & NCV3) * WDR - Freightliner MPV * WDP - Freightliner Incomplete Vehicle * WDY - Freightliner Truck * WCD - Freightliner Bus * W2W - Freightliner MPV * W2X - Freightliner Incomplete Vehicle * W2Y - Freightliner Truck * W2Z - Freightliner Bus * 1MB - Mercedes-Benz Truck Co., Inc. (M-B Truck made in USA) (1981-1990) * 8AB - Mercedes-Benz Argentina Truck & Bus (for South America) * 8AC - Mercedes-Benz Argentina Van (for South America) * 8BT - Mercedes-Benz MPV (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BN - Mercedes-Benz Incomplete Vehicle (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BU - Mercedes-Benz Truck (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 8BR - Mercedes-Benz Bus (Mercedes-Benz Sprinter made in Argentina for export to N. America) * 9BM - Mercedes-Benz Brazil Truck & Bus (for South America) Position 4–6, Model *414 - Vaneo *415 - Mark 1 Citan *420 - Mark 2 Citan *447 - Mark 3 Vito *470 - X-Class *638 - Mark 1 Vito *639 - Mark 2 Vito *670 - Vario *901 - Sprinter T1N *902 - Sprinter T1N *903 - Sprinter T1N *904 - Sprinter T1N *905 - Sprinter T1N *906 - Sprinter NCV3 *907 - Sprinter VS30 (RWD) *910 - Sprinter VS30 (FWD) *930 - Actros Rigids *933 - Actros MP2 concrete mixer *934 - Actros MP2 tractor *944 - Axor Tractor *950 - Axor Rigids / Actros Mk1 Rigids *952 - Axor *954 - Actros Mk1 Tractor *956 - Econic *963 - NEW ACTROS MP4 (Common-Rail engine) / Antos *964 - NEW ACTROS MP4 (Common-Rail engine) / Arocs *967 - Atego *970 - Atego *972 - Atego *976 - Atego Fire Position 7–9, Weight and Length code Position 10, Drive indicator *1 Left hand drive *2 Right hand drive Position 11, Plant code * A: Buenos Aires, Argentina * E: Buenos Aires, Argentina * G: Barcelona, Spain (Nissan plant) (X-Class pickup) * N: Hampton, VA, US (For WMI 1MB) * N: Ludwigsfelde, Germany * P, R, S: Düsseldorf, Germany * T: Ladson, South Carolina, US * U: Maubeuge, France (Renault plant) (Citan, T-Class, EQT) * V: Wörth, Germany * 3: Vitoria, Spain * 4: Vitoria, Spain (When Position 1-3 is W1V) * 4: Wörth, Germany (Freightliner Unimog) * 5: Düsseldorf, Germany * 9: Ludwigsfelde, Germany Position 12–17, Serial Number Position 18, Check Digit ==External links== Online [http://www.vindecoderz.com/EN/Mercedes-Benz Mercedes-Benz Vito decoder] WDB1260251A336981 {{BookCat}} 92sjowtxl9cdh7kog52akvineokvj91 Editing Wikitext/Making Templates A101 0 154888 4635297 4365086 2026-05-11T17:07:24Z ~2026-28460-82 3583596 /* Put it on the Page */ 4635297 wikitext text/x-wiki {{Editing_Wikitext|bd=linen}} <div style="background:oldlace;padding:10px;border:1px solid lightgrey;"> <!--<div style="line-spacing:1.25em;text-align:justify">--> {| style="margin:0 2em 1em 1em; background:transparent;float:right;" border=0 |- style="vertical-align:top;" | style="text-align:center; width:300px;" |__TOC__ |- |} <big style="font-size:150%;">Introduction</big> <hr /> This book chapter should be viewed as an introductory text on the making of Wiki templates, and an overview of what templates ''do'' is provided in this first section. First lets get some basic terminology: *'''''TEMPLATES are just blocks of saved text that have been given names'''''. Some are ordinary text paragraphs and some contain wikitext to make headings, indents, tables, and the like. In a simple case, by typing a template's name in the work, an entire block of text is added to the page with all of its formats and other parts, just as if it had been typed by the user. This behavior can be repeated at any point that the user wants, and almost any work that is found on a wiki page could be placed within a template to do this. The main effort as you might suppose, lies in its initial design. *'''''NAMES of templates are assigned when they are first saved'''''. The '''name''' must be unique, and it is used when a template is ''called'' for use. Sometimes other text is also used along with the name; it can include any '''options''' and '''parameters'''. *'''''OPTIONS allow the user to vary the template's usual behavior.'''''. The usual behavior suits most situations but the designer builds-in ways of changing things just in case. Option values are usually limited to a short list so these are described in a template's documentation. For example, option values for an option called ''align'' might include only ''left'', ''right'', or ''center'', and no others. Templates do not ''always'' need options, since their default behavior is often enough. *'''''DEFAULTS are the values used by a template when the user did not say'''''. Default values are specified in design, and they could apply to formats or to user text inputs. For example, in the alignment example above, if the ''align'' option was not used, the template could use ''left'', provided that ''left'' had been specified in design as its default. In the same way if the user forgets to type a text input, the template could use a pre-planned ''default'' input instead of the missing parameter; sometimes just a code to say something was forgotten. *'''''PARAMETERS are usually bits of text that a user enters for a template to process'''''. For example, if a template makes text red, it still needs to know the text to color; this text is called a ''parameter'', and the text is included by the user when the template is ''called'' for use. Sometimes parameters contain text like code to insert an image, or even a gallery or a table; it just depends what the template is designed for. A template can even be the parameter of ''another'' template; for example, a template to insert a test paragraph might occupy the parameter space of a template to make a text box. The new paragraph would then appear in a new text box. *'''''MORE GENERALLY,''''' templates let us do much of the preparation in advance of making a page, and let us insert a block of typing, be it code to make tables, boxes, and other structures, or just a paragraph of text that is used a lot. The remainder of this introduction gives a few examples to ''show'' what templates do on the page, and in the sections that follow will be found what is needed to modify and make new templates for use in writing Wikibooks. <big>'''In the first example'''</big>, the template '''Caption''' is used. It has two text parameters and no options at all. This is the code to call the template for use; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{caption|This is the first parameter's text: | This is the second parameter's text}}</nowiki>}} The result of doing so is to produce the text: {{result|fs=1em|{{caption|This is the first parameter's text: | This is the second parameter's text}}}} Notice that the template has formatted the text, and that each parameter was handled differently. This template is used to make consistently formatted image captions. The source code for the template ''Caption'' features little more than text formatting. <big>'''In the second example'''</big>, the template '''Drop''' is used. It has one text parameter and several options, none of which are needed here. This is the code to call the template for use; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{drop|N}}</nowiki>otice that the template has inserted...}} The result of doing so can be seen in the paragraph below. {{drop|N}}otice that the template has inserted a drop capital from the single character used as a parameter. This template can be used to start sections within certain body text. Again, the source code for the template ''Drop'' is largely text formatting. <big>'''The third example'''</big> uses template '''Dropimage''' to make a drop-box with an image in it. This template has many options, but only two were needed; the ''width'' option, and the ''align'' option. The other options use the defaults. There are two parameters; the top caption ''Press to View'' and the contents, in this case the Wikitext code for an image. The contents in the example can be viewed by clicking the arrow on the box. This is the code to call the template; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{dropimage|width=150px|align=center|Press to View|[[image:Flower poster.jpg|600px]]<br>A Flower Poster}}</nowiki>}} The result of doing so is: {{dropimage|width=300px|align=center|Press to View|[[image:Flower poster.jpg|600px]]<br>A Flower Poster}} {{-}} The template for this example consists of code to build the box structure, and the image code is strictly its parameter, i.e., the item that it processes. Whereas the ''detailed'' study of this subject is complex, it should become clear that using and making templates like those mentioned above is well within the abilities of most wiki writers. Sadly, it is often the case that a writer sees the advantages of templates only when his work is nearly done, and a bit of effort in recognizing repetitive routine early in the work could save much time. Whenever a routine is repeated often, there is a job for a template. It is true to say that most templates in the wiki family of projects consist of either the formatting of text paragraphs or the making of boxes of some kind. With this in mind the text below explains the process of template-making for text, boxes, and drop-controls. As preparation, those who intend to make box templates of any kind would benefit from an elementary knowledge of tables, and this knowledge is quickly available in the first few sections of the page [[Editing Wikitext/Tables|'''Tables''']], where an introduction to CSS styles is also to be had. ==Finding and Using Templates== There are already several thousands of templates within the WikiBooks templates namespace. That is another way of saying that the templates list is already long. At first sight, this may seem to avoid the need for template-making, but things are not so simple. If the ''name'' of the template is known, then it can be found easily, but if the name is ''not'' known, it can take a long time to find a template similar to the one that you are looking for. Templates have their functions described on their own pages but many do not include notes, so the task of knowing which is which, and what they do even when they are found, becomes doubly difficult. Templates made in ''Wikipedia'' and ''Wikibooks'' are not interchangeable, since they exist on separate servers. Although the code to make them is identical, this description applies to finding things in Wikibooks. *To view lists of templates listed ''alphabetically'' within WikiBooks, follow the link to the [http://en.wikibooks.org/w/index.php?title=Special:AllPages&namespace=10 '''All Templates Namespace''']. *To find templates listed in various template ''categories'', for example, ''drop-control templates'', follow the link to the page [[:Category:Templates]]. *If you ''know'' a template's name, then find the template page by using the search box on any Wiki page. For example, to find ''Dropimage'' just type; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>Template:Dropimage</nowiki>}} then ''enter''. When a template page is found, the code to make the template can be seen by viewing its editing window. Many pages have their documentation on the same page as the template code, isolated from it with <nowiki><noinclude></noinclude></nowiki> tags. If after searching, you still need to make a template, as many no doubt do, then read on. ===Put it on the Page=== ---- Templates are called for use in pages by typing a line of Wikitext, and so the user needs to know the correct spelling of the template's name, options, and parameters. Even when these are known it is all too easy to disrupt a page with a template error, especially during trials, so consider using the [[WB:SB|'''sandbox''']] for testing. Some templates have all of the documentation and details on the same page and this makes them easy to use. See templates [[Template:Plainlist|Plainlist]], and [[Template:Codebits|Codebits]] as examples. To ''call up'' any template for use in a page, '''the code is typed within double curly brackets'''. <nowiki>{{}}</nowiki>. Included within the curly brackets is the template '''name''', then, if required, a sequence of '''options''', followed by a sequence of '''parameters'''. '''All entries are separated by ''pipe'' symbols'''. ('''<nowiki>|</nowiki>'''). For example, the general form to use for a template with two ''options'' and one ''parameter'' is as follows: {{-}} {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{Name|Option1=Value|Option2=value|Parameter1}}</nowiki>}} {{-}} and a typical example of its use is: {{-}} {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{Plainlist|width=250px|background=LightSalmon|The text for the box goes here.}}</nowiki>}} {{-}} The above code has only ''one'' parameter; it is numbered '''1''' by default. Parameters are given numbers or names to identify them in their design code, and examples will be seen in the sections that follow. The template-call in the example uses a so-called ''unnamed'' parameter, because it is not preceded by a term like '''1=''' (numbered parameter), or '''content=''' (typical named parameter). When templates have ''several'' parameters then the parameter numbers or names help to make clear to the template which is which. Alternatively, the template can manage with unnamed and unnumbered parameter entries provided that they are in any case listed in their correct number sequence. When in doubt, use names or numbers. At times, especially when the first character of a parameter is a symbol, the use of named or numbered parameters avoids the corruption that would otherwise result with the unnamed entry. '''The sequence of <u>''options''</u> is ''unimportant''''', since '''all options must be named''' in any case. Using ''named'' values just means adding the name of the option and an equals sign before the option's ''value''. This of course requires a knowledge of the template's details. '''''Template'' names are sensitive to case except for the first letter''', so a useful convention is to use lower case for template name, parameters, and options all of the time; that way you will never be in doubt. '''''Parameter'' names are quite sensitive to case in every way''', so a capital letter makes all the difference. As a general rule, do not mix ''unnamed'' and ''named'' parameters in a template call, since the method used by the program to interpret their meaning becomes confused. Either use ''all unnamed'' with special attention to their sequence, or ''all named'' in any order that you like. ===Find Details from Code=== ---- Let us assume that a template made by others has been found but that its details are unclear. Even without much knowledge of mark-up, it is usually possible to discern the options and parameters of a template by inspection of its coding. To see how this can be done follow the reasoning below. The coding and anything else on a template page can be displayed in the sandbox by typing a special code there. The template does not do anything when this is done; it just reveals the text of the template page. That is, it reveals the coding and any documentation. As an example the template code for say, the template '''Tocbox''', can be viewed in the Sandbox by typing: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{msgnw:tocbox}}</nowiki>}} To save the reader the trouble of doing so here, the template code for '''Tocbox''' is given below. {{-}} '''Code for the Template Tocbox'''<br> <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{| class=toccolours style="margin:1em 0 0 0;width:{{{width|300px}}};" align={{{align|left}}} | align=center style="font-weight:bold;"|{{{Heading|{{{1}}}}}} |- | align=left style="font-weight:normal;"|{{{Content|{{{2}}}}}} |} <noinclude> </nowiki></poem></td> </table> {{-}} The template page itself has a good description for its use, but assume for a moment that the descriptive material was absent. The code at the top of a template page is ''always'' the template source code; consider the example given above. Although it looks complicated, the object here is ''not'' to understand it, but to find the options and parameters from the code itself. Note that the end of the code is marked with a <nowiki><noinclude></nowiki> tag, to make sure that any text that follows it is not used as a part of the template. In this example, there are ''two'' parameters; they can be recognized as the items with the form: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{heading|{{{1}}}}}} and {{{content|{{{2}}}}}}</nowiki>}} These entries identify '''parameters''' ''one'' and ''two'' respectively. It is clear, even without much understanding, that the first parameter is the ''heading'' text and the second parameter is the ''content'' text, and these terms in addition to the numbers could be used as their names . In the event that a user forgets to enter the parameter for say, ''content'', a '''{{{2}}}''' will be displayed on the page as a reminder of what is missing. All of the '''options''' within this template are recognized from the typical form; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{align|left}}}</nowiki>}} This extract states that there is an option called ''align'' that has the default value of ''left''. The idea of this default is that the value '''left''' would be used for ''align'' if the user does not use that option in the template call. The option could have almost ''any'' name; in fact it has been given the same name as the '''HTML attribute''' associated with it, (the part before the equals sign in the main code block). There are several properties within this code but only two of them have been coded as options; ''align'' and ''width'', and both options have similar bracket formats to that of the above example. With the options and parameters now understood, test the template on a page as follows: This is the code: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{tocbox|align=center|width=300px|Heading text|Content paragraphs}}</nowiki>}} The result is: {{tocbox|align=center|width=300px|Heading text|Content paragraphs}} It should by now be clear that despite having no specification for the template in the first instance, it has been possible to obtain information from the coding for its use. ===Modifying a Template=== ---- Assume for a moment that a template has been found that is ''nearly'' right, but not quite. Say for example that the background color was the only part that was wrong. The source code for such a template could be changed, by adding a term to modify its background color. Then, the ''modified'' version could be saved as a new template, with a different name. Note that if the modified template were saved with the ''same'' name as before, the existing users who depended on the original colors would experience unwelcome changes in their work. There is another way that allows the new user to choose colors while the existing users can continue to enjoy the default colors that their work displays. The template can keep the old name if the background property is made into an option, and the original background color made its default. Then, since the old users would not bother to specify the background color, perhaps not even knowing that they now ''could'', they would get the usual color as the default value and would be happy with it. The new users who need a ''different'' color, could simply specify it as an option value when they call the template for use. In this way both parties would be content. The modifying of a template approaches the difficulty of ''making'' a new one at times, and this process is covered in other sections below. For the background-change case, a suitable '''modified Tocbox''' code module would look like this. The code is: <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><center>Code for a Modified Template Tocbox</center><br><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{| class=toccolours style="margin:1em 0 0 0;width:{{{width|300px}}};background:{{{background|#f9f9f9;}}};" align={{{align|left}}} | align=center style="font-weight:bold;"|{{{Heading|{{{1}}}}}} |- | align=left style="font-weight:normal;"|{{{Content|{{{2}}}}}} |} <noinclude> </nowiki></poem></td> </table> {{-}} In the above code the ''background'' property has been made into an option. In addition, the original background color, '''#f9f9f9;''' , (light gray), has been used for the default. To labor the point, if the user does not bother to specify the background color, he will still get the ''gray'' color as before. Note again that the added option need not have been called ''background'' but could, for example, have been called ''bgc'' or some other name. In that event the template's option code would look like '''<nowiki>background:{{{bgc|#f9f9f9;}}}</nowiki>''', and another color would then be called using say, '''<nowiki>bcg=papayawhip</nowiki>''' on the page. The real template '''Tocbox''' has not been modified here, though this example provides a reliable demonstration of the method to use for doing so. After the modification above the template could be called by the new users as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{tocbox|align=center|width=250px|background=papayawhip|Heading|Long text paragraphs}}</nowiki>}} A knowledge of CSS property values allows considerable variation in a template's appearance. Luckily, the subject is well documented. See the external ''W3'' site's '''[http://www.w3schools.com/cssref/index.php CSS Reference List]''' for a comprehensive listing of values and properties. Although the examples on the referenced page are designed for style sheets, the syntax found there is also that used for modifying styles within templates and other in-line styles. In addition, a useful color reference can also be had at [http://en.wikipedia.org/wiki/Web_colors '''Web Colors''']. A drop-box with many of the CSS properties for tables has been provided in the box-making section below. If time is short it could be noted that most of the template work done so far in this project, (WikiBooks that is), could have made do with little more that the CSS properties of text and tables. Study of these two areas is thus rewarding. CSS reference sources are useful, though styles can also be changed with ''HTML attributes'', (the styles like ''align'' with the ''equals'' signs). Such attributes can be seen in HTML reference texts as opposed to CSS texts, and in the aforementioned drop-box below. It may be of interest to know that some HTML attributes are the only ways to accomplish certain tasks; examples include ''colspan'' (to span table columns), ''rowspan'' (to span table rows), and ''align'', (to align tables to center, something that the CSS ''float'' property cannot do). ==Making Templates== There are many template types, but those used for inserting and modifying text are the most numerous. Boxes feature next; whether they are ''information boxes'', so-called ''user boxes'', or simple ''text boxes'', they all have common constructs. Some templates have dynamic functions, like drop-controls, though once their basic outlines are clear, they can be shaped for many purposes. At least one example of each will be considered. Template making consists of writing functional code, Wikitext or HTML, or sometimes a mixture of both. The method is to test the code in the Sandbox, until the function works well. Then the options and the parameters can be assigned to the code. These are tested again, and if all is well, the block of code can be saved as a template. In saving the template it as well to check whether or not there is an existing template of that name already. The simplest way to save a template is as follows. First, make sure that you are logged-on in a page of '''WikiBooks''', to avoid making a template in the wrong project. Go to the ''search'' box at the left of the WikiBooks page, and enter the wording to find the as-yet unmade template. Assume here that the intended name is to be '''Caption'''. The line to type in the search window is just: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>Template:Caption</nowiki>}} If the template is found, then the name is already taken, and another is needed. Assuming that the name is not found, then the search results window will state that it was not found and ask whether or not you want to ''make'' the page. Click the link to make the page. The link opens a template editing page with the name of the template already listed as its address. Copy the code from your work in the sandbox, then paste it into the empty template page. In the line immediately following the last line in the code block, add the tags '''<nowiki><noinclude></noinclude></nowiki>'''. All text not intended to be a part of the template code, must be placed ''between'' these tags, as is the case for the template's description. Finally, save the page by pressing the ''Save page'' button at the bottom of the page. The template is now made, and can be called into use with its given name. Go to the sandbox and test the features of the template. ===Text Paragraphs=== The code for a template need not start with any special character or symbol. The main consideration is that the code performs the required action, just as if it were typed directly onto the page. At the 'end of the code block, be sure to add the '''<nowiki><noinclude></noinclude></nowiki>''' tags as mentioned above. All of the existing Wikitext and HTML code that can be used in a page can be used for a text template. The user of a page does not have access to the parts associated with styles, namely the heading of the web page and their style sheets. As a result, users are limited to modifying the parts of the page that ''are'' available, the text within the body of the page. Those familiar with web page design will know that the only remaining available method is to modify the page's text with '''in-line styles'''. Working methods use the '''<nowiki><div></div></nowiki>''' tags and the '''<nowiki><span></span></nowiki>''' tags, thanks to a feature of Wikitext that allows the use of HTML coding within it. CSS, (Cascading Style Sheet), properties and values are used within these tags to modify the text styles that would otherwise apply. It is as well to point out here the difference in use for '''<nowiki>span</nowiki>''' and '''<nowiki>div</nowiki>''' in text templates. '''<nowiki>Span</nowiki>''' should be used to format text only, noting that any formats applied to the text will not extend beyond the last text character; '''<nowiki>div</nowiki>''', on the other hand, will apply its formats to a rectangular block of text that extends across the page. the significance of this is that '''<nowiki>div</nowiki>''' is neater for changing background colors on the page. A comparative example can be seen in the ''Classes and Styles in Tags'' section of [[Editing Wikitext/Class and Style Notes|'''Class and Style Notes''']]. ====The Simplest Case==== Before doing any formatting, consider the method for making a template from a simple block of text. Type a block of text, with all of its formats and page layout in place, then save the block as a template. It is as simple as that. Such blocks of text find use for test text, such as [[Template:Lorem ipsum|'''Lorem Ipsum''']], a well-known text block of fictitious content used by printers and others in laying out their work. To use such a template just type: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{lorem ipsum}}</nowiki>}} at any convenient place on a page to produce the text block. This block of text is not pre formatted with hard breaks, so it will ''wrap'' within the space where it is typed, and with the ''default'' text styles of the page. ====Adding Styles==== To ''modify'' text styles, for example, for the text '''This is the text''', we first place the text within <syntaxhighlight lang="html" inline><span></span></syntaxhighlight> tags, like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="html" inline><span>This is the text</span></syntaxhighlight>}} Then we construct a style statement ''within'' the first tag. This example makes the font ''Garamond'', 20 points, colored red. It looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="html" inline><span style="font-family:Garamond;font-size:20pt;color:red">This is the text</span></syntaxhighlight>}} and the result will be: <center><span style="font-family:Garamond;font-size:20pt;color:red">This is the text</span></center> {{-}} Notice that there is still a closing arrow for the first tag; it is located at the end of the style statement. Notice also that there are three style rules in the statement, separated by semi-colons; these are ''font-family:Garamond'' to set the ''face'' of the font, ''font-size:20pt'' to set the ''size'' of the font, and ''color:red'' to set the ''color'' of the text. The style statement starts with the term ''style='', and the right hand side of the statement is entirely within double quotes. The individual style rules consist of a ''property''; the left part, and a ''value''; the right part. The two parts are ''separated'' by a full colon. The format of a style statement is strict. If the format has an error within it then the whole statement could fail. Note that Wikitext ''could'' have been used on the text itself; for example, to produce italics, (double quotes), or text that is bold, (triple quotes). Wikitext acts in ''addition'' to the CSS styles, provided that there are no obvious conflicts. Several spans and style statements can be applied to produce quite complex results. These tag sets can be ''nested''; that is, one set of tags within another set. Beware of nested '''span''' tags, since there can be unexpected results. Say that an overall style is applied to several paragraphs using span tags. Within these paragraphs ''another'' span set is used to format one of the paragraphs differently. When this is viewed, at the point where the ''inside'' span closes, the styles will have reverted to the body text styles described by the style sheet, and not the intended outside style definition. This is perhaps because the first closing tag was wrongly interpreted as the end tag. The problem is '''avoided by using div tags for both''', or at most by '''using span tags for only one of the formats'''. Many properties exist to modify text. They consist of all of the text styles found in style sheets, namely those for fonts, padding, alignment, margins, borders, text colors, and backgrounds. '''[http://www.w3schools.com/cssref/index.php CSS property lists]''' and other material on [[CSS Programming/Fonts and Text|'''Fonts and Text''']] provide the source material for all such work. Although CSS properties and examples are listed primarily for style sheets, the properties and values ''themselves'' can be used on the page and in templates. The Study Work drop-box contains a useful code module for studying text properties. It contains most of the useful text entries and can be copied for study into the [http://en.wikibooks.org/w/index.php?title=Wikibooks:Sandbox&action=edit '''sandbox''']. {{-}} {{dropimage|align=center|cbgc=lightyellow|hbgc=lightyellow|Study Work|'''This module contains most of the useful text properties. Copy it into the sandbox to experiment with text property values.'''<br><syntaxhighlight lang="html"><div style="font-family:lucida handwriting;font-weight:bold;font-style:italic;font-size:12pt;color:blue;background:papayawhip;word-spacing:0pt;letter-spacing:0pt;line-height:1.8em;border:1px solid red;margin:10pt 100pt 10pt 50pt;padding:10pt 20pt 15pt 20pt;text-align:justify;"><center>Text Property Notes</center> Both PADDING and MARGIN style-rule values use the sequence TOP, RIGHT, BOTTOM, then LEFT, i.e. clockwise starting at the top. BORDER uses the sequence BORDER-WIDTH, BORDER-STYLE, then BORDER-COLOR for all of the four borders at once. Other properties can address the four separately. PADDING is the space around the text. MARGIN is the space around the text block. BORDER is the line that surrounds the text and its padding. The code block contains the common text properties. Experiment with the settings. </div></syntaxhighlight>}} {{-}} {{dropimage|hbgc=lightyellow|align=center|Color Values for Study Work|[[image:pastelsRGB.jpg|911px]]<br><br>Color values for CSS properties taking a form such as : Background:RGB(255,202,149)}} {{-}} ====Parameters==== Now, continue to make use of the ''red-text'' example. Although the code could be saved as a template just as it is, it would not be very useful since it consists only of fixed text. To introduce the notion of ''variable text chosen by the user'', we need to make the text position in the code into a ''parameter''. Assuming that the basic code works correctly, the ''parameter'' brackets can be added. In the above text example there is only ''one'' parameter, the content to be formatted. Starting with the code above, just replace the text part so that the code line now looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki><span style="font-family:Garamond;font-size:20pt;color:red">{{{content|{{{1}}}}}}</span></nowiki>}} Notice that the original text has now been replaced with: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{content|{{{1}}}}}}</nowiki>}} The ''digit'' identifies the parameter as number one. It is also the ''name'' of the parameter. The word ''content'' is just a convenient label, though either the number or the label can be used for ''named parameters''. If the user forgets to write any text in a parameter position, then the number of the parameter will appear on the page to remind of it. If the template had ''more'' than one parameter, a similar process could be applied, with a sequence of digits 2,3,4 etc., and adding a suitable label in place of ''content'' for each. Saving it in the usual way completes such a template. Assuming that the template were to be saved with the name ''BigText'' then the entry to call it for use would be just: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{BigText|1=This is the text to format}}</nowiki>}} Note that when a template has ''several'' parameters, the ones used can either be entered as ''named parameters'', using the number or label with an equals sign, or as ''unnamed parameters'', by omitting the added names and just entering the text directly. The parameters should be ''all unnamed'' or ''all named'' but not a mixture of the two. If they are ''unnamed'', the correct sequence must be maintained, and if they are ''named'', then ''any'' sequence can be used. Number names and label names ''can'' be mixed without difficulty in a template call. Although virtually ''any'' tags can be modified by adding a style statement to the leading tag, it is not to say that the work can always be made into a template. There is at least one exception that exists when it comes to making such a template. The '''&lt;pre&gt;&lt;/pre&gt;''' tags by their very definition cause a template's parameter code to be disregarded, and a different approach is needed. Instead of attempting to make a modified pre-formatted text template consider the use of [[Template:Prettypre|Prettypre]] for a ready-made fancy version of these tags. That is to say, it is possible to modify the '''&lt;pre&gt;&lt;/pre&gt;''' tags with inline styles, to make more interesting pre-formatted text, and it is possible to add the tags to text used as a template's parameter, but making a template from text ''bounded'' by pre-formatting tags will prove more difficult. ====Options==== For completeness, we can also add ''options'' to our basic ''red-text'' template example. Say we want to change the color of the text from time to time in our work. We could make another complete template for the new color or we could just add an option to the text coloring code. The new code looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki><span style="font-family:Garamond;font-size:20pt;color:{{{tint|red}}}">{{{content|{{{1}}}}}}</span></nowiki>}} Note that the entire property value (applies also to an attribute value), must be enclosed in triple curly brackets. Additionally, the value should be replaced with an ''option name / default value'' combination. In this case, if the user does not specify the color of text, it will be ''red'' in any case. If it is specified, (see the example below), it can be changed to any color using the option ''tint='' within the template call. Assuming that this template's name were ''BigText'' the template call for purple text would be, say: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{BigText|tint=purple|1=My purple text goes here}}</nowiki>}} Other options could be made in the same way, and similar techniques could be used regardless of the tags used for the template. A knowledge of the different tags and access to lists of CSS properties allows considerable scope in template design. ===Making Boxes=== ---- The following sections ''make'' box or table templates from Wikitext. They can also be made with HTML tables in the same way. When it comes to ''making'' such a template, wikitext is fine but when a table is needed to go ''into'' a template as its parameter, or part of its parameter, an HTML table should be used instead. The WikiBooks text [[../Tables|'''Making Tables''']] touches on HTML table structures, and explains how to use styles. It is assumed that the reader is familiar with these concepts in the text that follows. ====The Box Structure==== Boxes are essentially ''tables'', in fact table cells. The CSS property list to format tables is extensive. Simple boxes make use of the table ''container'', and one or two ''cells'' within it. Apart from the table container, the other structures of a table include its ''rows'', and ''cells''. In the case below there are two rows, each with only one cell in them. Each part of a table has properties that affect it, and an example of typical table coding can be seen in the listing below. <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <tr><td align="left"></td></tr><td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{|style="background:lightyellow;width:150px;margin:none;border:1px solid lightgrey" align=left |- | style= " text-align: center; padding: 5px 0 0 0"|'''Heading''' |- style="text-align:justify;" | style="padding:0px 10px 10px 10px;"|Content. |} </nowiki></poem></td> </table> {{-}} Running this code in the sandbox produces the following: {{-}} {| style="background:lightyellow;width:150px;margin:none;border:1px solid lightgrey" align=left |- | style= "text-align: center; padding: 5px 0 0 0"|'''Heading''' |- style= "text-align:justify;" | style= "padding:0px 10px 10px 10px;"|Content. |} {{-}} If necessary, refer to the WikiBooks text [[../Tables|'''Making Tables''']] or the Wikipedia text [http://en.wikipedia.org/wiki/Help:Table '''Help-Table'''] for detailed advice on making tables. Refer also to the drop-down box below for a listing of the commonly used table properties and their meanings. {{tablestyles}} {{-}} For now, it will suffice to note only that: *A table is enclosed in these symbols: '''<nowiki>{| |}</nowiki>''' *A caption placed above the table starts with a '''<nowiki>|+</nowiki>'''. *A heading cell within the table starts with a '''<nowiki>!</nowiki>''' *A new row is created with the symbols: '''<nowiki>|-</nowiki>''' *A data cell within a row is created with the symbol: '''<nowiki>|</nowiki>''' *Style statements can exist at the table, row, or cell levels. *An additional pipe symbol separates a cell's styles from its text.''' <nowiki>|</nowiki>''' *Starting tables, rows and cells on new lines avoids many problems in templates. Follow the reasoning in this description from the code. The table container has ''background'', ''width'', ''margin'', and ''border'' properties, and the ''align'' attribute assigned. *''Background'';sets the background color for the whole table. *''Width''; sets the overall width of the table. *''Margin''; removes margins of the table. *''Border'': Sets the thickness, type, and color of the table border, all in one. *''Align'': Permits the box to be placed on the page at ''left'', ''right'', or ''center''. The cell in the first row has ''text-align'',''padding'', and a form of heading text. *''Text-align'';positions the cell text horizontally at the center. *''Padding''; sets the padding within the first cell for the box heading text. *''The Heading Text''; is made bold with Wiki mark-up. The next row has ''text-align''. This property applies style to all of the cells in the row at once, though not all properties can do this. *''Text-align'';justifies text in the bottom cell - the main content. The ''content'' cell has ''padding'', and the content text. *''Padding'';sets the spacing around the content text. *''The content text''; is the main text for the box template. Other properties could be specified for this text box, for example, for the details of the fonts to use, but there is enough here for this example. ====Parameters and Options==== It is intended to provide three ''options'' along with the two ''parameters''. The options are to be ''background'',''width'', and ''align''. The parameter ''names'' are to be ''1'' and ''2'', with the labels ''heading'' and ''content''. The options and parameters have been added to the code below: <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <tr><td align="left"></td></tr><td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{|style="background:{{{background|lightyellow}}};width:{{{width|150px}}};margin:none;border:1px solid lightgrey" align={{{align|left}}} | style= " text-align: center; padding: 5px 0 0 0"|'''{{{Heading|{{{1}}}}}}''' |- style="text-align:justify;" | style="padding:0px 10px 10px 10px;"|{{{Content|{{{2}}}}}} |}</nowiki></poem></td> </table> {{-}} '''Parameters''' have been made in place of the ''heading'' and ''content'' text. The formats for parameters one and two are: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{heading|{{{1}}}}}} and {{{content|{{{2}}}}}}</nowiki>}} {{-}} Each parameter format consists of a parameter ''label'',( ''heading'' or ''content''), a ''pipe'', symbol,'''<nowiki>|</nowiki>''', and the true ''name'' of the parameter, (''1'' or ''2''). In each case, both the parameter name ''and'' the entire parameter expression are enclosed in triple curly brackets. '''<nowiki>{{{}}}</nowiki>'''. '''Options''' have been made for the properties ''background'', ''width'', and ''align''. The formats are : {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>background:{{{background|lightyellow}}} width:{{{width|150px}}} and align={{{align|left}}}</nowiki>}} {{-}} Notice that the format of the bracketing is similar to the examples given in the making of text templates, and that the same strict format is used to identify the options and parameters. '''A parameter can use the ''option'' format too'''. When a parameter does so, it must use the ''named'' parameter style in the template call. The advantage of such a parameter is that it can have ''any'' default value, including an image. The disadvantage of using the ''option'' format for a ''parameter'' is that the highly conspicuous numbered reminder is lost. You will recall that the more formal parameter style gives a parameter number as the default. The template can be saved in the usual way. Assuming that the template were saved with the name ''Textbox'', then it could be called for use by typing the following: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{textbox|background=lightgrey|width=325px|align=center|Heading text here|Content text here}}</nowiki>}} The variations in boxes are considerable. By adjusting the table structure, it is possible to add images and other effects. Most of the information boxes within Wikipedia and WikiBooks have a table basis for their construction. ===Making Drop Controls=== ---- Drop-boxes save space on the page and can be used for both text and for images. Within Wikibooks these boxes are dynamic, and clicking the link on the heading of such a box drops it box to show the entire contents section. Clicking the link again restores it to its closed state. Drop-boxes can be created in two ways. In the past, the way to make them was to use the classes ''NavFrame'', ''NavHead'', and ''NavContent''. These days, the ''collapsible'' class can be used for both tables and div boxes, and its simplicity has made it a clear choice. The first section describes briefly the layout for collapsible divs. The remainder of the section is devoted to the version based on the collapsible table; this method is the basis of the ''ready-made'' drop-control template [[Template:Dropimage|'''Dropimage''']]. A ready-made template exists for a quite adaptable drop-box; it is [[Template:Dropimage|'''Dropimage''']], though for those who want the details, they are to be had at [[Editing Wikitext/Tables#Sorting and Hiding|'''Sorting and Hiding''']]. ====Collapsible Boxes==== The basic code for drop-boxes is just: <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><div class="collapsible"> <div class="title">Title</div> <div class="body"> Hideable content </div> </div></syntaxhighlight> The above code produces a drop-box that is extended across the whole width of the page. ''collapsible'' contains the other two sections, ''title'' refers to the panel with the link, and ''body'' refers to the text box within the drop box itself. By default, the contents are hidden when the page is loaded; that is to say, the box is closed when the page first opens. To have the contents shown by default, the user adds "selected" to the class declaration. CSS styles could also be added as shown below and the option-brackets and parameter-brackets for template-making have been shown, as was explained in the previous section: <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><div class="collapsible selected" style="color:{{{color|darkgray}}}; width:{{{width|300px}}}; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> <div class="title" style="font-weight:{{{bold|bold}}};">{{{Heading|{{{1}}}}}}</div> <div class="body" style="background-color:{{{background|lightyellow}}};color:{{{color2|black}}}"> {{{Content|{{{2}}}}}} </div> </div></syntaxhighlight> Changes in layout is obtained by changing styles in any of the sections, but the preferred method, using collapsible tables, is described in the next section. ====Collapsible Tables==== (currently being rewritten to update for collapsible tables) The panel below shows the HTML and Wikitext code versions of a fairly basic drop-box based on the ''collapsible'' box class. The two versions are equivalent, though users who intend to make a template should use the HTML version, since it can have a table as its content without any instability. Nesting tables in Wikitext is problematic. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''HTML Collapsible Table Cell''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <table class="collapsible" style="border:1px solid black; width:300px;" cellpadding="5px"> <tr> <th style="text-align:center;">Any Heading</th> </tr> <tr> <td>Content cell text, images or HTML tables</td> </tr> </table> </syntaxhighlight> '''WIKITEXT''' Collapsible Table Cell <poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki> {| class="collapsible" style="border:1px solid black; width:300px;" cellpadding="5px" |- ! style="text-align:center;" | Any Heading |- | Content cell text or images only |} </nowiki></poem> }} If, instead of the ''collapsed'' state, the ''selected'' state is needed on opening the page, then just add the class ''selected'' as in the line ''class="collapsible selected" ''. The default state is ''collapsed'' which need not be added. The ''width'' style in the table line sets the ''initial'' width of the table on the page, and with the exception of un-formatted text, the table will expand on opening to accommodate the contents. The ''float'' and ''align'' attributes should be avoided for tables because browsers may not support table alignment. Tables can be aligned in a way compatible with most browsers by setting the initial width of the table to 100%, and by wrapping the table inside a div box with its width set to the desired width. For left and right alignment use float on the div box. For center alignment use a margin of auto on the div. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''HTML Collapsible Table Cell''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <div style="width:300x; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> <table class="collapsible" style="border:1px solid black; width:100%;" cellpadding="5px"> <tr> <th style="text-align:center;">Any Heading</th> </tr> <tr> <td>Content cell text, images or HTML tables</td> </tr> </table> </div> </syntaxhighlight> '''WIKITEXT''' Collapsible Table Cell <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <div style="width:300x; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> {| class="collapsible" style="border:1px solid black; width:100%;" cellpadding="5px" |- ! style="text-align:center;" | Any Heading |- | Content cell text or images only |} </div> </syntaxhighlight> }} ====Parameters and Options==== The parameter and option brackets are shown in the panel below for an HTML version of the drop-box template, and it will be noted that the method is similar to that used for simple tables in an earlier section. It may be of interest to note that the outermost table is there simply to allow centering of the entire structure, since the ''collapsible'' class does not support it. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''A Basic Drop-Box Template Coding''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <table style="border:none; align={{{alignT|left}}}"> <tr><td> <table class="collapsible" style="border:{{{border|1px solid black}}}; width:{{{width|300px}}}; background:{{{backgroundT|transparent}}};" cellpadding="{{{padding|5px}}}"> <tr> <th style="background:{{{backgroundH|transparent}}};text-align:center;">{{{heading|{{{1}}}}}}</th> </tr> <tr> <td style="text-align:{{{alignC|left}}};"> {{{content|{{{2}}}}}}</td> </tr> </table> </td></tr> </table> <noinclude> All other template page material goes between these tags. </noinclude> </syntaxhighlight> }} {{clear}} The above HTML block of code has been saved as the template ''dropthing'', [[Template:Dropthing|'''Dropthing''']], and it can be called for use on a page by typing something along the lines of the following: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="moin">{{dropthing|backgroundT=mistyrose| alignT=center|width=400px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</syntaxhighlight>}} The drop-box that is produced with this template call is this: {{dropthing|backgroundT=mistyrose|alignT=center|width=400px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }} {{-}} A more complex ready-made template called [[Template:dropimage|'''Dropimage''']] exists for those who need it. It has a large set of individual options, and the facility to add more properties and classes, the coding for which is described next. ===Advanced Options=== Although the user is always limited by the original template's design, he has some latitude afforded by the pre-planned options. There is a way, however, that allows the user to add classes and CSS properties not considered in the original design. For this method to work the designer of the template must anticipate the possible future need for such a change, and add a few extra keystrokes. It is explained below. Perhaps surprisingly, both '''class''' and '''style''' declarations are themselves HTML ''attributes'', in the same way as ''align'', ''cellpadding'', and others. As such, these terms can be specified in the same way as other options, with default values of classes and styles. The user can then specify the list of styles or classes that he wants the template to use, or by doing nothing of the kind, the default values of each would apply. Clearly, if the usual values of an existing template were made to be such defaults, it would allow changes without affecting the original users. The example below allows the class ''selected'' to be used for a template whose original author uses only the class called ''collapsible''. ====Add Classes==== To allow user-changes to the classes for the above drop-table template, the class declaration (expression) line needs to modified as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>class="{{{class|collapsible}}}"</nowiki>}} This has the effect of making a new option ''named'' as '''class''' that has a default value of ''collapsible''; that is, if no '''class''' option is written by the user the default will apply. Now, having modified the class-declaration, the user could add the class ''selected'' or any other suitable class with which he is familiar, (while others still make normal use of the template), as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{dropthing|backgroundT=mistyrose|class=collapsible selected| alignT=center|width=200px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</nowiki>}} The box produced in this way is just: {{dropthing|backgroundT=mistyrose|class=collapsible selected|alignT=center|width=200px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }} The template, for this box only, will be displayed in its open state, since the class ''selected'' has been added as an option. Notice that the intended classes ''all'' need to be declared, and that the quotes were not needed. This entry entirely replaces the default class declaration. Similarly, other classes could be used, though the set of classes available for the automatic formatting of tables could do with some extension. ====More Style Options==== To modify the template to add user-written style expressions, the template's existing style expression in the table line would be replaced as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|<syntaxhighlight lang="text">style="{{{mystyleT|border:{{{border|1px solid black}}}; width:{{{width|300px}}}; background:{{{backgroundT|transparent}}} }}}"</syntaxhighlight> }} Notice that the entire CSS style expression, (but not the attributes that followed it)), are now the default value of the ''mystyleT option''. When this option is used in a template call the quotes for the value expression should not be used. The typical template call, introducing new properties might then become: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|<syntaxhighlight lang="moin">{{dropthing|myclass=collapsible| alignT=center|mystyleT=border:3px solid brown; width:300px; background:mistyrose;color:darkgreen; font-weight:bold|Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</syntaxhighlight>}} and the result of making this template call is just: {{dropthing|myclass=collapsible|alignT=center|mystyleT=border:3px solid brown; width:300px; background:mistyrose;color:darkgreen; font-weight:bold;|Press to View|[[image:Cerasus blossom.jpg|thumb|400px|center|''Hawthorn in bloom''.]]<br>Other text could go here... }} {{-}} Notice that the intended new style statement must be rewritten in its entirety, and that now a new CSS property (color of text), not included in the original design, has been added within the option statement. If the mystyleT option were not used, the individual options could still be used. If ''both'' the expression and the individual values are changed, it would be as well to study the possibility that one will override the other. The template [[Template:Dropimage|'''Dropimage''']] has been modified to include user modification of class and style. ===Endpiece=== The three example types given in the above sections will hopefully introduce the reader to the making of templates. Bear in mind that there are many aspects of templates not discussed here; for example, the notions of conditional behavior, loops, and defaults that themselves run as templates. Further reading about templates can be found in the links below. Above all, learn how to use CSS styles in making your templates, and experiment with their effects. ==See also== *[[WB:SB|Sandbox]]: The Wikibooks editing and test window *[[Help:Templates]]: Wikibooks main templates article *[[../Tables|Making Tables]]: Wikitext methods for tables *[[Help:Tables]]: Wikibooks main tables article *[http://en.wikibooks.org/w/index.php?title=Special:AllPages&namespace=10 All Templates Namespace] : Wikibooks templates alphabetical list *[[:Category:Templates|Templates Category]]: Wikibooks templates listed by category *[[CSS Programming]]: Helpful for CSS context *[http://www.w3schools.com/css/css_reference.asp CSS Reference List]: An external CSS Properties Reference *[[w:Web colors|Web Colors]]: A Wikipedia article on web colors *[[Template:Dropimage]]: A multi-optioned drop-box template *[[Template:Thetop]]: The most useful of the top section templates, for ''filling the space''. *[[Template:Lorem ipsum]]: Test paragraph template *[[../Class and Style Notes|Class and Style Notes]]: About Wikitext classes and styles, as opposed to style sheets *[[w:Wikipedia:Anatomy of a template|Anatomy of a Template]]: Wikipedia text with notes on templates as defaults, and conditionals. <!--</div>--> </div> {{ewlinks}} fhqhq4yxolmlbf859otjw18bxk2ybvw 4635323 4635297 2026-05-11T18:17:16Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by AbeautyfulMess06 4365086 wikitext text/x-wiki {{Editing_Wikitext|bd=linen}} <div style="background:oldlace;padding:10px;border:1px solid lightgrey;"> <!--<div style="line-spacing:1.25em;text-align:justify">--> {| style="margin:0 2em 1em 1em; background:transparent;float:right;" border=0 |- style="vertical-align:top;" | style="text-align:center; width:300px;" |__TOC__ |- |} <big style="font-size:150%;">Introduction</big> <hr /> This book chapter should be viewed as an introductory text on the making of Wiki templates, and an overview of what templates ''do'' is provided in this first section. First lets get some basic terminology: *'''''TEMPLATES are just blocks of saved text that have been given names'''''. Some are ordinary text paragraphs and some contain wikitext to make headings, indents, tables, and the like. In a simple case, by typing a template's name in the work, an entire block of text is added to the page with all of its formats and other parts, just as if it had been typed by the user. This behavior can be repeated at any point that the user wants, and almost any work that is found on a wiki page could be placed within a template to do this. The main effort as you might suppose, lies in its initial design. *'''''NAMES of templates are assigned when they are first saved'''''. The '''name''' must be unique, and it is used when a template is ''called'' for use. Sometimes other text is also used along with the name; it can include any '''options''' and '''parameters'''. *'''''OPTIONS allow the user to vary the template's usual behavior.'''''. The usual behavior suits most situations but the designer builds-in ways of changing things just in case. Option values are usually limited to a short list so these are described in a template's documentation. For example, option values for an option called ''align'' might include only ''left'', ''right'', or ''center'', and no others. Templates do not ''always'' need options, since their default behavior is often enough. *'''''DEFAULTS are the values used by a template when the user did not say'''''. Default values are specified in design, and they could apply to formats or to user text inputs. For example, in the alignment example above, if the ''align'' option was not used, the template could use ''left'', provided that ''left'' had been specified in design as its default. In the same way if the user forgets to type a text input, the template could use a pre-planned ''default'' input instead of the missing parameter; sometimes just a code to say something was forgotten. *'''''PARAMETERS are usually bits of text that a user enters for a template to process'''''. For example, if a template makes text red, it still needs to know the text to color; this text is called a ''parameter'', and the text is included by the user when the template is ''called'' for use. Sometimes parameters contain text like code to insert an image, or even a gallery or a table; it just depends what the template is designed for. A template can even be the parameter of ''another'' template; for example, a template to insert a test paragraph might occupy the parameter space of a template to make a text box. The new paragraph would then appear in a new text box. *'''''MORE GENERALLY,''''' templates let us do much of the preparation in advance of making a page, and let us insert a block of typing, be it code to make tables, boxes, and other structures, or just a paragraph of text that is used a lot. The remainder of this introduction gives a few examples to ''show'' what templates do on the page, and in the sections that follow will be found what is needed to modify and make new templates for use in writing Wikibooks. <big>'''In the first example'''</big>, the template '''Caption''' is used. It has two text parameters and no options at all. This is the code to call the template for use; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{caption|This is the first parameter's text: | This is the second parameter's text}}</nowiki>}} The result of doing so is to produce the text: {{result|fs=1em|{{caption|This is the first parameter's text: | This is the second parameter's text}}}} Notice that the template has formatted the text, and that each parameter was handled differently. This template is used to make consistently formatted image captions. The source code for the template ''Caption'' features little more than text formatting. <big>'''In the second example'''</big>, the template '''Drop''' is used. It has one text parameter and several options, none of which are needed here. This is the code to call the template for use; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{drop|N}}</nowiki>otice that the template has inserted...}} The result of doing so can be seen in the paragraph below. {{drop|N}}otice that the template has inserted a drop capital from the single character used as a parameter. This template can be used to start sections within certain body text. Again, the source code for the template ''Drop'' is largely text formatting. <big>'''The third example'''</big> uses template '''Dropimage''' to make a drop-box with an image in it. This template has many options, but only two were needed; the ''width'' option, and the ''align'' option. The other options use the defaults. There are two parameters; the top caption ''Press to View'' and the contents, in this case the Wikitext code for an image. The contents in the example can be viewed by clicking the arrow on the box. This is the code to call the template; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{dropimage|width=150px|align=center|Press to View|[[image:Flower poster.jpg|600px]]<br>A Flower Poster}}</nowiki>}} The result of doing so is: {{dropimage|width=300px|align=center|Press to View|[[image:Flower poster.jpg|600px]]<br>A Flower Poster}} {{-}} The template for this example consists of code to build the box structure, and the image code is strictly its parameter, i.e., the item that it processes. Whereas the ''detailed'' study of this subject is complex, it should become clear that using and making templates like those mentioned above is well within the abilities of most wiki writers. Sadly, it is often the case that a writer sees the advantages of templates only when his work is nearly done, and a bit of effort in recognizing repetitive routine early in the work could save much time. Whenever a routine is repeated often, there is a job for a template. It is true to say that most templates in the wiki family of projects consist of either the formatting of text paragraphs or the making of boxes of some kind. With this in mind the text below explains the process of template-making for text, boxes, and drop-controls. As preparation, those who intend to make box templates of any kind would benefit from an elementary knowledge of tables, and this knowledge is quickly available in the first few sections of the page [[Editing Wikitext/Tables|'''Tables''']], where an introduction to CSS styles is also to be had. ==Finding and Using Templates== There are already several thousands of templates within the WikiBooks templates namespace. That is another way of saying that the templates list is already long. At first sight, this may seem to avoid the need for template-making, but things are not so simple. If the ''name'' of the template is known, then it can be found easily, but if the name is ''not'' known, it can take a long time to find a template similar to the one that you are looking for. Templates have their functions described on their own pages but many do not include notes, so the task of knowing which is which, and what they do even when they are found, becomes doubly difficult. Templates made in ''Wikipedia'' and ''Wikibooks'' are not interchangeable, since they exist on separate servers. Although the code to make them is identical, this description applies to finding things in Wikibooks. *To view lists of templates listed ''alphabetically'' within WikiBooks, follow the link to the [http://en.wikibooks.org/w/index.php?title=Special:AllPages&namespace=10 '''All Templates Namespace''']. *To find templates listed in various template ''categories'', for example, ''drop-control templates'', follow the link to the page [[:Category:Templates]]. *If you ''know'' a template's name, then find the template page by using the search box on any Wiki page. For example, to find ''Dropimage'' just type; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>Template:Dropimage</nowiki>}} then ''enter''. When a template page is found, the code to make the template can be seen by viewing its editing window. Many pages have their documentation on the same page as the template code, isolated from it with <nowiki><noinclude></noinclude></nowiki> tags. If after searching, you still need to make a template, as many no doubt do, then read on. ===Put it on the Page=== ---- Templates are called for use in pages by typing a line of Wikitext, and so the user needs to know the correct spelling of the template's name, options, and parameters. Even when these are known it is all too easy to disrupt a page with a template error, especially during trials, so consider using the [[WB:SB|'''sandbox''']] for testing. Some templates have all of the documentation and details on the same page and this makes them easy to use. See templates [[Template:Plainlist|Plainlist]], and [[Template:Codebits|Codebits]] as examples. To ''call up'' any template for use in a page, '''the code is typed within double curly brackets'''. <nowiki>{{}}</nowiki>. Included within the curly brackets is the template '''name''', then, if required, a sequence of '''options''', followed by a sequence of '''parameters'''. '''All entries are separated by ''pipe'' symbols'''. ('''<nowiki>|</nowiki>'''). For example, the general form to use for a template with two ''options'' and one ''parameter'' is as follows: {{-}} {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{Name|Option1=Value|Option2=value|Parameter1}}</nowiki>}} {{-}} and a typical example of its use is: {{-}} {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{Plainlist|width=250px|background=LightSalmon|The text for the box goes here.}}</nowiki>}} {{-}} The above code has only ''one'' parameter; it is numbered '''1''' by default. Parameters are given numbers or names to identify them in their design code, and examples will be seen in the sections that follow. The template-call in the example uses a so-called ''unnamed'' parameter, because it is not preceded by a term like '''1=''' (numbered parameter), or '''content=''' (typical named parameter). When templates have ''several'' parameters then the parameter numbers or names help to make clear to the template which is which. Alternatively, the template can manage with unnamed and unnumbered parameter entries provided that they are in any case listed in their correct number sequence. When in doubt, use names or numbers. At times, especially when the first character of a parameter is a symbol, the use of named or numbered parameters avoids the corruption that would otherwise result with the unnamed entry. '''The sequence of <u>''options''</u> is ''unimportant''''', since '''all options must be named''' in any case. Using ''named'' values just means adding the name of the option and an equals sign before the option's ''value''. This of course requires a knowledge of the template's details. '''''Template'' names are sensitive to case except for the first letter''', so a useful convention is to use lower case for template name, parameters, and options all of the time; that way you will never be in doubt. '''''Parameter'' names are quite sensitive to case in every way''', so a capital letter makes all the difference. As a general rule, do not mix ''unnamed'' and ''named'' parameters in a template call, since the method used by the program to interpret their meaning becomes confused. Either use ''all unnamed'' with special attention to their sequence, or ''all named'' in any order that you like. ===Find Details from Code=== ---- Let us assume that a template made by others has been found but that its details are unclear. Even without much knowledge of mark-up, it is usually possible to discern the options and parameters of a template by inspection of its coding. To see how this can be done follow the reasoning below. The coding and anything else on a template page can be displayed in the sandbox by typing a special code there. The template does not do anything when this is done; it just reveals the text of the template page. That is, it reveals the coding and any documentation. As an example the template code for say, the template '''Tocbox''', can be viewed in the Sandbox by typing: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{msgnw:tocbox}}</nowiki>}} To save the reader the trouble of doing so here, the template code for '''Tocbox''' is given below. {{-}} '''Code for the Template Tocbox'''<br> <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{| class=toccolours style="margin:1em 0 0 0;width:{{{width|300px}}};" align={{{align|left}}} | align=center style="font-weight:bold;"|{{{Heading|{{{1}}}}}} |- | align=left style="font-weight:normal;"|{{{Content|{{{2}}}}}} |} <noinclude> </nowiki></poem></td> </table> {{-}} The template page itself has a good description for its use, but assume for a moment that the descriptive material was absent. The code at the top of a template page is ''always'' the template source code; consider the example given above. Although it looks complicated, the object here is ''not'' to understand it, but to find the options and parameters from the code itself. Note that the end of the code is marked with a <nowiki><noinclude></nowiki> tag, to make sure that any text that follows it is not used as a part of the template. In this example, there are ''two'' parameters; they can be recognized as the items with the form: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{heading|{{{1}}}}}} and {{{content|{{{2}}}}}}</nowiki>}} These entries identify '''parameters''' ''one'' and ''two'' respectively. It is clear, even without much understanding, that the first parameter is the ''heading'' text and the second parameter is the ''content'' text, and these terms in addition to the numbers could be used as their names . In the event that a user forgets to enter the parameter for say, ''content'', a '''{{{2}}}''' will be displayed on the page as a reminder of what is missing. All of the '''options''' within this template are recognized from the typical form; {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{align|left}}}</nowiki>}} This extract states that there is an option called ''align'' that has the default value of ''left''. The idea of this default is that the value '''left''' would be used for ''align'' if the user does not use that option in the template call. The option could have almost ''any'' name; in fact it has been given the same name as the '''HTML attribute''' associated with it, (the part before the equals sign in the main code block). There are several properties within this code but only two of them have been coded as options; ''align'' and ''width'', and both options have similar bracket formats to that of the above example. With the options and parameters now understood, test the template on a page as follows: This is the code: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{tocbox|align=center|width=300px|Heading text|Content paragraphs}}</nowiki>}} The result is: {{tocbox|align=center|width=300px|Heading text|Content paragraphs}} It should by now be clear that despite having no specification for the template in the first instance, it has been possible to obtain information from the coding for its use. ===Modifying a Template=== ---- Assume for a moment that a template has been found that is ''nearly'' right, but not quite. Say for example that the background color was the only part that was wrong. The source code for such a template could be changed, by adding a term to modify its background color. Then, the ''modified'' version could be saved as a new template, with a different name. Note that if the modified template were saved with the ''same'' name as before, the existing users who depended on the original colors would experience unwelcome changes in their work. There is another way that allows the new user to choose colors while the existing users can continue to enjoy the default colors that their work displays. The template can keep the old name if the background property is made into an option, and the original background color made its default. Then, since the old users would not bother to specify the background color, perhaps not even knowing that they now ''could'', they would get the usual color as the default value and would be happy with it. The new users who need a ''different'' color, could simply specify it as an option value when they call the template for use. In this way both parties would be content. The modifying of a template approaches the difficulty of ''making'' a new one at times, and this process is covered in other sections below. For the background-change case, a suitable '''modified Tocbox''' code module would look like this. The code is: <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><center>Code for a Modified Template Tocbox</center><br><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{| class=toccolours style="margin:1em 0 0 0;width:{{{width|300px}}};background:{{{background|#f9f9f9;}}};" align={{{align|left}}} | align=center style="font-weight:bold;"|{{{Heading|{{{1}}}}}} |- | align=left style="font-weight:normal;"|{{{Content|{{{2}}}}}} |} <noinclude> </nowiki></poem></td> </table> {{-}} In the above code the ''background'' property has been made into an option. In addition, the original background color, '''#f9f9f9;''' , (light gray), has been used for the default. To labor the point, if the user does not bother to specify the background color, he will still get the ''gray'' color as before. Note again that the added option need not have been called ''background'' but could, for example, have been called ''bgc'' or some other name. In that event the template's option code would look like '''<nowiki>background:{{{bgc|#f9f9f9;}}}</nowiki>''', and another color would then be called using say, '''<nowiki>bcg=papayawhip</nowiki>''' on the page. The real template '''Tocbox''' has not been modified here, though this example provides a reliable demonstration of the method to use for doing so. After the modification above the template could be called by the new users as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{tocbox|align=center|width=250px|background=papayawhip|Heading|Long text paragraphs}}</nowiki>}} A knowledge of CSS property values allows considerable variation in a template's appearance. Luckily, the subject is well documented. See the external ''W3'' site's '''[http://www.w3schools.com/cssref/index.php CSS Reference List]''' for a comprehensive listing of values and properties. Although the examples on the referenced page are designed for style sheets, the syntax found there is also that used for modifying styles within templates and other in-line styles. In addition, a useful color reference can also be had at [http://en.wikipedia.org/wiki/Web_colors '''Web Colors''']. A drop-box with many of the CSS properties for tables has been provided in the box-making section below. If time is short it could be noted that most of the template work done so far in this project, (WikiBooks that is), could have made do with little more that the CSS properties of text and tables. Study of these two areas is thus rewarding. CSS reference sources are useful, though styles can also be changed with ''HTML attributes'', (the styles like ''align'' with the ''equals'' signs). Such attributes can be seen in HTML reference texts as opposed to CSS texts, and in the aforementioned drop-box below. It may be of interest to know that some HTML attributes are the only ways to accomplish certain tasks; examples include ''colspan'' (to span table columns), ''rowspan'' (to span table rows), and ''align'', (to align tables to center, something that the CSS ''float'' property cannot do). ==Making Templates== There are many template types, but those used for inserting and modifying text are the most numerous. Boxes feature next; whether they are ''information boxes'', so-called ''user boxes'', or simple ''text boxes'', they all have common constructs. Some templates have dynamic functions, like drop-controls, though once their basic outlines are clear, they can be shaped for many purposes. At least one example of each will be considered. Template making consists of writing functional code, Wikitext or HTML, or sometimes a mixture of both. The method is to test the code in the Sandbox, until the function works well. Then the options and the parameters can be assigned to the code. These are tested again, and if all is well, the block of code can be saved as a template. In saving the template it as well to check whether or not there is an existing template of that name already. The simplest way to save a template is as follows. First, make sure that you are logged-on in a page of '''WikiBooks''', to avoid making a template in the wrong project. Go to the ''search'' box at the left of the WikiBooks page, and enter the wording to find the as-yet unmade template. Assume here that the intended name is to be '''Caption'''. The line to type in the search window is just: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>Template:Caption</nowiki>}} If the template is found, then the name is already taken, and another is needed. Assuming that the name is not found, then the search results window will state that it was not found and ask whether or not you want to ''make'' the page. Click the link to make the page. The link opens a template editing page with the name of the template already listed as its address. Copy the code from your work in the sandbox, then paste it into the empty template page. In the line immediately following the last line in the code block, add the tags '''<nowiki><noinclude></noinclude></nowiki>'''. All text not intended to be a part of the template code, must be placed ''between'' these tags, as is the case for the template's description. Finally, save the page by pressing the ''Save page'' button at the bottom of the page. The template is now made, and can be called into use with its given name. Go to the sandbox and test the features of the template. ===Text Paragraphs=== The code for a template need not start with any special character or symbol. The main consideration is that the code performs the required action, just as if it were typed directly onto the page. At the 'end of the code block, be sure to add the '''<nowiki><noinclude></noinclude></nowiki>''' tags as mentioned above. All of the existing Wikitext and HTML code that can be used in a page can be used for a text template. The user of a page does not have access to the parts associated with styles, namely the heading of the web page and their style sheets. As a result, users are limited to modifying the parts of the page that ''are'' available, the text within the body of the page. Those familiar with web page design will know that the only remaining available method is to modify the page's text with '''in-line styles'''. Working methods use the '''<nowiki><div></div></nowiki>''' tags and the '''<nowiki><span></span></nowiki>''' tags, thanks to a feature of Wikitext that allows the use of HTML coding within it. CSS, (Cascading Style Sheet), properties and values are used within these tags to modify the text styles that would otherwise apply. It is as well to point out here the difference in use for '''<nowiki>span</nowiki>''' and '''<nowiki>div</nowiki>''' in text templates. '''<nowiki>Span</nowiki>''' should be used to format text only, noting that any formats applied to the text will not extend beyond the last text character; '''<nowiki>div</nowiki>''', on the other hand, will apply its formats to a rectangular block of text that extends across the page. the significance of this is that '''<nowiki>div</nowiki>''' is neater for changing background colors on the page. A comparative example can be seen in the ''Classes and Styles in Tags'' section of [[Editing Wikitext/Class and Style Notes|'''Class and Style Notes''']]. ====The Simplest Case==== Before doing any formatting, consider the method for making a template from a simple block of text. Type a block of text, with all of its formats and page layout in place, then save the block as a template. It is as simple as that. Such blocks of text find use for test text, such as [[Template:Lorem ipsum|'''Lorem Ipsum''']], a well-known text block of fictitious content used by printers and others in laying out their work. To use such a template just type: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{lorem ipsum}}</nowiki>}} at any convenient place on a page to produce the text block. This block of text is not pre formatted with hard breaks, so it will ''wrap'' within the space where it is typed, and with the ''default'' text styles of the page. ====Adding Styles==== To ''modify'' text styles, for example, for the text '''This is the text''', we first place the text within <syntaxhighlight lang="html" inline><span></span></syntaxhighlight> tags, like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="html" inline><span>This is the text</span></syntaxhighlight>}} Then we construct a style statement ''within'' the first tag. This example makes the font ''Garamond'', 20 points, colored red. It looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="html" inline><span style="font-family:Garamond;font-size:20pt;color:red">This is the text</span></syntaxhighlight>}} and the result will be: <center><span style="font-family:Garamond;font-size:20pt;color:red">This is the text</span></center> {{-}} Notice that there is still a closing arrow for the first tag; it is located at the end of the style statement. Notice also that there are three style rules in the statement, separated by semi-colons; these are ''font-family:Garamond'' to set the ''face'' of the font, ''font-size:20pt'' to set the ''size'' of the font, and ''color:red'' to set the ''color'' of the text. The style statement starts with the term ''style='', and the right hand side of the statement is entirely within double quotes. The individual style rules consist of a ''property''; the left part, and a ''value''; the right part. The two parts are ''separated'' by a full colon. The format of a style statement is strict. If the format has an error within it then the whole statement could fail. Note that Wikitext ''could'' have been used on the text itself; for example, to produce italics, (double quotes), or text that is bold, (triple quotes). Wikitext acts in ''addition'' to the CSS styles, provided that there are no obvious conflicts. Several spans and style statements can be applied to produce quite complex results. These tag sets can be ''nested''; that is, one set of tags within another set. Beware of nested '''span''' tags, since there can be unexpected results. Say that an overall style is applied to several paragraphs using span tags. Within these paragraphs ''another'' span set is used to format one of the paragraphs differently. When this is viewed, at the point where the ''inside'' span closes, the styles will have reverted to the body text styles described by the style sheet, and not the intended outside style definition. This is perhaps because the first closing tag was wrongly interpreted as the end tag. The problem is '''avoided by using div tags for both''', or at most by '''using span tags for only one of the formats'''. Many properties exist to modify text. They consist of all of the text styles found in style sheets, namely those for fonts, padding, alignment, margins, borders, text colors, and backgrounds. '''[http://www.w3schools.com/cssref/index.php CSS property lists]''' and other material on [[CSS Programming/Fonts and Text|'''Fonts and Text''']] provide the source material for all such work. Although CSS properties and examples are listed primarily for style sheets, the properties and values ''themselves'' can be used on the page and in templates. The Study Work drop-box contains a useful code module for studying text properties. It contains most of the useful text entries and can be copied for study into the [http://en.wikibooks.org/w/index.php?title=Wikibooks:Sandbox&action=edit '''sandbox''']. {{-}} {{dropimage|align=center|cbgc=lightyellow|hbgc=lightyellow|Study Work|'''This module contains most of the useful text properties. Copy it into the sandbox to experiment with text property values.'''<br><syntaxhighlight lang="html"><div style="font-family:lucida handwriting;font-weight:bold;font-style:italic;font-size:12pt;color:blue;background:papayawhip;word-spacing:0pt;letter-spacing:0pt;line-height:1.8em;border:1px solid red;margin:10pt 100pt 10pt 50pt;padding:10pt 20pt 15pt 20pt;text-align:justify;"><center>Text Property Notes</center> Both PADDING and MARGIN style-rule values use the sequence TOP, RIGHT, BOTTOM, then LEFT, i.e. clockwise starting at the top. BORDER uses the sequence BORDER-WIDTH, BORDER-STYLE, then BORDER-COLOR for all of the four borders at once. Other properties can address the four separately. PADDING is the space around the text. MARGIN is the space around the text block. BORDER is the line that surrounds the text and its padding. The code block contains the common text properties. Experiment with the settings. </div></syntaxhighlight>}} {{-}} {{dropimage|hbgc=lightyellow|align=center|Color Values for Study Work|[[image:pastelsRGB.jpg|911px]]<br><br>Color values for CSS properties taking a form such as : Background:RGB(255,202,149)}} {{-}} ====Parameters==== Now, continue to make use of the ''red-text'' example. Although the code could be saved as a template just as it is, it would not be very useful since it consists only of fixed text. To introduce the notion of ''variable text chosen by the user'', we need to make the text position in the code into a ''parameter''. Assuming that the basic code works correctly, the ''parameter'' brackets can be added. In the above text example there is only ''one'' parameter, the content to be formatted. Starting with the code above, just replace the text part so that the code line now looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki><span style="font-family:Garamond;font-size:20pt;color:red">{{{content|{{{1}}}}}}</span></nowiki>}} Notice that the original text has now been replaced with: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{content|{{{1}}}}}}</nowiki>}} The ''digit'' identifies the parameter as number one. It is also the ''name'' of the parameter. The word ''content'' is just a convenient label, though either the number or the label can be used for ''named parameters''. If the user forgets to write any text in a parameter position, then the number of the parameter will appear on the page to remind of it. If the template had ''more'' than one parameter, a similar process could be applied, with a sequence of digits 2,3,4 etc., and adding a suitable label in place of ''content'' for each. Saving it in the usual way completes such a template. Assuming that the template were to be saved with the name ''BigText'' then the entry to call it for use would be just: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{BigText|1=This is the text to format}}</nowiki>}} Note that when a template has ''several'' parameters, the ones used can either be entered as ''named parameters'', using the number or label with an equals sign, or as ''unnamed parameters'', by omitting the added names and just entering the text directly. The parameters should be ''all unnamed'' or ''all named'' but not a mixture of the two. If they are ''unnamed'', the correct sequence must be maintained, and if they are ''named'', then ''any'' sequence can be used. Number names and label names ''can'' be mixed without difficulty in a template call. Although virtually ''any'' tags can be modified by adding a style statement to the leading tag, it is not to say that the work can always be made into a template. There is at least one exception that exists when it comes to making such a template. The '''&lt;pre&gt;&lt;/pre&gt;''' tags by their very definition cause a template's parameter code to be disregarded, and a different approach is needed. Instead of attempting to make a modified pre-formatted text template consider the use of [[Template:Prettypre|Prettypre]] for a ready-made fancy version of these tags. That is to say, it is possible to modify the '''&lt;pre&gt;&lt;/pre&gt;''' tags with inline styles, to make more interesting pre-formatted text, and it is possible to add the tags to text used as a template's parameter, but making a template from text ''bounded'' by pre-formatting tags will prove more difficult. ====Options==== For completeness, we can also add ''options'' to our basic ''red-text'' template example. Say we want to change the color of the text from time to time in our work. We could make another complete template for the new color or we could just add an option to the text coloring code. The new code looks like this: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki><span style="font-family:Garamond;font-size:20pt;color:{{{tint|red}}}">{{{content|{{{1}}}}}}</span></nowiki>}} Note that the entire property value (applies also to an attribute value), must be enclosed in triple curly brackets. Additionally, the value should be replaced with an ''option name / default value'' combination. In this case, if the user does not specify the color of text, it will be ''red'' in any case. If it is specified, (see the example below), it can be changed to any color using the option ''tint='' within the template call. Assuming that this template's name were ''BigText'' the template call for purple text would be, say: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{BigText|tint=purple|1=My purple text goes here}}</nowiki>}} Other options could be made in the same way, and similar techniques could be used regardless of the tags used for the template. A knowledge of the different tags and access to lists of CSS properties allows considerable scope in template design. ===Making Boxes=== ---- The following sections ''make'' box or table templates from Wikitext. They can also be made with HTML tables in the same way. When it comes to ''making'' such a template, wikitext is fine but when a table is needed to go ''into'' a template as its parameter, or part of its parameter, an HTML table should be used instead. The WikiBooks text [[../Tables|'''Making Tables''']] touches on HTML table structures, and explains how to use styles. It is assumed that the reader is familiar with these concepts in the text that follows. ====The Box Structure==== Boxes are essentially ''tables'', in fact table cells. The CSS property list to format tables is extensive. Simple boxes make use of the table ''container'', and one or two ''cells'' within it. Apart from the table container, the other structures of a table include its ''rows'', and ''cells''. In the case below there are two rows, each with only one cell in them. Each part of a table has properties that affect it, and an example of typical table coding can be seen in the listing below. <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{|style="background:lightyellow;width:150px;margin:none;border:1px solid lightgrey" align=left |- | style= " text-align: center; padding: 5px 0 0 0"|'''Heading''' |- style="text-align:justify;" | style="padding:0px 10px 10px 10px;"|Content. |} </nowiki></poem></td> </table> {{-}} Running this code in the sandbox produces the following: {{-}} {| style="background:lightyellow;width:150px;margin:none;border:1px solid lightgrey" align=left |- | style= "text-align: center; padding: 5px 0 0 0"|'''Heading''' |- style= "text-align:justify;" | style= "padding:0px 10px 10px 10px;"|Content. |} {{-}} If necessary, refer to the WikiBooks text [[../Tables|'''Making Tables''']] or the Wikipedia text [http://en.wikipedia.org/wiki/Help:Table '''Help-Table'''] for detailed advice on making tables. Refer also to the drop-down box below for a listing of the commonly used table properties and their meanings. {{tablestyles}} {{-}} For now, it will suffice to note only that: *A table is enclosed in these symbols: '''<nowiki>{| |}</nowiki>''' *A caption placed above the table starts with a '''<nowiki>|+</nowiki>'''. *A heading cell within the table starts with a '''<nowiki>!</nowiki>''' *A new row is created with the symbols: '''<nowiki>|-</nowiki>''' *A data cell within a row is created with the symbol: '''<nowiki>|</nowiki>''' *Style statements can exist at the table, row, or cell levels. *An additional pipe symbol separates a cell's styles from its text.''' <nowiki>|</nowiki>''' *Starting tables, rows and cells on new lines avoids many problems in templates. Follow the reasoning in this description from the code. The table container has ''background'', ''width'', ''margin'', and ''border'' properties, and the ''align'' attribute assigned. *''Background'';sets the background color for the whole table. *''Width''; sets the overall width of the table. *''Margin''; removes margins of the table. *''Border'': Sets the thickness, type, and color of the table border, all in one. *''Align'': Permits the box to be placed on the page at ''left'', ''right'', or ''center''. The cell in the first row has ''text-align'',''padding'', and a form of heading text. *''Text-align'';positions the cell text horizontally at the center. *''Padding''; sets the padding within the first cell for the box heading text. *''The Heading Text''; is made bold with Wiki mark-up. The next row has ''text-align''. This property applies style to all of the cells in the row at once, though not all properties can do this. *''Text-align'';justifies text in the bottom cell - the main content. The ''content'' cell has ''padding'', and the content text. *''Padding'';sets the spacing around the content text. *''The content text''; is the main text for the box template. Other properties could be specified for this text box, for example, for the details of the fonts to use, but there is enough here for this example. ====Parameters and Options==== It is intended to provide three ''options'' along with the two ''parameters''. The options are to be ''background'',''width'', and ''align''. The parameter ''names'' are to be ''1'' and ''2'', with the labels ''heading'' and ''content''. The options and parameters have been added to the code below: <table cellpadding=20px style="font-family:courier;border:1px dashed blue;background:#f9f9f9;;"> <td align=left><poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki>{|style="background:{{{background|lightyellow}}};width:{{{width|150px}}};margin:none;border:1px solid lightgrey" align={{{align|left}}} | style= " text-align: center; padding: 5px 0 0 0"|'''{{{Heading|{{{1}}}}}}''' |- style="text-align:justify;" | style="padding:0px 10px 10px 10px;"|{{{Content|{{{2}}}}}} |}</nowiki></poem></td> </table> {{-}} '''Parameters''' have been made in place of the ''heading'' and ''content'' text. The formats for parameters one and two are: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{{heading|{{{1}}}}}} and {{{content|{{{2}}}}}}</nowiki>}} {{-}} Each parameter format consists of a parameter ''label'',( ''heading'' or ''content''), a ''pipe'', symbol,'''<nowiki>|</nowiki>''', and the true ''name'' of the parameter, (''1'' or ''2''). In each case, both the parameter name ''and'' the entire parameter expression are enclosed in triple curly brackets. '''<nowiki>{{{}}}</nowiki>'''. '''Options''' have been made for the properties ''background'', ''width'', and ''align''. The formats are : {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>background:{{{background|lightyellow}}} width:{{{width|150px}}} and align={{{align|left}}}</nowiki>}} {{-}} Notice that the format of the bracketing is similar to the examples given in the making of text templates, and that the same strict format is used to identify the options and parameters. '''A parameter can use the ''option'' format too'''. When a parameter does so, it must use the ''named'' parameter style in the template call. The advantage of such a parameter is that it can have ''any'' default value, including an image. The disadvantage of using the ''option'' format for a ''parameter'' is that the highly conspicuous numbered reminder is lost. You will recall that the more formal parameter style gives a parameter number as the default. The template can be saved in the usual way. Assuming that the template were saved with the name ''Textbox'', then it could be called for use by typing the following: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{textbox|background=lightgrey|width=325px|align=center|Heading text here|Content text here}}</nowiki>}} The variations in boxes are considerable. By adjusting the table structure, it is possible to add images and other effects. Most of the information boxes within Wikipedia and WikiBooks have a table basis for their construction. ===Making Drop Controls=== ---- Drop-boxes save space on the page and can be used for both text and for images. Within Wikibooks these boxes are dynamic, and clicking the link on the heading of such a box drops it box to show the entire contents section. Clicking the link again restores it to its closed state. Drop-boxes can be created in two ways. In the past, the way to make them was to use the classes ''NavFrame'', ''NavHead'', and ''NavContent''. These days, the ''collapsible'' class can be used for both tables and div boxes, and its simplicity has made it a clear choice. The first section describes briefly the layout for collapsible divs. The remainder of the section is devoted to the version based on the collapsible table; this method is the basis of the ''ready-made'' drop-control template [[Template:Dropimage|'''Dropimage''']]. A ready-made template exists for a quite adaptable drop-box; it is [[Template:Dropimage|'''Dropimage''']], though for those who want the details, they are to be had at [[Editing Wikitext/Tables#Sorting and Hiding|'''Sorting and Hiding''']]. ====Collapsible Boxes==== The basic code for drop-boxes is just: <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><div class="collapsible"> <div class="title">Title</div> <div class="body"> Hideable content </div> </div></syntaxhighlight> The above code produces a drop-box that is extended across the whole width of the page. ''collapsible'' contains the other two sections, ''title'' refers to the panel with the link, and ''body'' refers to the text box within the drop box itself. By default, the contents are hidden when the page is loaded; that is to say, the box is closed when the page first opens. To have the contents shown by default, the user adds "selected" to the class declaration. CSS styles could also be added as shown below and the option-brackets and parameter-brackets for template-making have been shown, as was explained in the previous section: <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><div class="collapsible selected" style="color:{{{color|darkgray}}}; width:{{{width|300px}}}; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> <div class="title" style="font-weight:{{{bold|bold}}};">{{{Heading|{{{1}}}}}}</div> <div class="body" style="background-color:{{{background|lightyellow}}};color:{{{color2|black}}}"> {{{Content|{{{2}}}}}} </div> </div></syntaxhighlight> Changes in layout is obtained by changing styles in any of the sections, but the preferred method, using collapsible tables, is described in the next section. ====Collapsible Tables==== (currently being rewritten to update for collapsible tables) The panel below shows the HTML and Wikitext code versions of a fairly basic drop-box based on the ''collapsible'' box class. The two versions are equivalent, though users who intend to make a template should use the HTML version, since it can have a table as its content without any instability. Nesting tables in Wikitext is problematic. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''HTML Collapsible Table Cell''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <table class="collapsible" style="border:1px solid black; width:300px;" cellpadding="5px"> <tr> <th style="text-align:center;">Any Heading</th> </tr> <tr> <td>Content cell text, images or HTML tables</td> </tr> </table> </syntaxhighlight> '''WIKITEXT''' Collapsible Table Cell <poem style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"><nowiki> {| class="collapsible" style="border:1px solid black; width:300px;" cellpadding="5px" |- ! style="text-align:center;" | Any Heading |- | Content cell text or images only |} </nowiki></poem> }} If, instead of the ''collapsed'' state, the ''selected'' state is needed on opening the page, then just add the class ''selected'' as in the line ''class="collapsible selected" ''. The default state is ''collapsed'' which need not be added. The ''width'' style in the table line sets the ''initial'' width of the table on the page, and with the exception of un-formatted text, the table will expand on opening to accommodate the contents. The ''float'' and ''align'' attributes should be avoided for tables because browsers may not support table alignment. Tables can be aligned in a way compatible with most browsers by setting the initial width of the table to 100%, and by wrapping the table inside a div box with its width set to the desired width. For left and right alignment use float on the div box. For center alignment use a margin of auto on the div. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''HTML Collapsible Table Cell''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <div style="width:300x; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> <table class="collapsible" style="border:1px solid black; width:100%;" cellpadding="5px"> <tr> <th style="text-align:center;">Any Heading</th> </tr> <tr> <td>Content cell text, images or HTML tables</td> </tr> </table> </div> </syntaxhighlight> '''WIKITEXT''' Collapsible Table Cell <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <div style="width:300x; {{#switch:{{{align|center}}}|center=margin:auto;|left=float:left;|right=float:right;}}"> {| class="collapsible" style="border:1px solid black; width:100%;" cellpadding="5px" |- ! style="text-align:center;" | Any Heading |- | Content cell text or images only |} </div> </syntaxhighlight> }} ====Parameters and Options==== The parameter and option brackets are shown in the panel below for an HTML version of the drop-box template, and it will be noted that the method is similar to that used for simple tables in an earlier section. It may be of interest to note that the outermost table is there simply to allow centering of the entire structure, since the ''collapsible'' class does not support it. {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|background=ivory| '''A Basic Drop-Box Template Coding''' <syntaxhighlight lang="html" style="font-family:'Courier New', Courier, monospace; font-size:1.1em;"> <table style="border:none; align={{{alignT|left}}}"> <tr><td> <table class="collapsible" style="border:{{{border|1px solid black}}}; width:{{{width|300px}}}; background:{{{backgroundT|transparent}}};" cellpadding="{{{padding|5px}}}"> <tr> <th style="background:{{{backgroundH|transparent}}};text-align:center;">{{{heading|{{{1}}}}}}</th> </tr> <tr> <td style="text-align:{{{alignC|left}}};"> {{{content|{{{2}}}}}}</td> </tr> </table> </td></tr> </table> <noinclude> All other template page material goes between these tags. </noinclude> </syntaxhighlight> }} {{clear}} The above HTML block of code has been saved as the template ''dropthing'', [[Template:Dropthing|'''Dropthing''']], and it can be called for use on a page by typing something along the lines of the following: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<syntaxhighlight lang="moin">{{dropthing|backgroundT=mistyrose| alignT=center|width=400px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</syntaxhighlight>}} The drop-box that is produced with this template call is this: {{dropthing|backgroundT=mistyrose|alignT=center|width=400px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }} {{-}} A more complex ready-made template called [[Template:dropimage|'''Dropimage''']] exists for those who need it. It has a large set of individual options, and the facility to add more properties and classes, the coding for which is described next. ===Advanced Options=== Although the user is always limited by the original template's design, he has some latitude afforded by the pre-planned options. There is a way, however, that allows the user to add classes and CSS properties not considered in the original design. For this method to work the designer of the template must anticipate the possible future need for such a change, and add a few extra keystrokes. It is explained below. Perhaps surprisingly, both '''class''' and '''style''' declarations are themselves HTML ''attributes'', in the same way as ''align'', ''cellpadding'', and others. As such, these terms can be specified in the same way as other options, with default values of classes and styles. The user can then specify the list of styles or classes that he wants the template to use, or by doing nothing of the kind, the default values of each would apply. Clearly, if the usual values of an existing template were made to be such defaults, it would allow changes without affecting the original users. The example below allows the class ''selected'' to be used for a template whose original author uses only the class called ''collapsible''. ====Add Classes==== To allow user-changes to the classes for the above drop-table template, the class declaration (expression) line needs to modified as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>class="{{{class|collapsible}}}"</nowiki>}} This has the effect of making a new option ''named'' as '''class''' that has a default value of ''collapsible''; that is, if no '''class''' option is written by the user the default will apply. Now, having modified the class-declaration, the user could add the class ''selected'' or any other suitable class with which he is familiar, (while others still make normal use of the template), as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|<nowiki>{{dropthing|backgroundT=mistyrose|class=collapsible selected| alignT=center|width=200px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</nowiki>}} The box produced in this way is just: {{dropthing|backgroundT=mistyrose|class=collapsible selected|alignT=center|width=200px| Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }} The template, for this box only, will be displayed in its open state, since the class ''selected'' has been added as an option. Notice that the intended classes ''all'' need to be declared, and that the quotes were not needed. This entry entirely replaces the default class declaration. Similarly, other classes could be used, though the set of classes available for the automatic formatting of tables could do with some extension. ====More Style Options==== To modify the template to add user-written style expressions, the template's existing style expression in the table line would be replaced as follows: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|<syntaxhighlight lang="text">style="{{{mystyleT|border:{{{border|1px solid black}}}; width:{{{width|300px}}}; background:{{{backgroundT|transparent}}} }}}"</syntaxhighlight> }} Notice that the entire CSS style expression, (but not the attributes that followed it)), are now the default value of the ''mystyleT option''. When this option is used in a template call the quotes for the value expression should not be used. The typical template call, introducing new properties might then become: {{block|ff='Courier New', Courier, monospace|fs=1.1em|ta=left|<syntaxhighlight lang="moin">{{dropthing|myclass=collapsible| alignT=center|mystyleT=border:3px solid brown; width:300px; background:mistyrose;color:darkgreen; font-weight:bold|Press to View|[[image:Cerasus blossom.jpg|400px|thumb|center|''Hawthorn in bloom''.]] }}</syntaxhighlight>}} and the result of making this template call is just: {{dropthing|myclass=collapsible|alignT=center|mystyleT=border:3px solid brown; width:300px; background:mistyrose;color:darkgreen; font-weight:bold;|Press to View|[[image:Cerasus blossom.jpg|thumb|400px|center|''Hawthorn in bloom''.]]<br>Other text could go here... }} {{-}} Notice that the intended new style statement must be rewritten in its entirety, and that now a new CSS property (color of text), not included in the original design, has been added within the option statement. If the mystyleT option were not used, the individual options could still be used. If ''both'' the expression and the individual values are changed, it would be as well to study the possibility that one will override the other. The template [[Template:Dropimage|'''Dropimage''']] has been modified to include user modification of class and style. ===Endpiece=== The three example types given in the above sections will hopefully introduce the reader to the making of templates. Bear in mind that there are many aspects of templates not discussed here; for example, the notions of conditional behavior, loops, and defaults that themselves run as templates. Further reading about templates can be found in the links below. Above all, learn how to use CSS styles in making your templates, and experiment with their effects. ==See also== *[[WB:SB|Sandbox]]: The Wikibooks editing and test window *[[Help:Templates]]: Wikibooks main templates article *[[../Tables|Making Tables]]: Wikitext methods for tables *[[Help:Tables]]: Wikibooks main tables article *[http://en.wikibooks.org/w/index.php?title=Special:AllPages&namespace=10 All Templates Namespace] : Wikibooks templates alphabetical list *[[:Category:Templates|Templates Category]]: Wikibooks templates listed by category *[[CSS Programming]]: Helpful for CSS context *[http://www.w3schools.com/css/css_reference.asp CSS Reference List]: An external CSS Properties Reference *[[w:Web colors|Web Colors]]: A Wikipedia article on web colors *[[Template:Dropimage]]: A multi-optioned drop-box template *[[Template:Thetop]]: The most useful of the top section templates, for ''filling the space''. *[[Template:Lorem ipsum]]: Test paragraph template *[[../Class and Style Notes|Class and Style Notes]]: About Wikitext classes and styles, as opposed to style sheets *[[w:Wikipedia:Anatomy of a template|Anatomy of a Template]]: Wikipedia text with notes on templates as defaults, and conditionals. <!--</div>--> </div> {{ewlinks}} ovpdm11jes9twwun691w4fcuzt5tiaj Java Programming/Types/boolean 0 166360 4635295 3644510 2026-05-11T17:03:32Z ~2026-28460-82 3583596 1 4635295 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635322 4635295 2026-05-11T18:17:16Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by DannyS712 3644510 wikitext text/x-wiki <syntaxhighlight lang="Java"> public class Relational { public static bool lessorequal(int x, int y, int z) { if (boolean x<=(y+z)); return("True"); else return("False"); } } </syntaxhighlight> {{BookCat}} 6nnb4z99vj2o0c66gzlmednd4bqvd8i 4635330 4635322 2026-05-11T19:27:15Z Kittycataclysm 3371989 Rollback 1 edit by [[Special:Contributions/Codename Noreste|Codename Noreste]]: Vandalism 4635295 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635331 4635330 2026-05-11T19:27:42Z Kittycataclysm 3371989 Restoring revision 3644510 by [[Special:Contributions/DannyS712|DannyS712]]: restore pre-vandalism 4635331 wikitext text/x-wiki <syntaxhighlight lang="Java"> public class Relational { public static bool lessorequal(int x, int y, int z) { if (boolean x<=(y+z)); return("True"); else return("False"); } } </syntaxhighlight> {{BookCat}} 6nnb4z99vj2o0c66gzlmednd4bqvd8i Chess Opening Theory/1. e4/1...c5/2. d4/2...cxd4 0 169855 4635386 4534209 2026-05-12T08:47:32Z JCrue 2226064 /* 2...cxd4 */ 4635386 wikitext text/x-wiki {{Chess Opening Theory/Position|= |Smith-Morra gambit }} ==2...cxd4 == Black takes the pawn. The trade of a c- for d-pawn gives Black a central pawn majority. Though White could take it back with [[/3. Qxd4|'''3. Qxd4?!''']], this allows Black to push the queen around and play 3...Nc6 with tempo. Instead the main move is [[/3. c3|'''3. c3''']], the '''Smith-Morra gambit'''. After 3...dxc3 White can retake while developing their knight. An alternative is [[/3. Nf3|'''3. Nf3''']], the '''Morphy gambit'''. White prepares to recapture with the knight. If Black tries to holds onto the extra pawn with 3...e5, White's best continuation is 4. c3 leading to something similar to the Smith-Morra, where Black has a hole on d5 and a backward d-pawn. Otherwise, this can transpose into an Open Sicilian after (e.g.) 3...d6 4. Nxd4. ===History=== 2. d4 was in vogue in the mid-18th century. Jaenisch, in his 1842 book of analysis, gave 2. d4 as White's best move against the Sicilian. 3. Qxd4 and 3. Nf3 were the continuations of the day; Jaenisch's gave preference to 2...cxd4 3. Qxd4, even though 3...Nc6 4. Qd1 allows Black to gain time on the queen.<ref name="jaenisch">{{Cite book |title=Jaenisch's chess preceptor: a new analysis of the openings of games |last=de Jaenisch |first=C. F. |publisher=Longman & co. |year=1847 |location=London |url=https://babel.hathitrust.org/cgi/pt?id=hvd.hn52dv&seq=5 |translator-last=Walker |translator-first=George}} (translation of {{Cite book |title=Analyse nouvelle des ouvertures du jeu des échecs |last=de Jaenisch |first=C. F. |publisher=Gartner |year=1842}})</ref>{{rp|25-28}} An early appearance of the gambit 3. c3 was in 1846 in Kieseritzky v Vitzthum.<ref>[https://www.chessgames.com/perl/chessgame?gid=1630926 Kieseritzky v Vitzthum, 1846 - Chessgames.com]</ref> It went largely un-played for the next century, aside from a few games in the 1920s and 1930s, until it was revived in the 1950s. [[Wikipedia:Ken Smith (chess player)|Kenneth Smith]] (1930―1999) and [[Wikipedia:fr:Pierre Morra|Pierre Morra]] (1900―1969) independently published analysis of it in the 50s. Another proponent was [[Wikipedia:Milan Matulović|Milan Matulović]] (1935―2013), after whom it was sometimes called (the Matulović gambit). Its leading proponent today is [[Wikipedia:Marc Esserman|Marc Esserman]] (1983―). ==Theory table== {{Chess Opening Theory/Table}}. :'''1. e4 c5 2. d4 cxd4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">3</th> <th align="left">4</th> <th align="left">5</th> </tr> <tr> <th align="right"><font size="2">Smith-Morra Gambit</font></th> <td>[[/3. c3|c3]]<br>dxc3</td> <td>Nxc3<br>Nc6</td> <td>Nf3<br>d6</td> <td>=</td> </tr> <tr> <th align="right"><font size="2"></font></th> <td>[[/3. Nf3|Nf3]]<br>d6</td> <td>=</td> </tr> <tr> <th align="right"><font size="2"></font></th> <td>[[/3. Qxd4|Qxd4]]<br>Nc6</td> <td>=/+</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} ===See also=== {{Wikipedia|Smith-Morra Gambit}} == External links == *[https://www.chessgames.com/perl/chess.pl?node=1038331 Smith-Morra - Chessgames.com] {{Chess Opening Theory/Footer}} ik8pcc2pt1u2mjgrhhhcbocokuzh93a 4635388 4635386 2026-05-12T08:48:57Z JCrue 2226064 infobox 4635388 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Sicilian defence |eco=[[Chess/ECOB|B21]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[../|2. d4]] }} ==2...cxd4 == Black takes the pawn. The trade of a c- for d-pawn gives Black a central pawn majority. Though White could take it back with [[/3. Qxd4|'''3. Qxd4?!''']], this allows Black to push the queen around and play 3...Nc6 with tempo. Instead the main move is [[/3. c3|'''3. c3''']], the '''Smith-Morra gambit'''. After 3...dxc3 White can retake while developing their knight. An alternative is [[/3. Nf3|'''3. Nf3''']], the '''Morphy gambit'''. White prepares to recapture with the knight. If Black tries to holds onto the extra pawn with 3...e5, White's best continuation is 4. c3 leading to something similar to the Smith-Morra, where Black has a hole on d5 and a backward d-pawn. Otherwise, this can transpose into an Open Sicilian after (e.g.) 3...d6 4. Nxd4. ===History=== 2. d4 was in vogue in the mid-18th century. Jaenisch, in his 1842 book of analysis, gave 2. d4 as White's best move against the Sicilian. 3. Qxd4 and 3. Nf3 were the continuations of the day; Jaenisch's gave preference to 2...cxd4 3. Qxd4, even though 3...Nc6 4. Qd1 allows Black to gain time on the queen.<ref name="jaenisch">{{Cite book |title=Jaenisch's chess preceptor: a new analysis of the openings of games |last=de Jaenisch |first=C. F. |publisher=Longman & co. |year=1847 |location=London |url=https://babel.hathitrust.org/cgi/pt?id=hvd.hn52dv&seq=5 |translator-last=Walker |translator-first=George}} (translation of {{Cite book |title=Analyse nouvelle des ouvertures du jeu des échecs |last=de Jaenisch |first=C. F. |publisher=Gartner |year=1842}})</ref>{{rp|25-28}} An early appearance of the gambit 3. c3 was in 1846 in Kieseritzky v Vitzthum.<ref>[https://www.chessgames.com/perl/chessgame?gid=1630926 Kieseritzky v Vitzthum, 1846 - Chessgames.com]</ref> It went largely un-played for the next century, aside from a few games in the 1920s and 1930s, until it was revived in the 1950s. [[Wikipedia:Ken Smith (chess player)|Kenneth Smith]] (1930―1999) and [[Wikipedia:fr:Pierre Morra|Pierre Morra]] (1900―1969) independently published analysis of it in the 50s. Another proponent was [[Wikipedia:Milan Matulović|Milan Matulović]] (1935―2013), after whom it was sometimes called (the Matulović gambit). Its leading proponent today is [[Wikipedia:Marc Esserman|Marc Esserman]] (1983―). ==Theory table== {{Chess Opening Theory/Table}}. :'''1. e4 c5 2. d4 cxd4''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">3</th> <th align="left">4</th> <th align="left">5</th> </tr> <tr> <th align="right"><font size="2">Smith-Morra Gambit</font></th> <td>[[/3. c3|c3]]<br>dxc3</td> <td>Nxc3<br>Nc6</td> <td>Nf3<br>d6</td> <td>=</td> </tr> <tr> <th align="right"><font size="2"></font></th> <td>[[/3. Nf3|Nf3]]<br>d6</td> <td>=</td> </tr> <tr> <th align="right"><font size="2"></font></th> <td>[[/3. Qxd4|Qxd4]]<br>Nc6</td> <td>=/+</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} ===See also=== {{Wikipedia|Smith-Morra Gambit}} == External links == *[https://www.chessgames.com/perl/chess.pl?node=1038331 Smith-Morra - Chessgames.com] {{Chess Opening Theory/Footer}} 0lh18wyg14tlpcrhqerh5ceertbclpe Chess Opening Theory/1. e4/1...c5/2. d4/2...cxd4/3. c3 0 169856 4635390 3229873 2026-05-12T09:25:45Z JCrue 2226064 turn three options 4635390 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Smith-Morra gambit |eco=[[Chess/ECOB|B21]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[../|2...cxd4]] }} == 3. c3 · Smith-Morra gambit == White offers a pawn for quicker development and open c- and d-files. [[/3...dxc3|'''3...dxc3''']] '''accepts''' the gambit, and White can recapture with 4. Nxc3. Black is now a pawn up, but in return White has a lead in development. They are ready to develop both their bishops, but Black will have to make two more pawn moves before they can get their bishops out. The game usually continues 4...Nc6 5. Nf3 e6 6. Bc4, where Black reaches the first major branching point in theory. Accepting is the main move, and the choice of chess engines (who are fearless). However, White gets good compensation for the pawn and attacking chances, so it is not uncommon to decline it. === Transpose into an Alapin Sicilian === There are a few ways Black may '''decline''' the gambit and reach a position similar to the Alapin Sicilian (1. e4 c5 2. c3). [[/3...Nf6|'''3...Nf6''']] looks to transpose into the ...Nf6 line of the Alapin. The game continues 4. e5 Nd4 5. Nf3 Nc6 6. cxd4 and the same Alapin position is reached. This line is often preferred because because Black can answer the Alapin and Smith-Morra with the same preparation. [[/3...d5|'''3...d5''']], the '''Scandinavian variation''', may transpose into the Barman line of the Alapin Sicilian (where 2. c3 is answered with 2...d5). A nuance is that in the Barman defence White has the option to delay ...cxd4 to prevent White from opening the c3 square for their knight until ''after'' White has committed to Na3, but in the Smith-Morra move order Black has already played ...cxd4. === Other ways to decline === [[/3...d3|'''3...d3''']], the '''push variation''', offers the pawn back to White in a way that leaves White's c-pawn blocking their knight's preferred square. This avoids giving White extra tempi (White will have to move their c-pawn again to develop their knight). After 4. Bxd3 Nc6 5. c4, White has a strong control over d5. [[/3...e5|'''3...e5''']], the '''centre variation''', allows White to recover the pawn and also get their knights out: 4. cxd4 exd4 5. Nf3 Nc6 6. Nxd4. [[/3...Qa5|'''3...Qa5!?''']], the '''wing variation''', pins the c3-pawn. White can recover the material with 4. Nf3 Nc6 5. Nxd4, or they may first incorporate 5. b4! Qc7 6. b5, and 6...Ne5 7. Nxe5 Qxe5 8. Qxd4. ==Theory table== {{Chess Opening Theory/Table}} :'''1. e4 c5 2. d4 cxd4 3.c3''' <table border="0" cellspacing="0" cellpadding="4"> <tr> <th></th> <th align="left">3</th> <th align="left">4</th> <th align="left">5</th> </tr> <tr> <th align="right">Smith-Morra Gambit Accepted</th> <td>c3<br>[[/3...dxc3|dxc3]]</td> <td>Nxc3<br>Nc6</td> <td>Nf3<br>d6</td> <td>=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...g6|g6]]</td> <td></td> </tr> <tr> <th align="right">Smith-Morra Gambit Declined</th> <td>...<br>[[/3...d3|d3]]</td> <td>Bxd3<br>Nc6</td> <td>Nf3<br>d6</td> <td>+/=</td> </tr> <tr> <th align="right"></th> <td>...<br>[[/3...Nf6|Nf6]]</td> <td>e5<br>Nd5</td> <td>Nf3<br>Nc6</td> <td>=</td> </tr> </table> {{ChessMid}} ==References== {{reflist}} {{Wikipedia|Smith-Morra Gambit}} {{Chess Opening Theory/Footer}} qx2u7z8yvrkg1cwujlnjn5r6xpy0tr1 Wikijunior:North America/United States/Arizona 110 178516 4635299 4245865 2026-05-11T17:08:08Z ~2026-28407-75 3583952 /* History */ 4635299 wikitext text/x-wiki {{header}} [[File:Map of USA AZ.svg|150px|thumb|right|The location of Arizona in the United States]] Arizona is a state located in the southwestern region of the United States. The capital and largest city is Phoenix. Other big cities in Arizona include Tucson, Mesa, and Chandler. Arizona was the 48th state admitted to the union on February 14, 1912. Arizona borders [[Wikijunior:North_America/United_States/New_Mexico|New Mexico]], [[Wikijunior:North America/United States/Utah|Utah]], [[Wikijunior:North America/United States/Nevada|Nevada]], [[Wikijunior:North America/United States/California|California]] and touches [[Wikijunior:North America/United States/Colorado|Colorado]] at one of its corners. It is also bordered by parts of [[Wikijunior:North America/Mexico|Mexico]]. Residents are known as Arizonans. [[File:Flag of Arizona.svg|150px|thumb|right|Arizona's State Flag]] ==History== Humans have lived in Arizona for at least 20,000 years. Native American tribes that inhabited Arizona included the Hopi, Zuni, Navajo, let me put my dick in ur pussy Arizona became a state on February 14, 1912 and the 48th state admitted into the union. Marcos de Niza, a Spanish Franciscan, explored the area in 1539 and met its original native inhabitants. Spain founded towns at Tubac in 1752 and Tucson in 1775. When Mexico achieved its independence from Spain in 1821, what is now Arizona became part of the Mexican Territory Nueva California. During the Mexican–American War in 1847, the U.S. occupied Mexico City and forced the newly founded Mexican Republic to give up its northern territories, including what later became Arizona. [[File:Canyon midday.jpg|thumb|250px|left|A section of the Grand Canyon]] ==Geography== Arizona is located in the western United States as one of the Four Corners states. Of the state's 113,998 square miles (295,000 km2), approximately 15% is privately owned. The remaining area is public forest and park land, recreation areas and Native American reservations. Arizona is best known for its desert landscape, which is rich in cactus plants. It is also known for its climate, which presents exceptionally hot summers and mild winters. Mountains and plateaus are found in more than half of the state. Arizona is also home to the Grand Canyon which is considered to be one of the Seven Natural Wonders of the World. The Grand Canyon is a colorful, steep-sided gorge, carved by the Colorado River, in northern Arizona. The Canyon was created by the Colorado River cutting a channel over millions of years, and is about 277 miles (446 km) long, ranges in width from 4 to 18 miles (6 to 29 kilometers) and has a depth of more than 1 mile (1.6 km). ==People== In 2019, the United States Census Bureau estimated Arizona's population was 7,278,717. English is the most-spoken language (72.9%), followed by Spanish (20.8%), Navajo (1.5%), German and Chinese (including Mandarin (0.4%)), Tagalog, Vietnamese, Other North American indigenous languages (especially indigenous languages of Arizona), and French (0.3%), and finally, Arabic, Apache, and Korean (0.2%). In 2010, 73.0% of people in Arizona were White/Caucasian, 4.6% were Native American, 4.1% were black, 2.8% were Asian, and 0.2% were Native Hawaiian and other Pacific islander. == Famous Arizonans == * Cesar Chavez - Civil rights leader * David Henrie - Actor on the television series ''Wizards of Waverly Palace'' * Danica Patrick - NASCAR driver * Linda Ronstadt - Pop singer * Barry Goldwater - Former senator and presidential nominee ==State Symbols== *The state nicknames are: The Grand Canyon State (official), The Copper State (unofficial), The Valentine State (unofficial), and The Apache State (unofficial). *The state motto is "Ditat Deus", which is Latin for "God Enriches". *The state slogan is "The Grand Canyon State" *The state amphibian is the Arizona tree frog. *The state bird is the Cactus Wren. *The state butterfly is the two-tailed swallowtail. *The state colors are Federal Blue & old gold *The state flower is the Saguaro cactus blossom. *The state fish is the Apache trout. *The state gem is turquoise. *The state mammal is the ring-tailed cat. *The state mineral is Wulfenite. *The state neckwear is the bolo tie. *The state reptile is the Arizona ridge-nosed rattlesnake. *The state ship is the USS Arizona. *The state soil is Casa Grande. *The state tree is the Palo Verde. *Both the state fossil and the state rock is petrified wood. {{BookCat|filing=deep}} ejxxb6nr8twqi5kk5lytpyiixgbqc0p 4635334 4635299 2026-05-11T20:53:51Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28407-75|~2026-28407-75]] ([[User talk:~2026-28407-75|talk]]) to last version by SouthParkFan65 4245865 wikitext text/x-wiki {{header}} [[File:Map of USA AZ.svg|150px|thumb|right|The location of Arizona in the United States]] Arizona is a state located in the southwestern region of the United States. The capital and largest city is Phoenix. Other big cities in Arizona include Tucson, Mesa, and Chandler. Arizona was the 48th state admitted to the union on February 14, 1912. Arizona borders [[Wikijunior:North_America/United_States/New_Mexico|New Mexico]], [[Wikijunior:North America/United States/Utah|Utah]], [[Wikijunior:North America/United States/Nevada|Nevada]], [[Wikijunior:North America/United States/California|California]] and touches [[Wikijunior:North America/United States/Colorado|Colorado]] at one of its corners. It is also bordered by parts of [[Wikijunior:North America/Mexico|Mexico]]. Residents are known as Arizonans. [[File:Flag of Arizona.svg|150px|thumb|right|Arizona's State Flag]] ==History== Humans have lived in Arizona for at least 20,000 years. Native American tribes that inhabited Arizona included the Hopi, Zuni, Navajo, and Apache. Arizona became a state on February 14, 1912 and the 48th state admitted into the union. Marcos de Niza, a Spanish Franciscan, explored the area in 1539 and met its original native inhabitants. Spain founded towns at Tubac in 1752 and Tucson in 1775. When Mexico achieved its independence from Spain in 1821, what is now Arizona became part of the Mexican Territory Nueva California. During the Mexican–American War in 1847, the U.S. occupied Mexico City and forced the newly founded Mexican Republic to give up its northern territories, including what later became Arizona. [[File:Canyon midday.jpg|thumb|250px|left|A section of the Grand Canyon]] ==Geography== Arizona is located in the western United States as one of the Four Corners states. Of the state's 113,998 square miles (295,000 km2), approximately 15% is privately owned. The remaining area is public forest and park land, recreation areas and Native American reservations. Arizona is best known for its desert landscape, which is rich in cactus plants. It is also known for its climate, which presents exceptionally hot summers and mild winters. Mountains and plateaus are found in more than half of the state. Arizona is also home to the Grand Canyon which is considered to be one of the Seven Natural Wonders of the World. The Grand Canyon is a colorful, steep-sided gorge, carved by the Colorado River, in northern Arizona. The Canyon was created by the Colorado River cutting a channel over millions of years, and is about 277 miles (446 km) long, ranges in width from 4 to 18 miles (6 to 29 kilometers) and has a depth of more than 1 mile (1.6 km). ==People== In 2019, the United States Census Bureau estimated Arizona's population was 7,278,717. English is the most-spoken language (72.9%), followed by Spanish (20.8%), Navajo (1.5%), German and Chinese (including Mandarin (0.4%)), Tagalog, Vietnamese, Other North American indigenous languages (especially indigenous languages of Arizona), and French (0.3%), and finally, Arabic, Apache, and Korean (0.2%). In 2010, 73.0% of people in Arizona were White/Caucasian, 4.6% were Native American, 4.1% were black, 2.8% were Asian, and 0.2% were Native Hawaiian and other Pacific islander. == Famous Arizonans == * Cesar Chavez - Civil rights leader * David Henrie - Actor on the television series ''Wizards of Waverly Palace'' * Danica Patrick - NASCAR driver * Linda Ronstadt - Pop singer * Barry Goldwater - Former senator and presidential nominee ==State Symbols== *The state nicknames are: The Grand Canyon State (official), The Copper State (unofficial), The Valentine State (unofficial), and The Apache State (unofficial). *The state motto is "Ditat Deus", which is Latin for "God Enriches". *The state slogan is "The Grand Canyon State" *The state amphibian is the Arizona tree frog. *The state bird is the Cactus Wren. *The state butterfly is the two-tailed swallowtail. *The state colors are Federal Blue & old gold *The state flower is the Saguaro cactus blossom. *The state fish is the Apache trout. *The state gem is turquoise. *The state mammal is the ring-tailed cat. *The state mineral is Wulfenite. *The state neckwear is the bolo tie. *The state reptile is the Arizona ridge-nosed rattlesnake. *The state ship is the USS Arizona. *The state soil is Casa Grande. *The state tree is the Palo Verde. *Both the state fossil and the state rock is petrified wood. {{BookCat|filing=deep}} d2x1o16nanlr2zd1wazkfjlhwxs6h9e Template talk:Header 11 180187 4635229 4635228 2026-05-11T11:59:51Z Cs24jam2 3583516 /* BCA KCP Talavera TLP/WA 08216977701 */ new section 4635229 wikitext text/x-wiki Why does this header add a red linked category subpages? {{unsigned|Thenub314|14:25, 6 January 2009}} == Kantor BCA Finance pusat TLP/WA 08216977701 == Jl. Metro Pondok Indah No.10 Lt 2, RT.3/RW.17, Pd. Pinang, Kec. Kebayoran Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12310 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:53, 11 May 2026 (UTC) == BCA KCP Summitmas TLP/WA 08216977701 == Summitmas I, Jl. Jend. Sudirman kav 52-53 No.61-62 Lt. Dasar, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:55, 11 May 2026 (UTC) == BCA KCP Blok M TLP/WA 082169777011 == BCA KCP Blok M TLP/WA 08216977701 Jl. Melawai Raya No.3, RT.3/RW.1, Melawai, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12160 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:56, 11 May 2026 (UTC) == BCA KCP Santa TLP/WA 08216977701 == BCA KCP Santa TLP/WA 08216977701 Jl. Wolter Monginsidi No.54, Petogogan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12790 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:57, 11 May 2026 (UTC) == BCA KCP Radio Dalam TLP/WA 08216977701 == BCA KCP Radio Dalam TLP/WA 08216977701 Jl. Radio Dalam Raya No.5 B-C, Gandaria Utara, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12140 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:58, 11 May 2026 (UTC) == BCA KCP Talavera TLP/WA 08216977701 == BCA KCP Talavera TLP/WA 08216977701 Talavera Office Park, Jl. TB Simatupang No.Kav. 26, RT.1/RW.1, Cilandak Bar., Kec. Cilandak, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12430 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:59, 11 May 2026 (UTC) heepcq59imhqhxwx8brymvnc57o1y3c 4635230 4635229 2026-05-11T12:01:07Z Cs24jam2 3583516 /* BCA KCU SCBD TLP/WA 08216977701 */ new section 4635230 wikitext text/x-wiki Why does this header add a red linked category subpages? {{unsigned|Thenub314|14:25, 6 January 2009}} == Kantor BCA Finance pusat TLP/WA 08216977701 == Jl. Metro Pondok Indah No.10 Lt 2, RT.3/RW.17, Pd. Pinang, Kec. Kebayoran Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12310 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:53, 11 May 2026 (UTC) == BCA KCP Summitmas TLP/WA 08216977701 == Summitmas I, Jl. Jend. Sudirman kav 52-53 No.61-62 Lt. Dasar, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:55, 11 May 2026 (UTC) == BCA KCP Blok M TLP/WA 082169777011 == BCA KCP Blok M TLP/WA 08216977701 Jl. Melawai Raya No.3, RT.3/RW.1, Melawai, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12160 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:56, 11 May 2026 (UTC) == BCA KCP Santa TLP/WA 08216977701 == BCA KCP Santa TLP/WA 08216977701 Jl. Wolter Monginsidi No.54, Petogogan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12790 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:57, 11 May 2026 (UTC) == BCA KCP Radio Dalam TLP/WA 08216977701 == BCA KCP Radio Dalam TLP/WA 08216977701 Jl. Radio Dalam Raya No.5 B-C, Gandaria Utara, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12140 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:58, 11 May 2026 (UTC) == BCA KCP Talavera TLP/WA 08216977701 == BCA KCP Talavera TLP/WA 08216977701 Talavera Office Park, Jl. TB Simatupang No.Kav. 26, RT.1/RW.1, Cilandak Bar., Kec. Cilandak, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12430 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:59, 11 May 2026 (UTC) == BCA KCU SCBD TLP/WA 08216977701 == BCA KCU SCBD TLP/WA 08216977701 Equity Tower, Ground Floor, Unit D & Lantai 8, Unit E, Jl. Jenderal Sudirman Floor 9, RT.5/RW.3, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:01, 11 May 2026 (UTC) pkd6t4ef1pf8tqgk8jpe7koa3mge0mf 4635231 4635230 2026-05-11T12:03:00Z Cs24jam2 3583516 /* BCA KCP Plaza Sentral TLP/WA 08216977701 */ new section 4635231 wikitext text/x-wiki Why does this header add a red linked category subpages? {{unsigned|Thenub314|14:25, 6 January 2009}} == Kantor BCA Finance pusat TLP/WA 08216977701 == Jl. Metro Pondok Indah No.10 Lt 2, RT.3/RW.17, Pd. Pinang, Kec. Kebayoran Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12310 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:53, 11 May 2026 (UTC) == BCA KCP Summitmas TLP/WA 08216977701 == Summitmas I, Jl. Jend. Sudirman kav 52-53 No.61-62 Lt. Dasar, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:55, 11 May 2026 (UTC) == BCA KCP Blok M TLP/WA 082169777011 == BCA KCP Blok M TLP/WA 08216977701 Jl. Melawai Raya No.3, RT.3/RW.1, Melawai, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12160 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:56, 11 May 2026 (UTC) == BCA KCP Santa TLP/WA 08216977701 == BCA KCP Santa TLP/WA 08216977701 Jl. Wolter Monginsidi No.54, Petogogan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12790 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:57, 11 May 2026 (UTC) == BCA KCP Radio Dalam TLP/WA 08216977701 == BCA KCP Radio Dalam TLP/WA 08216977701 Jl. Radio Dalam Raya No.5 B-C, Gandaria Utara, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12140 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:58, 11 May 2026 (UTC) == BCA KCP Talavera TLP/WA 08216977701 == BCA KCP Talavera TLP/WA 08216977701 Talavera Office Park, Jl. TB Simatupang No.Kav. 26, RT.1/RW.1, Cilandak Bar., Kec. Cilandak, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12430 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:59, 11 May 2026 (UTC) == BCA KCU SCBD TLP/WA 08216977701 == BCA KCU SCBD TLP/WA 08216977701 Equity Tower, Ground Floor, Unit D & Lantai 8, Unit E, Jl. Jenderal Sudirman Floor 9, RT.5/RW.3, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:01, 11 May 2026 (UTC) == BCA KCP Plaza Sentral TLP/WA 08216977701 == BCA KCP Plaza Sentral TLP/WA 08216977701 Jl. Jend. Sudirman No.Kav.47, Karet Semanggi, Kecamatan Setiabudi, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12930 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:03, 11 May 2026 (UTC) 3gmkk22wk3adwk8rcvm05ho9gytefjg 4635233 4635231 2026-05-11T12:39:55Z Cs24jam2 3583516 /* BCA KCP Graha Inti Fauzi TLP/WA 08216977701 */ new section 4635233 wikitext text/x-wiki Why does this header add a red linked category subpages? {{unsigned|Thenub314|14:25, 6 January 2009}} == Kantor BCA Finance pusat TLP/WA 08216977701 == Jl. Metro Pondok Indah No.10 Lt 2, RT.3/RW.17, Pd. Pinang, Kec. Kebayoran Lama, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12310 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:53, 11 May 2026 (UTC) == BCA KCP Summitmas TLP/WA 08216977701 == Summitmas I, Jl. Jend. Sudirman kav 52-53 No.61-62 Lt. Dasar, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:55, 11 May 2026 (UTC) == BCA KCP Blok M TLP/WA 082169777011 == BCA KCP Blok M TLP/WA 08216977701 Jl. Melawai Raya No.3, RT.3/RW.1, Melawai, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12160 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:56, 11 May 2026 (UTC) == BCA KCP Santa TLP/WA 08216977701 == BCA KCP Santa TLP/WA 08216977701 Jl. Wolter Monginsidi No.54, Petogogan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12790 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:57, 11 May 2026 (UTC) == BCA KCP Radio Dalam TLP/WA 08216977701 == BCA KCP Radio Dalam TLP/WA 08216977701 Jl. Radio Dalam Raya No.5 B-C, Gandaria Utara, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12140 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:58, 11 May 2026 (UTC) == BCA KCP Talavera TLP/WA 08216977701 == BCA KCP Talavera TLP/WA 08216977701 Talavera Office Park, Jl. TB Simatupang No.Kav. 26, RT.1/RW.1, Cilandak Bar., Kec. Cilandak, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12430 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 11:59, 11 May 2026 (UTC) == BCA KCU SCBD TLP/WA 08216977701 == BCA KCU SCBD TLP/WA 08216977701 Equity Tower, Ground Floor, Unit D & Lantai 8, Unit E, Jl. Jenderal Sudirman Floor 9, RT.5/RW.3, Senayan, Kec. Kby. Baru, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12190 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:01, 11 May 2026 (UTC) == BCA KCP Plaza Sentral TLP/WA 08216977701 == BCA KCP Plaza Sentral TLP/WA 08216977701 Jl. Jend. Sudirman No.Kav.47, Karet Semanggi, Kecamatan Setiabudi, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12930 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:03, 11 May 2026 (UTC) == BCA KCP Graha Inti Fauzi TLP/WA 08216977701 == BCA KCP Graha Inti Fauzi TLP/WA 08216977701 Gd. Graha Inti Fauzi, Jl. Buncit Raya No.22 Lt. Dasar, Pejaten Bar., Ps. Minggu, Kota Jakarta Selatan, Daerah Khusus Ibukota Jakarta 12790 [[User:Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|discuss]] • [[Special:Contributions/Cs24jam2|contribs]]) 12:39, 11 May 2026 (UTC) ijibjeu43nz2ibnhikzqfnrkob3l3ld 4635250 4635233 2026-05-11T14:11:41Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edits by [[Special:Contributions/Cs24jam2|Cs24jam2]] ([[User talk:Cs24jam2|talk]]) to last version by MathXplore 2952236 wikitext text/x-wiki Why does this header add a red linked category subpages? {{unsigned|Thenub314|14:25, 6 January 2009}} joa0re517i1uzvvejv29acm85rgzvvw Chinese (Mandarin)/Lesson 9 0 198197 4635372 4192844 2026-05-12T04:45:04Z Minipotatoes00 3584686 grammar 4635372 wikitext text/x-wiki <div class="noprint">{{TOCright}}</div> {{Chinese (Mandarin)TOC}} = Lesson 9: 請問火車站在哪裡? = == Dialogues == === Dialogue 1 === {| width="100%" |- | '''Traditional Chinese'''<br> (濃濃開車中,碰到路人妙妙)<br> 濃濃:不好意思,請問火車站在哪裡?<br> 妙妙:往前開,遇到紅綠燈右轉,它就在你的左手邊。<br> 濃濃:這樣大約要花多久時間呢?<br> 妙妙:大概要花十分鐘。<br> 濃濃:所以是往前開,紅綠燈右轉,車站在我的左邊,大概十分鐘囉?<br> 妙妙:是這樣沒錯。<br> 濃濃:非常感謝你。<br> <br> '''Simplified Chinese'''<br> (浓浓开车中,碰到路人妙妙)<br> 浓浓:不好意思,请问火车站在哪里?<br> 妙妙:往前开,遇到红绿灯右转,它就在你的左手边。<br> 浓浓:这样大约要花多久时间呢?<br> 妙妙:大概要花十分钟。<br> 浓浓:所以是往前开,红绿灯右转,车站在我的左边,大概十分钟​​啰?<br> 妙妙:是这样没错。<br> 浓浓:非常感谢你。<br> <br> '''Pinyin'''<br> (Nóng Nóng: kāichē zhōng, pèngdào lùrén Miào Miào)<br> Nóng Nóng: bùhǎoyìsi, qǐngwèn huǒchēzhàn zài nǎlǐ?<br> Miào Miào: wǎngqián kāi yùdào hónglǜdēng yòuzhuǎn tā jiù zài nǐde zuǒshǒu bian.<br> Nóng Nóng: zhèyàng dàyuē yào huā duōjiǔ shíjiān ne?<br> Miào Miào: dàgài yào huā shífēn zhōng.<br> Nóng Nóng: suǒyǐ shì wǎngqián kāi, hónglǜdēng yòuzhuǎn, chēzhàn zài wǒde zuǒbian, dàgài shífēn zhōng luo?<br> Miào Miào: shì zhèyàng méicuò.<br> Nóng Nóng: fēicháng gǎnxiè nǐ.<br> |} === Vocabulary === {| width="70%" ! Traditional !! Simplified !! Pinyin !! English |- | 不好意思 || 不好意思 || bùhǎo yìsi || ''phrase'' - excuse me / sorry / to feel embarrassed |- | 請 || 请 || qǐng || ''verb'' - please, may (always an honorifics) |- | 請問 || 请问 || qǐng wèn || ''phrase'' - may I ask... |- | 車 || 车 || chē || ''noun'' - a vehicle, usually a car. |- | 火車 || 火车 || huǒ chē || ''noun'' - train |- | 火車站 || 火车站 || huǒchē zhàn || ''noun'' - train station |- | 開車 || 开车 || kāi chē || ''phrase'' - to drive a car |- | 碰到/遇見 || 碰到/遇见 || pèngdào/yùjiàn || ''verb'' - encounter |- | 路人 || 路人 || lùrén || ''noun '' - passerby |- | 往前 || 往前 || wǎng qián || - to move forwards |- | 燈 || 灯 || dēng || ''noun'' - light, lamp, a device for giving light |- | 紅綠燈/信號燈 || 红绿灯/信號燈 || hónglǜdēng/xìnhàodēng || ''noun'' - traffic light |} === Translation === (Nong Nong ran into a walker, Miao Miao, while driving) Nong Nong: Excuse me, may I ask you where the train station is? Miao Miao: Drive forward, turn right at the traffic light and it will be on your left. Nong Nong: How long will it take? Miao Miao: About ten minutes. Nong Nong: So drive forward, turn right at the traffic light, the station will be on my left, about ten minutes? Miao Miao: That's right, very correct. Nong Nong: Thank you very much. {{BookCat}} == Grammar == === ……在哪里? / ……在哪裡? === The sentence means "where is ...?". In Chinese, we can use this phrase to ask something's location. If we get to characters, the sentence would be like "... is where?", which is just like “……是什么”(literally ... is what) and “……是谁”(literally ... is who). In spoken Chinese, it's also possible to attach an -r sound to the character "哪", therefore it changes to “……在哪儿?” 8avgi9b17rbtgs317f87hhub2d11nbc User:Tommy Kronkvist 2 222668 4635384 4634915 2026-05-12T08:38:39Z Tommy Kronkvist 107268 User statistics. 4635384 wikitext text/x-wiki <div style="margin: 0 0 1em 0;">{{userpage}}</div> {{Userboxtop|toptext=Babel:}} {{user language|sv|N}}{{user language|en|4}}{{user language|de|2}}{{user language|la|1}} {{userboxbreak|toptext=WikiProjects:}} {{User Chess}} {{Userboxbottom}} [[File:Sorbus torminalis Trunk and canopy.jpg|thumb|200px|left]]<br /> Most of my wiki contributions are made to [[:species:Main Page|Wikispecies]] where I'm an administrator, bureaucrat and interface admin,<small><sup>[https://species.wikimedia.org/w/index.php?title=Special:ListUsers&limit=1&username=Tommy_Kronkvist (verify)]</sup></small> as administrator and interface ditto at the Swedish version of [[wikivoyage:sv:Huvudsida|Wikivoyage]]<small><sup>(<span class="plainlinks">[https://sv.wikivoyage.org/w/index.php?title=Special:ListUsers&limit=1&username=Tommy_Kronkvist verify]</span>)</sup></small> and to the Swedish Wikimedia Chapter [[WMSE:|Wikimedia Sverige]], where I'm also an admin.<small><sup>(<span class="plainlinks">[https://se.wikimedia.org/w/index.php?title=Special:Användare&limit=1&username=Tommy_Kronkvist verify]</span>)</sup></small> I've made a total of [[:meta:Special:CentralAuth/Tommy_Kronkvist|392,200 edits]] to 153 different Wikimedia sister projects, since August 2008 when I first registered my user account. (Data per May 12, 2026.) Swedish is my mother tongue&nbsp;– even though I was born in Finland&nbsp;– but I feel fairly comfortable speaking and writing English and some German as well. Odd as it may seem, unfortunately I can't speak any Finnish. My family name consists of two parts: ''kron'' – a short form of the Swedish word ''krona'' meaning 'crown', as in coronation crown or tree crown – and ''kvist'', meaning 'bough' or 'twig'. Hence the name ''Kronkvist'' refers to a twig in the canopy of a forest. I'm the fourth generation of Kronkvist's. Before that our family name was ''Mattus'', dating back from at least 1637. I've lived all over Sweden (for example in Stockholm and in the Gothenburg area) but nowadays reside in Uppsala, the fourth biggest city and former capital of Sweden. makw76foxk0gokwdh7xytafe76k9orc Aros/Platforms/x86 Complete System HCL 0 237398 4635378 4635114 2026-05-12T07:05:43Z Jeff1138 301139 4635378 wikitext text/x-wiki {{ArosNav}} ==Introduction== This a list of computer hardware tested with mostly native AROS installs and, in the recommended sections, of virtual machines With 64bit support it is recommended 8Gb ram is needed and that SSE 4.1 and AVX are supported in the CPU i.e. from year 2012 for Intel CPUs and 2013 for AMD CPUs. They are x86-64 instruction sets designed to perform the same operations on multiple data items simultaneously, a technique known as Single Instruction, Multiple Data (SIMD). This allows for increased performance in tasks involving parallel computation. SSE 4.1 is a 128-bit SIMD instruction set, while AVX introduced 256-bit SIMD, further enhancing performance. Some apps require these features to run well, like 3D, multimedia decoding or JIT (javascript) in Odyssey web browser. If not the apps may work slower or might fail. If you have encountered differently (i.e. problems, incompatibilities, faults, annoyances, environment, errors, review of setup etc) please update this information. Please bear in mind that AROS has only a few hardware driver developers, whilst Linux counts in the tens and Windows in the hundreds. [[#Laptops]] [[#Netbook]] [[#Desktop Systems]] [[#AMD Sockets]] [[#Intel Sockets]] [[#Recommended hardware (32-bit)]] [[#Recommended hardware (64-bit)]] === Laptops === [[#top|...to the top]] * 2006/2007 Dell Latitude D-series laptops - business class machines, good support in Aros, easy to replace wifi card * 2006 some [https://www.techradar.com/reviews/pc-mac/laptops-portable-pcs/laptops-and-netbooks/toshiba-satellite-pro-a200-28550/review Satellite Pro A200] * 2008 For the tiny carry anywhere, the early run of Acer Aspire netbooks Rough estimate from taking a random laptop notebook what you can expect from a Native install of AROS {| class="wikitable sortable" width="100%" ! width="10%" |Date ! width="5%" |Overall ! width="5%" |Gfx VESA ! width="5%" |Gfx 2D Acceleration ! width="10%" |Gfx 3D Acceleration ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="10%" |Wireless ! width="20%" |Comments |- | Before 2002 || Poor to OK || VESA 90% || 2D 10% || {{N/A}} || Audio 10% || 40% || Wired 70% || 2% || Max RAM 512MB |- | 2002-2005 || OK || VESA 95% || 2D 10% || 3D 0% || Audio 30% || 70% || Wired 50% || 10% || Max RAM 2GB (for 32bit) |- | 2005-2012 || Good || VESA 98% || 2D 60% || 3D 30% || Audio 40% || 80% || Wired 30% || 10% || Max RAM 3Gb (32bit) to 8GB (64bit) |- | 2013-2017 || OK || VESA 98% || 2D 10% || 3D 0% || Audio 20% || 20% || Wired 20% || 0% || Max RAM 8GB / 16GB better to go Ryzen over older AMD A series |- | 2018-2024 || Poor || VESA 98% || 2D 0% || 3D 0% || Audio 20% || 0% || Wired 30% || 0% || Max RAM 32GB better 64bit option with a internal dvd drive and ethernet |- | 2025-202x || Poor || VESA 95% || 2D 0% || 3D 0% || Audio 0% || 0% || Wired 10% || 0% || Max RAM 64GB AI disruption of previous hardware |- |} 3D tests now conducted with apps found in Demos/AROS/Mesa and run at default size (may need to View As -> Show All to see them. Any laptop with Windows 7(TM) 64bit or higher install, the bios and hard drive set in uefi/gpt mode (install of AROS incompatible) Most vendor suppliers get OEM (original equipment manufacturers) to make their laptops. These brand name companies purchase their laptops from *80% ODM (Original Design Manufacturer) such as Quanta, Compal, Wistron, Inventec, Foxconn (Hon Hai), Flextronics and Asus (now Pegatron) *20% MiTAC, FIC, Arima, Uniwill, ECS, Tonfang Origin and Clevo {| class="wikitable sortable" width="100%" | <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}} |- |} ====Acer/Gateway/Emachines==== Company founded under the name of Multitech in Taiwan in 1976, renamed to Acer or Acer Group in 1987 Order of build quality (Lowest to highest) <pre > Packard Bell Aspire Extensa TimeLine Travelmate </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="2%" |Ethernet ! width="5%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Travelmate 505 506 507 508 Series || <!--Chipset-->P2 Celeron 466Mhz || <!--IDE-->{{Yes|boots}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neo Magic Magic Graph 128XD (NM2160)}} || <!--Audio-->{{No|AC97 Crystal CS}} || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 minimal support but no audio etc - 506T, 506DX, 507T, 507DX, 508T |- | <!--Name-->TravelMate 340 342 343 345 347 || <!--Chipset-->ALi M1621 with piii || <!--IDE--> || <!--SATA--> || <!--Gfx-->Trident Cyber 9525 || <!--Audio-->{{No|ESS ES1969 Solo-1}} || <!--USB-->2 ALi OHCI USB 1.1 || <!--Ethernet-->a few have Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2000 32bit - 340T, 341T, 342T, 342TV, 343TV, 345T, 347TV |- | <!--Name-->TravelMate 350 351 352 353 || <!--Chipset-->Ali with piii || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->Trident Cyber Blade DSTN/Ai1 || <!--Audio-->{{No|ali5451}} || <!--USB-->2 USB 1.1 Ali M5237 OHCI || <!--Ethernet-->e100 || <!--Wireless-->Acer InviLink IEEE 802.11b || <!--Test Distro--> || <!--Comments-->2001 32bit very limited support but no support for PCMCIA O2 Micro OZ6933 - 350T, 351TEV, 352TEV, 353TEV |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->TravelMate 610 series 611 612 613 614 || <!--Chipset-->815 P3 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 82815 cgc || <!--Audio-->AC97 || <!--USB-->USB 1.1 || <!--Ethernet-->Intel e100 pro || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2001 32bit - 610TXVi 610T 611TXV 612TX 613TXC |- | Aspire 3003LM || SIS AMD 3000 1.8GHz || {{yes}} || {{N/A}} || {{maybe|SIS AGP M760GX (VESA only)}} || {{yes|AC97 SIS codec}} || 3 USB 2.0 || {{yes|SIS900}} || {{no|Broadcom BCM4318 AirForce One 54g}} || Icaros 1.2.4 || 2003 sempron |- | Travelmate 2310 Series ZL6 || Intel Celeron M 360 1.4GHz with SiS 661MX || {{yes}} || {{N/A}} || {{maybe|SiS Mirage M661MX (VESA only)}} || {{yes|SIS SI7012 AC97 with realtek ALC203 codec speakers only}} || || {{yes|SIS900}} || {{N/A|LM version has pci card slot but no antenna}} || Icaros 2.1.1 || 2004 32bit - No USB boot option but boot from DVD - reports of wifi losing connection (isolate/remove the metallic grounding foil ends of the antennas) - 2312LM_L - |- | <!--Name-->Aspire 3000 3002LMi 3500 5000 || <!--Chipset-->AMD CPU W-with SIS M760 || <!--IDE--> || <!--SATA--> || <!--Gfx-->SIS 760 || <!--Audio-->SIS || <!--USB--> || <!--Ethernet-->SIS 900 || <!--Wireless-->{{No|Broadcom BCM4318 swap for Atheros}} || <!--Test Distro--> || <!--Comments-->2005 32bit |- | <!--Name-->Aspire 3050 5020 5050 || <!--Chipset-->AMD Single and Turion MK-36 Dual and RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - RS482M Xpress 1100 or RS485M Xpress 1150 || <!--Audio-->HD Audio Realtek ALC883 || <!--USB--> || <!--Ethernet-->8139 || <!--Wireless-->Atheros 5006G or Broadcom BCM 4318 || <!--Test Distro--> || <!--Comments-->2005 32bit MK36 gets very hot |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->TravelMate 2410 2420 2430 series || <!--Chipset-->915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel Mobile 915GMS 910GML || <!--Audio-->Intel AC97 ICH6 with ALC203 codec || <!--USB-->4 USB2.0 || <!--Ethernet-->Realtek RTL-8139 || <!--Wireless-->Atheros 5005GS || <!--Test Distro--> || <!--Comments-->2005 32bit 2428AWXMi - |- | <!--Name-->Acer Aspire 3610 - WISTRON MORAR 3614WLMI || <!--Chipset-->Intel 915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 2D and 3D}} || <!--Audio-->{{yes|[http://www.amiga.org/forums/showpost.php?p=644066&postcount=13 AC97]}} || <!--USB--> || <!--Ethernet-->{{yes|RTL 8139 8139C+}} || <!--Wireless-->{{Maybe|Atheros AR5001X+, AR5BMB5 or Broadcom 4318}} || <!--Test Distro--> Icaros 1.2.4 || <!--Comments-->2005 32bit with good support [http://ubuntuforums.org/showthread.php?p=6205188#post6205188 wifi issues] |- | <!--Name-->TravelMate 2480 series 2483 WXMi (HannStar J MV4 94V) 2483NWXCi Aspire 3680, 3690 || <!--Chipset-->940GML i943 with Celeron 430 1.77GHz - 14.1" || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D and 3D openGL 1.x - Tunnel 181 gearbox 104 scores}} || <!--Audio-->{{Yes|HD Audio with ALC883 codec playback}} || <!--USB-->{{Yes|3 USB 2.0}} || <!--Ethernet-->{{No|Marvell 88E8038 yukon sky2}} || <!--Wireless-->{{No|Atheros 5k AR5005G AR5BMB5 mini pci}} suspect laptop hardware issues || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2006 Works well shame about the internet options - noisy fan - poor battery life - no boot option for TI based mass storage sd card - Max 2GB memory - LCD Inverter Board IV12090/T-LF - |- | <!--Name-->TravelMate 2490 series 2492WXMi || <!--Chipset-->940GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|Intel 945 2D and 3D tunnel 164 gearbox 105}} || <!--Audio-->{{Yes|HD Audio}} || <!--USB--> || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->{{No|Atheros AR5005GS suspect hardware issue}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2006 32bit - 15inch screen - strange curved up at ends keyboard style - overall plastic construction - Atheros AR5005G(s) - |- | <!--Name-->Gateway ML6227B MA7 || <!--Chipset-->Celeron M 520 1.6Ghz with 945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|945GM 2D and 3D tunnel 169 gearbox 132}} || <!--Audio-->{{No|HDA Intel with STAC9250 codec}} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8038}} || <!--Wireless-->{{No|8187L but swap ath5k mini pcie}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2006 15.4 ultrabrite widescreen - Wifi Switch on side Fn/F2 - |- | <!--Name-->Acer Aspire 5630-6796 6288 BL50 || <!--Chipset-->T5200 T5500 Intel® Core™2 Duo T7200 T7400 T7600 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel® GMA 950 with S-Video out with 2D and 3D}} || <!--Audio-->{{Yes|HDAudio with ALC883? codec}} || <!--USB-->{{Yes|4 USB}} || <!--Ethernet-->{{yes|Broadcom BCM4401}} || <!--Wireless-->{{No|Intel 3945abg swap for Atheros 5K}} || <!--Test Distro-->Tiny AROS || <!--Comments-->2006 - 64bit 39.1 cm (15.4" 1280 x 800) - 2 DDR2-SDRAM slots max 4GB - green mobo?? - |- | <!--Name-->Acer Aspire 5633WMLI BL51 || <!--Chipset-->T5500 with Intel® 945PM/GM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE mode}} || <!--Gfx-->{{Yes|Nvidia Go 7300 with 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with Realtek codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{yes|Broadcom 440x}} || <!--Wireless-->{{No|Intel 3945 swap for Atheros 5k}} || <!--Test Distro-->Tiny Aros || <!--Comments-->2007 64 bit dual core2 - 15.4 WXGA screen - ddr2 max 4gb - OrbiCam no support - ENE chipset SD card - blue mobo?? - |- | <!--Name-->Acer Aspire 9410 9420 || <!--Chipset-->Intel Core Duo with 945PM Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D NVIDIA GeForce Go 7300 - 128 MB VRAM G72M}} || <!--Audio-->{{Yes|Intel HD audio with codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 8111 }} || <!--Wireless-->{{No|Intel 3945ABG but could swap with atheros 5k}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2007 32bit - 17in TFT 1,440 x 900 WXGA+ - 2 ddr2 sodimm slots max 4gb - |- | <!--Name-->eMachines E510 series KAL10 || <!--Chipset-->Intel Celeron M 560 2.13Ghz with PM965 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel x3100 || <!--Audio-->{{Yes|Intel with codec}} || <!--USB-->Intel || <!--Ethernet-->{{No|Broadcom BCM5906M}} || <!--Wireless-->{{No|Atheros G AR5BXB63 bios issue??}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2007 32bit very budget machine with InsydeH20 bios and F10 boot menu |- | <!--Name-->ACER Aspire 5920 5920G || <!--Chipset-->Santa Rosa Core 2 Duo T7300 T7500 later T9300 with GM965 and PM965(G) Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA for X3100M or 8600M GS (rev a1) 9500M GT 256MB vram (G) but some AMD/ATI RV635 M86 HD 3650}} || <!--Audio-->{{No|HD Audio with realtek alc888 codec ICH8}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Broadcom BCM5787M}} || <!--Wireless-->{{unk|Intel 3945ABG 4965 or Atheros 9k AR9285}} || <!--Test Distro-->Deadwood test iso 2023-01 2023-11 || <!--Comments-->2008 64bit boot with 'noacpi' or 'noioapic' - 15.4in 1280 x 800 pixels 16:10 - BMW Designworks ‘Gemstone’ design - over 3.0kg with options for 8-cell or 6-cell batteries - 2 SODIMM DDR2 667MT/s max 4GB - synaptics touchpad - |- | <!--Name-->Acer A0521 Ao721 || Athlon II Neo K125 + AMD M880G || {{N/A}} || {{maybe| }} || {{maybe|ATI Radeon HD 4225 (VESA only)}} || {{No|Conexant}} || {{Maybe| }} || {{no|AR8152 l1c}} || {{unk|AR9285 ath9k}} || AspireOS 1.7 || 2006 64bit possible |- | <!--Name--> Extensa 5630Z || <!--Chipset-->T6600 with Intel GL40 Express || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|IDE mode}} || <!--Gfx--> {{Yes|Intel GMA 4500M HD (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet--> {{No|Broadcom BCM 5764M}} || <!--Wireless--> {{No|RaLink RT2860}} || <!--Test Distro--> || <!--Comments-->2008 64bit |- |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Aspire 5250 series 5253 BZ400 BZ602 || <!--Chipset-->E350 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA 2D for AMD HD6310}} || <!--Audio-->{{yes|HDaudio for codec Conexant CX20584}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Atheros AR8151}} || <!--Wireless-->{{no|Atheros 9k AR5B97}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->Aspire V5 V5-121 V5121 AO725 One 725 || <!--Chipset-->AMD C-70 C70 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|VESA for AMD 6290G}} || <!--Audio-->{{no|Realtek ALC269 codec}} || <!--USB-->{{yes|2 x USB2}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->Aspire V5-122P MS2377 || <!--Chipset-->C-70 C70 with M55, AMD A4-1250 or A6 1450 up to 1.4Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->AMD 8210 || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|FCH USB EHCI OHCI}} || <!--Ethernet-->{{Maybe|rtl8169 but LAN/VGA Combo Port Cable (AK.LAVGCA 001) or MiniCP port to Acer Converter Cable (Mini CP to VGA/LAN/USB) (NP.OTH11 00C) needed}} || <!--Wireless-->{{unk|Atheros 9k AR9565}} || <!--Test Distro-->Aros One || <!--Comments-->2012 64bit but no sse4 or avx - 26w battery internal, extension possible - 11.6in 1366 x 768 ips touchscreen - 7mm hd ssd - 2gb ddr3l soldered with 1 slot free max 4GB - bios hacking needed for virtualisation - |- | <!--Name-->Packard Bell EasyNote TE69 TE69KB 522 || <!--Chipset-->slow E1-2500, E2-3800 2c2t Dual or A4-5000 4c4t Quad both soldered BGA769 (FT3) on Hudson-2 FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|Use IDE mode}} setting AHCI to IDE mode - boots if UEFI set to Legacy || <!--Gfx-->{{Maybe|VESA 2D for ATI Radeon 8120 8240, 8320, 8330 or 8280 islands}} || <!--Audio-->{{Yes|HDAudio with ALC282 0x10ec, 0x0282 codec but not HDMI}} || <!--USB-->{{Yes|Bios, Boot, set Boot mode to Legacy, nothing from USB3}} || <!--Ethernet-->{{No|Atheros AR8171 AR8175 or Broadcom BCM57780}} || <!--Wireless-->{{unk|Atheros AR9565 0x1969 0x10a1}} || <!--Test Distro-->Aspire OS Xenon and AROS One 1.6 usb || <!--Comments-->2013 64bit with sse4.1 and AVX - 15.6in washed out screen big netbook - Boots with noacpi after using F2 to enter EFI firmware and f12 boot device - 2 ddr3 sodimm slots max 16Gb - |- | <!--Name-->ASPIRE Acer Aspire ES1-520 521 522 Series N15C4 ES1-523 || <!--Chipset-->AMD AMD E1-7010, A8-7410 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{partial|VESA for RADEON R5}} || <!--Audio-->{{no|Realtek ALC 233 or CX20752 HD AUDIO CODEC}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Atheros AR8151 Gigabit or Broadcom 590x}} || <!--Wireless-->{{no|Realtek RTL8187 or 8812BU}} || <!--Test Distro-->Aros One || <!--Comments-->2015 64bit with sse4.1 and AVX - 2 ddr3l slots - keyboard connected to top case - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Nitro 5 an515-42 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD rx560x || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - |- | <!--Name-->aspire 3 A315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - |- | <!--Name-->swift 3 sf315-41 || <!--Chipset-->Ryzen 2500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD Vega || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - |- | <!--Name-->Acer Aspire 3 A315-23 || <!--Chipset-->AMD Ryzen 3020e, r3 3200u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - |- | <!--Name-->Aspire 3, 5 A515-44-R0ZN || <!--Chipset-->AMD Ryzen 5 4500u || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15.6" 1080p - 19v round charging - [https://www.youtube.com/watch?v=vr0tC3QJWxk repair], 4gb soldered with 1 ddr4 sodimm slot - |- | <!--Name-->Swift 3 SF314-42 series N19C4 , Swift SF315-4 || <!--Chipset-->Ryzen 5 4500U, 7 4700U|| <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 64bit 1080p - small round ac 19v 3.42A or usb-c - mobo FH4FR LA-J731P - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Acer Swift 3 SF314-43, Swift SF315-41 || <!--Chipset-->Ryzen 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 1080p - small round ac or usb-c - |- | <!--Name-->Aspire 5 A515-45 || <!--Chipset-->r7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac - |- | <!--Name-->Aspire 5 A515-47 || <!--Chipset-->ryzen 5 5625U, || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->AMD || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - asus round ac - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Asus==== [[#top|...to the top]] {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Asus L8400-K Medion MD9467 || <!--Chipset-->Intel desktop 850MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->S3 Savage MX || <!--Audio-->{{No|ESS allegro 1988}} || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 32bit |- | <!--Name-->Asus L2000 L2400 L2D Series Medion 9675 || <!--Chipset-->Athlon 4 mobile || <!--IDE--> || <!--SATA--> || <!--Gfx-->use vesa sis630 || <!--Audio-->{{No|sis7018}} || <!--USB--> || <!--Ethernet-->sis900 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->x51R X51RL || <!--Chipset-->Duo T2250 T2330 with RS480 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA RC410 [Radeon Xpress 200M]}} || <!--Audio-->{{Yes|HD with codec}} || <!--USB-->{{Maybe|boots and detects}} || <!--Ethernet-->{{Yes|RTL-8139}} || <!--Wireless-->{{No|Atheros AR5006EG AR5111 ath5k AzureWave AW-GE780 - could be ATI Chipset}} || <!--Test Distro-->Icaros 2.2, deadwood 2021, || <!--Comments-->2003 32bit 15.4 WXGA - 19v barrel - ESC boot select - F2 bios - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Asus R2H Ultra Mobile PC UMPC || <!--Chipset-->Celeron 900Mhz 910GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA900 || <!--Audio-->Ac97 ALC880 || <!--USB--> || <!--Ethernet-->realtek 8169 8101e || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit [https://www.youtube.com/watch?v=Jm4fOrqyj3g boots] |- | <!--Name-->Asus A3 series A3F Ergo Ensis 211 RM || <!--Chipset-->P-M 1.6GHz to Core Duo with 950 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->Ac97 ALC655 || <!--USB--> || <!--Ethernet-->Realtek 8100CL 10/100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2004 32bit only |- | <!--Name-->Z33 || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915GM || <!--Audio-->HD Audio ALC880 || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Intel 2915ABG || <!--Test Distro--> || <!--Comments-->2005 32bit Z33A Z33AE N5M N5A |- | Z70A Z70V Z70Va M6A z7000 z7000a || i915 + ICH6 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|mobile 915GML}} || <!--Audio-->{{no|ICH6 HD Audio}} || <!--USB-->{{yes|USB2.0}} || <!--Ethernet-->{{no|Marvell 88E8001}} || {{no|Intel PRO 2200BG Fn / F2}} || Icaros 1.3 || 2005 32bit |- | [http://www.progweb.com/en/2010/09/linux-sur-un-portable-asus-a6jm/ A6jm] A6JC || 945GM || IDE || SATA || {{yes|nVidia GeForce Go 7600 G70}} || {{no|HD Audio}} || {{yes|USB}} || {{yes|RTL8111 8168B}} || {{no|Intel 3945 ABG}} || Icaros 1.2.4 || 2006 32bit only |- | <!--Name-->F3Jc || <!--Chipset-->945PM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->G72M Quadro NVS 110M, GeForce Go 7300 || <!--Audio-->D audio || <!--USB--> || <!--Ethernet-->realtek 8169 8111 || <!--Wireless-->Intel 3945 || <!--Test Distro--> || <!--Comments-->2007 32bit - |- | <!--Name-->X50GL F5GL || <!--Chipset-->T5800 with 965 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe}} || <!--Gfx-->{{Maybe|use VESA 2d - Nvidia 8200M G84 runs hot}} || <!--Audio-->{{No|HD Audio MCP79 with codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|MCP79}} || <!--Wireless-->{{No|Atheros AR5B91 AW-NE77}} || <!--Test Distro-->Icaros 2.2 || <!--Comments-->2008 64bit not much support no display with nouveau - 19v barrel - ddr2 max 4gb - |- | <!--Name-->ASUS G50 & G51 series G50V G50Vt G51V G51VX G51J G51Jx G50VT X1 X5 ROG || <!--Chipset-->AMD64 with MCP71 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->nVidia GeForce 9800M GS (G94M) up to GT200 [GeForce GTX 260M] (G92M) || <!--Audio-->Nvidia HD Audio with codec || <!--USB--> || <!--Ethernet-->{{No|Atheros L1C atl1c}} || <!--Wireless-->Atheros G or Intel || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2009 64bit not all GPUs are failing but a much higher % failing early, 8x00 and 9x00 G84, G86, G92, G94, and G96 series chips dying - ddr2 max 4gb - |- | <!--Name-->M50V M50 series || <!--Chipset-->Intel Core 2 Duo P8400 or T9400 with Intel PM45 ICH9 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|BIOS set to compatibility IDE mode}} || <!--Gfx-->NVIDIA GeForce 9600M GS or 9650M GT || <!--Audio-->HDAudio with Realtek ALC663 || <!--USB-->USB2 || <!--Ethernet-->{{Yes|rtl8169 realtek 8169 8111C}} || <!--Wireless-->{{unk|Intel 5100 or Atheros AR928X}}|| <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2009 64bit - 15.40 inch 16:10, 1680 x 1050 glossy - the "Infusion" design - heavy 3kg - ddr2 ram max 4gb - |- | <!--Name-->Series F9 F9E F9dc F9f F9j F9s || <!--Chipset-->965GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{maybe|Vesa}} || <!--Audio-->{{yes|HD Audio ALC660 playback}} || <!--USB-->{{yes|works}} || <!--Ethernet-->{{yes|RTL8169 }} || <!--Wireless-->{{no|intel 3495 not working}} || <!--Test Distro-->Icaros 1.41 || <!--Comments-->2009 64bit - ddr2 max 4gb - |- | P52F SO006X || i3-370M || IDE || SATA || {{yes|nVidia G92 [GeForce 9800 GT] (2D)}} || {{no|Intel HD Audio}} || {{yes|2 USB2.0}} || {{no|Atheros AR8121 AR8113 AR8114 (l1e)}} || {{dunno}} || Icaros 1.3 || 2010 64bit - ddr3 slot - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Asus * X53U MB Ver K53U or K52U Asus K53U MB Ver K53U * A53U XT2 X53B MB ver: K53BY (compal) || <!--Chipset-->Slow atom like speed E-350 (2011), E-450 (2011) on AMD M780G, much slower C-50 C50 (2012), C-60 C60 on the AMD A50M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA ATi 6310M, 6320M later 6250M or 6290M}} || <!--Audio-->{{Yes|HD audio with alc269 codec Altec Lansing® Speakers}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Unk|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{unk|Atheros half height ar9285}} || <!--Test Distro-->Icaros 2.1.2 and AROS One 1.6 USB || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 5200 or 7800 mAh battery covers ASUS K53S K53E X54C X53S K84L X53SV X54HR K53F X53U laptops - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm - |- | <!--Name-->Asus K53T, Asus A53Z X53Z || <!--Chipset-->AMD A4-3305M on AMD M780G, A6-3420M dark brown plastic build || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|VESA 2D for AMD 6520G, 7670M}} || <!--Audio-->{{Yes|HD audio with codec}} || <!--USB-->{{Yes|3 x USB2}} || <!--Ethernet-->{{Yes|rtl8169 with RTL8111 phy}} || <!--Wireless-->{{No|Atheros half height}} || <!--Test Distro-->AROS One USB || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 dull 50% srgb screen - f2 bios setup, esc boot drive - 2 DDR3L slots max 8Gb - 19v barrel 5.5 / 2.5 mm - Altec Lansing® Speakers - |- | <!--Name-->X55U X401U X501U 1225B || <!--Chipset-->slow C-60 C60, C-70 C70 or E1 1200 E2 1800 || <!--IDE--> || <!--SATA--> || <!--Gfx-->6290G || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 11.6" display - ram soldered - |- | <!--Name-->Asus A43TA A53TA K53TA XE2 A73T || <!--Chipset-->AMD A4-3300M, A6 3400M (laptop chip) || <!--IDE-->{{N/A|}} || <!--SATA-->{{yes|Set IN Bios IDE MODE}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon HD 6520G Integrated + HD 6470M (1GB GDDR3)}} || <!--Audio-->{{yes| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Unk|}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - f2 bios setup, esc boot drive - |- | <!--Name-->X102BA || <!--Chipset-->Llano E1 1200 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|ide bios setting}} || <!--Gfx-->Radeon HD 8180 || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->RTL8101E RTL8102E || <!--Wireless-->{{unk| Qualcomm Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 10.1” Touchscreen - special asus 45w ac adapter - |- | <!--Name-->K55N, K75DE || <!--Chipset-->AMD a6 4400M A8 4500M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->AMD 7640G || <!--Audio-->HD Audio with ALC codec none through ATi Trinity HDMI || <!--USB-->{{maybe| }} || <!--Ethernet-->rtl8169 || <!--Wireless-->{{unk| Atheros AR9485}} || <!--Test Distro--> || <!--Comments-->2013 64bit does support AVX or SSE 4.1 - 17.3-inch - |- | <!--Name-->X452EA X552EA F552E || <!--Chipset-->AMD E1 2100 or A4 5000M A8 4500M A10 4600M with A || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for AMD ATI Sun XT Radeon HD 8330 8670A 8670M 8690M}} || <!--Audio-->{{Yes|AMD FCH Azalia rev 02 with ALC898 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{{Yes|Realtek RTL8111 8168 8411}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->Icaros 2.1 || <!--Comments-->2013 64bit may support avx kabini trinity - |- | <!--Name-->Asus X555Y || <!--Chipset-->AMD A6-7210 A8-7410 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|rtl8169 Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery - |- | <!--Name-->Asus X555B X555DG X555S X555U X555YI X555LAB || <!--Chipset-->Intel Core i5-4210U to || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for Intel}} || <!--Audio-->{{No|HDAudio with coxenant and realtek alc codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek}} || <!--Wireless-->{{no| }}Realtek || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 4gb soldered with 1 ddr3 slot - silver-colored plastic - internal battery - |- | <!--Name-->Asus X555D || <!--Chipset-->AMD A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->{{unk|2.5" and mSATA form factors using SATA Rev 3.0 interface }} || <!--Gfx-->{{Maybe|VESA 2D for AMD R6}} || <!--Audio-->{{unk|HD Audio codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in 1366 x 768 - 4gb soldered with 1 ddr3 slot - silver-coloured plastic - internal battery - keyboard swap problematic - |- | <!--Name-->ASUS X555Q || <!--Chipset-->AMD® Bristol Ridge A10-9600P 7th Gen, A12-9720p || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|R5 + Radeon™ R6 M435DX Dual Graphics with VRAM GCN 3}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek 8821AE}} || <!--Test Distro--> || <!--Comments-->2017 64bit - FHD 15.6 1920x1080 - 37W battery internal - 4gb soldered with 1 ddr3 slot - internal battery - |- | <!--Name-->ASUS M509ba || <!--Chipset-->AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|2.5" and mSATA form factors using SATA Rev 3.0 interface}} || <!--Gfx-->{{Maybe|Vesa 2d for RADEON R5}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1366 x 768 - 1 ddr4 sodimm slot max 16Gb - 19VDC 2.37A Max 45W 4.0mm x 1.35mm - keyboard swap problematic - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->ExpertBook P1410, ASUS ExpertBook P1 P1510CD, Expertbook Y1511CD || <!--Chipset-->Ryzen 3 3200U, Ryzen 5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->Nvme || <!--Gfx-->{{Maybe|Vesa 2d for AMD}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2019 64bit 14in or 15.6in 768p to 1080p - keyboard swap problematic - 19V 3.42A asus barrel connector 4.0MM X 1.35MM 4phi - |- | <!--Name-->ASUSTeK ASUS EXPERTBOOK L1 L1400CDA, L1500CDA - 19v 3.42a 4.5phi Barrel with centre pin Outer 4.5mm Inner 3mm asus special untested EXA1203XH, EXA1203YH, EXA1208UH, PA-1650-30, PA-1650-78, PA-1650-93, ADP-65GD B, ADP-65DW B (Euro) || <!--Chipset-->'''tested''' Ryzen 5 3500U - '''untested''' Ryzen 3 3200U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 Nvme m.2 slot will not boot with sata3 m.2, optional 1 sata hdd with ribbon cable, no dvd drive}} || <!--Gfx-->{{Maybe|Vesa 2d for AMD vega 3, 8}} || <!--Audio-->{{unk|HDaudio 0x15de 0x15e3 with ALC256 codec 0x10ec 0x0256}} || <!--USB-->{{maybe|USB3 1 usb-c and 3 usb-a }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG }} || <!--Wireless-->{{No| }} || <!--Test Distro-->3500U with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2019 64bit 14in or 15.6in 1080p - keyboard swap problematic - up to 8Gb ddr4 sodimm soldered on board and 1 slot - micro sd card slot on some models - 42Whr B31N1915 C31N1915 C31N2204 - hold down F2 and press power for bios setup - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ==== Dell ==== [[#top|...to the top]] Order of build quality (Lowest to highest) <pre > Studio Inspiron Vostro XPS Alienware Precision Latitude </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="10%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="5%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Latitude CP 233GT, CPi d233xt d266xt D300XT a366xt, CPt S400GT S500GT S550GT S600GT S700ST, CPt C333GT C400GT || <!--Chipset-->Neo Magic || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Neo magic Magic Media 2160 2360 256ZX || <!--Audio-->{{No|crystal pnp 4237b or magic media 256zx sound nm2360}} || <!--USB-->USB 1.1 || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit Low-Density 16-chip 144p 144-pin 32Mx64 3.3V SODIMM - |- | <!--Name-->Dell Latitude CPx H450GT H500GT H Series, CPt V433GT V466GT V600, Inspiron 5000 || <!--Chipset-->Intel 440BX with Pentium 3M (CPx) or Celeron (CPt) || <!--IDE-->{{{Yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->{{Maybe|Use Vesa - ATi Rage Pro Mobility M1}} || <!--Audio-->{{No|ESS ES1978 Maestro 2E Canyon 3D}} || <!--USB-->{{Yes|1 slot 1.1 only}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->NB May 2013 || <!--Comments-->1998 32bit - 3 pin PA-6 PA6 power adapter plug - CDROM DVD Cxxx family media bay accessories untested |- | <!--Name-->Latitude C500 C600 (Quanta TM6) Inspiron 4000 7500, CPx J Series || <!--Chipset-->440BX ZX/DX || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage 128Pro Mobility M3 (VESA only)}} || <!--Audio-->{{no|ES1983S Maestro 3i}} || <!--USB-->{{yes|USB 1.1 only}} || <!--Ethernet-->{{N/A|some models had mini pci e100}}|| <!--Wireless-->{{N/A|a few came with internal antenna wiring}} || <!--Test Distro--> || <!--Opinion-->1999 square 3 pin charger PA9 PA-9 - C/Dock II untested - C/Port untested - Parallel to Floppy cable untested - CPx J600GT J650GT J700GT J750GT J800GT J850GT |- | <!--Name-->Latitude C510 C610 Insprion 4100 PP01L 2600 || <!--Chipset-->i830 and 1GHz+ P3-M || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|use VESA - ATI Radeon Mobility M6}} || <!--Audio-->{{No|AC97 CS4205}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{yes|3Com Etherlink}} || <!--Wireless-->{{Maybe|internal antenna wiring for an Atheros mini pci card}} || <!--Test Distro--> || <!--Opinion-->2000 poor build quality - hard to find in good working order |- | <!--Name-->Latitude C400 || <!--Chipset-->Intel 830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 830 CGC}} || <!--Audio-->{{No|ac97 Crystal 4205}} || <!--USB--> || <!--Ethernet-->{{Yes|3Com 3c905C TX/TX-M}} || <!--Wireless-->{{N/A| }} || <!--Test Distro--> || <!--Comments-->2000 Slim for the time - no media bays |- | <!--Name-->Latitude C640 (Quanta TM8) C840 Inspiron 8k2 8200 i8200 precision m50 || <!--Chipset-->P4M with 845EP || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA if ATi - use nouveau if 64mb Nvidia Gforce 4 440 Go || <!--Audio-->AC97 CS4205 || <!--USB--> || <!--Ethernet-->3com 905c || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2001 C640 had one fan so was noisy and hot - C840 had 2 fans and ran slightly cooler but fan noise louder |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | Latitude D400 || P-M 82845 || {{yes|82801 ide}} || {{N/A}} || {{partial|VESA only}} || {{yes|AC97 Audio playback only}} || {{maybe|USB 2.0}} || {{maybe|PRO 100 VM (KM)}} || {{no|BCM4318 AirForce one 54g replace with atheros 5k mini pci}} || <!--Test Distro--> Icaros 1.2.4 || 2003 32bit might boot from USB stick but won't boot from USB-DVD - no sd card slot - power plug style - |- | Latitude D500 / D505 PP10L, Inspiron 510m || 855GME * revA00 * revA03 * revA06 | {{yes|IDE but needs the Dell adapter}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with IDT STAC 9750 codec playback head phones only}} || {{maybe| }} || {{yes|Intel PRO 100 VE}} || {{no|Broadcom BCM4306 but exchange with atheros g in panel on laptop bottom}} || <!--Test Distro-->Icaros 2.1.1 || 2003 - 14 / 15 inch XGA 4:3 screen - plastic build - no sd card slot - boots from bay optical drive - not powering on/off with ac adapter is a [http://www.geekzone.co.nz/forums.asp?forumid=37&topicid=30585 mobo fault of PC13 SMT 1206 ceramic cap hot] suggest [http://www.die4laser.com/D505fix/ 0.1uF 50V instead] - pc2700 333Mhz ram 1Gb max - |- | Latitude D505 (some) || VIA VT8237 VX700 || {{yes|IDE}} || || {{partial|VESA 2d on ATI RV350 Radeon 9550}} || {{no|VIA AC97 with codec}} || {{maybe|VIA USB glitchy}} || {{yes|VIA VT6102 Rhine-II}} || {{no|Intel 2200g Calexico2}} || <!--Test Distro--> || 2003 32bit little support - diagnostics pressing holding the Fn key, press the Power ON button (battery removed). Check the LEDs pattern - cmos battery behind flap in laptop battery slot - |- | <!--Name-->Inspiron 1000 || <!--Chipset-->SIS || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|use VESA SIS}} || <!--Audio-->{{Yes|AC97 SIS with AD1981B codec playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|SIS 900 but}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->Icaros 2.1 || <!--Comments-->2004 32bit [https://forum.level1techs.com/t/my-time-with-icaros-desktop-and-what-i-am-doing-as-a-dev-contributor-also-some-other-shit/113358 aremis using it] |- | <!--Name-->Inspiron 1100 PP07L || <!--Chipset-->845 || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA Intel 845G}} || <!--Audio-->{{Yes|AC'97 playback}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom 4401}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2004 |- | <!--Name-->Inspiron 8500 5150 || <!--Chipset-->P4 855GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Nvidia 5200 Go - VESA if intel gfx}} || <!--Audio-->{{Yes|MCP AC97 with SigmaTel 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|Broadcom 4306 rev 02 use Atheros Mini PCI}} || <!--Test Distro-->Icaros 2.3 || <!--Comments-->2004 32bit P4 runs well but hot |- | Latitude X300 PP04S small, slim and light case || 855GME * revA00 Intel ULV 1.2 Ghz * revA01 Intel ULV 1.4Ghz | {{yes|IDE internal and will boot cd/dvd through dock PR04S}} || {{N/A}} || {{partial|855GM Gfx (VESA only)}} || {{Yes|Intel AC97 with STAC 97xx codec but no audio out of the dock}} || {{maybe|works but dock usb ports and usb DVD PD01S not detected}} || {{No|Broadcom BCM5705M gigabit}} || {{no|Broadcom BCM4306 later intel - replace with atheros in the underside}} || <!--Test Distro-->Icaros 2.1.1, AROS One 1.6 usb, || 2003 12.1" 1024 x 768 - 19.5v PA-10 or PA-12 dell - ACPI works but bad s3 ram suspend sleep - no sd card boot - 1Gb max sodimm ddr 2700 |- | <!--Name-->Latitude D600 (Quanta JM2) PP05L - 600m || <!--Chipset-->82855 PM i855 * reva00 * revA01 * revA02 * revA03 * revA04 | <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Maybe|Use VESA - ATI Radeon RV250 Mobility FireGL 9000}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Intel 2100 or Broadcom BCM4306 - swap for Atheros panel in base}} || <!--Test Distro--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1 and 2.1.1] || <!--Opinion-->2003 32bit 14inch using pc2100 memory with Caps light blinking is usually a memory error - Dell D505 D600 power up pressing the case docking port - |- | <!--Name-->Latitude D600 (Quanta JM2) || <!--Chipset-->82855 PM i855 || <!--IDE--> {{yes}} || <!--SATA--> {{N/A}} || <!--Gfx-->{{Yes|2D only vidia NV28 GeForce4 Ti 4200 Go 5200 Go 5650 Go}} || <!--Audio-->{{Yes|AC97 - STAC 9750}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Broadcom BCM5705}} || <!--Wireless-->{{no|Broadcom BCM4306 mini pci - swap for Atheros}} || <!--Test Distro--> Icaros 1.3 and [http://www.amiga.org/forums/archive/index.php/t-62187.html 1.4.1] || <!--Opinion-->2003 32bit 14" - solder joints on the bios chip (press down f7/f8 keys) - RAM clean with eraser - memory cover plate maybe apply some pressure - |- | <!--Name-->D800 (Compal LA-1901) || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit - trackpoint type pointing device - |- | <!--Name-->D800 || <!--Chipset-->Intel 855 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{No|Nvidia }} || <!--Audio-->AC97 || <!--USB-->{{maybe| }} || <!--Ethernet-->Broadcom 570x || <!--Wireless-->Broadcom 4309 || <!--Test Distro--> || <!--Comments-->2004 32bit 15inch 39cm |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Inspiron 1200 2200 PP10S Latitude 110L m350 1.3Ghz || <!--Chipset-->Intel 915GM || <!--IDE--> {{yes|UDMA boots cd or DVD and installs to HDisk}} || <!--SATA--> {{N/A}}|| <!--Gfx-->{{yes|Intel GMA900 (2D and 3D openGL 1.x) Gearbox 56}} || <!--Audio-->{{yes|Intel AC97 playback only}} || <!--USB-->{{maybe|USB 2.0}} || <!--Ethernet-->{{yes|Intel PRO 100 VE}} || <!--Wireless-->{{no|BroadCom BCM4318 - swap for Atheros mini PCI in base panel}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2005 single core 32bit 14" 4:3 1024 768 XGA screen - heavy 6 lbs - PA16 barrel 19V 3.16A AC adapter - battery life 4cell 29WHr lasts 2 hours - 256mb soldered with 1 ddr pc2100 sodimm 1gb max - |- | <!--Name-->Inspiron 1300 business B130 home PP21L Latitude 120L B120 by Compal - Inspiron 630m || <!--Chipset-->Intel Celeron M360 1.4GHz, M370 1.50 GHz, M380 1.73GHz || <!--IDE-->{{Yes|boots cd or DVD and installs to HDisk}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D openGL 1.x tunnel 172 gearbox 70}} || <!--Audio-->{{Yes|HD Audio playback ear phones only}} || <!--USB-->{{maybe|works but waiting boot fail with AROS One usb version}} || <!--Ethernet-->{{Yes|Broadcom 440x}} || <!--Wireless-->{{No|intel 2200 or BCM4318 swap for Atheros mini pci underside - one antenna lead for main wifi}} || <!--Test Distro-->Icaros 2.1.2, AROS One 1.6 usb, || <!--Comments-->2005 32bit single core - 14.1″ XGA 4:3 or 15.4" WXGA wide 1280 x 800 matte - ddr2 sodimm ram 2gb max - PA-16 19v psu tip 7.4mm * 5mm - f10 boot select f1 f2 bios |- | Latitude X1 PP05S || PP-M GMA915 rev A00 1.1GHz non-pae || {{yes|ide 1.8in zif/ce under keyboard}} || {{N/A}} || {{Maybe|Vesa for Intel 915GM}} || {{yes|AC97 6.6 playback only with STAC codec}} || {{maybe|USB 2.0 but partial boot to blank screen}} || {{No|Broadcom 5751}} || {{no|Intel 2200BG - swap for Atheros mini pci under keyboard palm rest - disassembly of all laptop}} || <!--Test Distro-->Icaros 2.3 dvd iso image virtualbox'd onto usb, Aros One 1.5 and 1.8 usb (2022) || 2005 32bit 12.1" 4:3 1024 x 768 - sd slot not bootable - 256mb soldered to board and 1 sodimm max 1GB ddr2 under keyboard - F12 bios boot F2 - pa-17 pa17 19v octagonal psu port |- | Latitude D410 PP06S *rev A00 *A01, A02 *A03 || GMA915 1.6GHz Pentium® M 730, 1.7GHz, 750 1.86GHz & 760 2.0GHz, 770 2.13GHz || {{yes|caddy and adapter needed 2.5" - remove hdd and write}} || {{N/A}} || {{Yes|Intel 915GM 2D and 3D OpenGL 1.3 tunnel 170 and gearbox 75}} || {{yes|AC97 playback only with STAC 9751 codec}} || {{maybe|works but will not boot from USB-DVD or AROS One 1.5 usb version}} || {{No|Broadcom 5751}} || {{no|Intel 2915ABG or later 2200BG - swap for Atheros mini pci under keyboard}} || <!--Test Distro-->Icaros 1.4, 2.1.1 and AROS One 1.5 usb, || 2005 32bit 12.1" 4:3 1024 x 768 - no sd card slot - PR06S dock base |- | <!--Name-->Latitude D510 (Quanta DM1) || <!--Chipset-->915GM socket 479 || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D}} || <!--Audio-->{{Yes|AC97 STAC 975x}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG swap Atheros mini pci in base}} || <!--Test Distro--> || <!--Comments-->2005 14.1" 32bit single core Intel Celeron M 1.6GHz Pentium M 730 1.73Ghz - squarish 3:2 - issues with 3rd party battery 4 quick flashes of red led with 1 final green |- | <!--Name-->Latitude D610 (Quanta JM5B) PP11L || <!--Chipset-->910GML 915GM with mobile 1.6 to 2.26ghz * Rev A0x * Rev A0x * Rev A07 1.73Ghz | <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{yes|Intel GMA 915 2D and 3D tunnel 174 gearbox 74}} || <!--Audio-->{{yes|Intel AC97 speaker head phones playback only with stac codec}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom BCM5751}} || <!--Wireless-->{{no|Intel 2200BG or Broadcom mini pci under keyboard, swap wifi card for atheros 5k}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - one dimm slot under keyboard and other in underside 2GB 533Mhz 667Mhz DDR2 max - |- | <!--Name-->Latitude D610 (Quanta JM5B) 0C4717 REV A05, 0K3879 REV.A00 || <!--Chipset-->915GM || <!--IDE--> {{N/A}} || <!--SATA--> {{partial|IDE mode}}|| <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 no radeon 2d}} || <!--Audio-->{{yes|Intel AC97}} || <!--USB--> {{maybe|USB 2.0}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit replace with Atheros 5k}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci use Atheros 5k}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2005 32bit 14" 1024 x 768 - very noisy clicky trackpad buttons - 19.5v psu |- | <!--Name-->Latitude D810 (Quanta ) || <!--Chipset-->915GM || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|Use VESA 2d - Ati X300 RV370 M22 later x600}} || <!--Audio-->{{yes|Intel AC97 stereo playback only idt 9751 codec}} || <!--USB--> {{maybe|USB 2.0 but no boot from usb on 1.5}} || <!--Ethernet-->{{no|Broadcom NetXtreme 57xx Gigabit}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG mini pci replace with Atheros 5k}} || <!--Test Distro-->Icaros 2.1.1, aros one 1.5 || <!--Comments-->2005 32bit 15.4" F12 one time boot menu - 19.5v 90w psu ideal - battery not same as later dx20 ones - |- | <!--Name-->Inspiron 6000 6400, E1505 PP20L *A00 Pentium M *A0? Core Duo || <!--Chipset-->GM945 with PM 1.73Ghz, T2050 or T2060 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|}} || <!--Gfx-->{{Maybe|vesa 2d - Ati 9700, x1300 RV515 M52, x1400 or nvidia go 7300 on mxm board}} || <!--Audio-->{{yes|HD Audio IDT 9200}} || <!--USB-->{{Yes|usb boot }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Intel 2200 3945 - swap for Atheros 5k}} || <!--Test Distro-->Icaros 2.1, AROS One 1.6 || <!--Comments-->2006 mostly 32bit - 15.4 inch glossy - 2 ddr2 sodimm slots - broadcom bcm92045 bluetooth detected but no support - 19.5v dell psu socket - f2 bios setup, f12 boot order - |- | <!--Name-->Inspirion E1705 9200 9300 9400 PP12L PP14L || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card/socket format Nvidia 6800, ati X300 or nVidia 7900GS gpu 3d corrupt || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401}} || <!--Wireless-->Intel 3945 swap with Atheros 5k mini pcie || <!--Test Distro--> || <!--Comments-->2006 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 increasing vertical lines issues] 32bit - |- | <!--Name-->Studio XPS M1210 || <!--Chipset-->GM945 with Core Duo to intel C2D T5500, T7400 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->nVidia G72M 7300 7400m || <!--Audio-->HD Audio IDT 92xx || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Maybe|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 - swap for Atheros 5k mini pci-e}} || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 slots max 4Gb - |- | <!--Name-->Inspiron 1501 PP23LA Latitude 131L || <!--Chipset-->AMD Sempron 1.8GHz Turion MK-36 or X2 1.6Ghz TL-50 or TL-56 on ATI RS480 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA 2d - ATI 1150 (x300) RS482M Mobility Radeon Xpress 200}} || <!--Audio-->{{Yes|HD audio with stac 92xx codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|Broadcom bcm 4401}} || <!--Wireless-->{{No|Broadcom bcm4311 replace with Atheros 5k}} || <!--Test Distro-->Icaros 1.5 || <!--Comments-->2006 64bit 15.4 inch matt 16:10 1280x800 WXGA - |- | <!--Name-->Inspiron 6400 (Quanta FM1) *A00 Pentium M *A0? Core Duo *A08 Core2 Duo || <!--Chipset-->GM945 with BGA479 (socket M) T2050 1.6Ghz, T2060 1.60Ghz, T2080 1.73Ghz much later T5500 1.66Ghz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D and 3D}} || <!--Audio-->{{Yes|HD Audio with IDT 92xx codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Broadcom BCM4401 B0}} || <!--Wireless-->{{No|Broadcom BCM4311 swap for Atheros 5k mini pci-e under keyboard}} || <!--Test Distro-->deadwood 2019-04-16 iso || <!--Comments-->2006 mostly 32bit - 15.4" glossy - sd card - front multimedia keys - dvd rw - generic dell keyboard - coin cr2032 bios battery under keyboard - |- | <!--Name-->Inspiron 640m PP19L XPS M140 e1405 || <!--Chipset-->Core Solo T2050, T2300 Duo 1.83GHz T2400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel GMA 950 || <!--Audio-->HD Audio IDT || <!--USB--> || <!--Ethernet-->Broadcom BCM4401-B0 100Base || <!--Wireless-->{{No|Intel 3945 or Broadcom 43xx, swap for Atheros 5k - Wireless Internet ON or OFF press the Function key + F2}} || <!--Test Distro--> || <!--Comments-->2006 32 bit - 12.1 LCD CCFL WXGA 1280x800 up to 14.1 inch 16:10 1440x900 pixel, WXGA+ UltraSharp - supports also SSE3 on duos - |- | <!--Name-->Latitude D420 (Compal LA-3071P) PP09S || <!--Chipset-->945 * revA00 Solo 1.2Ghz ULV U1400 * revA01 Duo 1.06Ghz u2500 * revA02 Duo 1.2Ghz | <!--IDE-->{{yes|ZIF/CE 1.8" slow under battery, ribbon cable}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|Intel GMA950 - 2D and 3D opengl tunnel 138 gearbox 103}} || <!--Audio-->{{yes|HD Audio with STAC 92xx playback speakers head phones only)}} || <!--USB-->{{yes|2 and external usb optical drive works}} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{No|Intel 3945 mini pcie - swap Atheros 5k in base panel}} || <!--Test Distro-->Icaros Desktop 1.4 || <!--Opinion-->2006 32bit only - 12.1" 1280x800 - PR09S dock base rev02 DVD-RW usb boots - 1GB DDR2 2Rx16 max in base panel - f2 setup f5 diagnostics f12 boot list - |- | <!--Name-->Latitude D520 PP17L || <!--Chipset--> * 64bit rev A01, A02 945GM Core2 Duo 1.83Ghz to 2.3Ghz * 32bit rev A00, A01 940GML Solo later Duo T2400 | <!--IDE-->{{yes| Philips SDR089, Philips CDD5263, TEAC DW224EV, Optiarc AD-5540A, HL-DL-ST GSAT21N, TSSTcorp TS-L632D}} || {{Yes|bios sata set to ide mode}} || {{Yes|Intel GMA 900 series 2D and OpenGL1 3D tunnel 210 gearbox 153 teapot 27}} || {{Yes|HD audio with STAC 9200 codec}} || {{Yes|Boots and detects USB2.0}} || {{Yes|Broadcom 4400}} || {{No|Broadcom BCM4312 BCM4321 Dell 1390 / 1490 mini pcie - easy to replace with atheros 5k in base panel}} || <!--Test Distro-->Icaros 1.4 and 2.2 and both AROS One 1.8 and AROS One x64 1.1 USB boot || 2006 mostly 64bit 4:3 aspect ratio 14.1 (XGA 1024x768) or later 15 inches (XGA+ 1400 by 1050) - F2 enter bios F12 choose boot - 19.5v dell tip pa-12 charger - bios coin cell cr2032 battery socketed in base panel - |- | <!--Name-->Latitude D620 (Compal LA-2792) PP18L || <!--Chipset-->945GMS * rev A00 all Core Duo's 32 bit * rev A0x all Core 2 Duo's 64 bit | <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 950 (2D and 3D tunnel gearbox opengl1 || <!--Audio-->{{yes|HD Audio playback}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 3945 mini pcie swap with Atheros 5k}} || <!--Test Distro-->AspireOS Xenon || <!--Opinion-->2006 64bit AROS capable with later revisions - 14" 1280 x 800 |- | <!--Name-->Latitude D620 || <!--Chipset-->Intel i945 * revA00 all Core Duo's 32 bit * revA01 all Core 2 Duo's 64 bit | <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300, 7600 NVS 110M G72 || <!--Audio-->{{dunno|HD Audio with STAC 9200 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless--> {{dunno}} || <!--Test Distro--> || <!--Opinion-->2007 1440x900 screen - LA-2792P Rev.2.0 - DT785 UC218 Fan/ Heatsink (64bit) - |- | <!--Name-->Latitude D820 (Quanta JM6) || <!--Chipset-->945GMS 940GML * rev A00 * rev A01 | <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 2D and 3D tunnel 195 - 100? gearbox 156}} || <!--Audio-->{{Yes|HD Audio with STAC 9200 playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 replace with mini pcie atheros 5k}} || <!--Test Distro-->Icaros 2.1.2 || <!--Opinion-->2007 widescreen 15 inch 1280 x 800 matte - - |- | <!--Name-->Latitude D820 (Quanta JM) || <!--Chipset-->945GMS 940GML * revA00 * revA01 | <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|Nvidia NVS 110M 120M G72}} || <!--Audio-->{{Yes|HD Audio STAC 9200}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Broadcom BCM5752}} || <!--Wireless-->{{No|BCM4310 swap with Atheros 5k mini pcie}} || <!--Test Distro--> || <!--Opinion-->2007 64bit 15.4 1650x1050 WXGA or WSXGA+ or 1920x1200 WUXGA - |- | <!--Name-->Dell Latitude D531 15" || <!--Chipset-->AMD Turion X2 TL56 or TL60 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Maybe|Use VESA - ATi xpress X1270}} || <!--Audio-->HD Audio with IDT codec || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Broadcom 57xx}} || <!--Wireless-->Intel 3945 or Dell Wireless 1390, 1505 or BCM4311 mini pcie || <!--Test Distro--> || <!--Comments-->2007 64bit possible - no trackpoint - fails and goes wrong often - |- | <!--Name-->Latitude D430 PP09S || <!--Chipset-->945 with Core2 Duo C2D U7500 1.06GHz U7600 1.2GHz U7700 1.33GHz * rev A00 * rev A01 * rev A02 | <!--IDE-->ZIF PATA IDE 1.8inch under battery and ribbon cable - slow use USB instead || <!--SATA-->{{N/A}} || <!--Gfx-->{{yes|945GML 2D and 3D opengl 1.x 171 tunnel 105 gearbox}} || <!--Audio-->{{yes|STAC 92xx HD Audio speaker and ear phone - mono speaker}} || <!--USB-->{{yes|3 }} || <!--Ethernet-->{{no|Broadcom BCM5752}} || <!--Wireless-->{{no|Intel 4965 AGN or 3945 ABG mini pci-e underside with Atheros 5k mini pci-e}} || <!--Test Distro-->Aspire 1.8 || <!--Comments-->2007 64bit capable - sd card not supported - 19.5v PA12 power adapter - 12.1" 1280x800 matte - f2 setup f5 diagnostics f12 boot list - |- | <!--Name-->Latitude D530 || <!--Chipset-->GM965 + ICH8 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|nVidia Quadro NVS 135M 2D 3d glitches G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] cool air intake from underneath needed with pa-10 or pa-3e 90w psu required - standard 4:3 ratio aspect screen - |- | <!--Name-->Latitude D630 (Compal LA-3301P) PP18L || <!--Chipset-->GM965 + ICH8 T7250 2.0Ghz T7300 * revA00 * revA01 | <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA X3100 (2D only, no external monitor)}} || <!--Audio-->{{yes|HD Audio STAC 9205 but speaker and head phones}} || <!--USB-->{{yes|4 USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Broadcom BCM4312 swap with pci-e Atheros 5k under keyboard}} || <!--Test Distro--> || <!--Comments-->2007 64bit possible - F12 to choose boot option - 2 ddr2 sodimm max 4G - 4400mah 48Wh battery lasts 2 hours - 6600mah 73Wh lasts just over 3 hours |- | <!--Name-->Latitude D630 || <!--Chipset-->GM965 + ICH8 * revA00 [http://amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=6481 ] GPU heatpad, no copper * revA01 0DT785 heatsink | <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode}}|| <!--Gfx-->{{partial|use VESA as nVidia NVS 135M 3d corrupts 0.7 tunnel 0.25 gearbox G86}} || <!--Audio-->{{partial|HD Audio with STAC 9205 head phones only}} || <!--USB-->{{yes|USB 2.0}}|| <!--Ethernet-->{{no|Broadcom BCM5755M}} || <!--Wireless-->{{no|Intel PRO Wireless 3945ABG swap with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros 1.4.5 || <!--Comments-->2007 64bit |- | <!--Name-->Latitude D830 || <!--Chipset-->965GM with Core2 * revA00 * revA01 | <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|GM965 crestline 2d and 3d tunnel 115}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{Maybe|replace with Atheros 5k mini pcie}} || <!--Test Distro-->Icaros || <!--Comments-->2007 15 inch 1280 x 900 but updating the LCD to WXGA or WSXGA+ could be better - 2 ddr2 sodimm - |- | <!--Name-->Latitude D830 || <!--Chipset-->ICH8, Core2 DUO T7800 @ 2.60GHz || <!--IDE-->{{N/A}} || <!--SATA-->Intel ICH8M Serial ATA || <!--Gfx-->nVidia Quadro NVS 140M G86 || <!--Audio-->{{yes|HD Audio with STAC 92XX codec}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->Broadcom NetXtreme 57xx Gigabit || <!--Wireless-->Intel Wireless 4965AGN swap with Atheros 5k || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2007 64bit 15." - FN,F2 or FN,F8 or FN,F12 |- | <!--Name-->XPS M1710 || <!--Chipset-->945PM with T2400 T2600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->proprietary Dell card socket format GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 or Broadcom BCM5752 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro-->Aros One 64bit || <!--Comments-->2007 64bit 17.3" workstation type WXGA+ screen 1920x1200 - 2 ddr-2 667Mhz sodimm slots, |- | <!--Name-->XPS M1730 || <!--Chipset-->965 with T7200 T7600 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GTX 7950 || <!--Audio-->HD Audio with STAC 92XX codec || <!--USB--> || <!--Ethernet-->Intel 1000 || <!--Wireless-->Intel swap with Atheros 5k || <!--Test Distro--> || <!--Comments-->2008 64bit 17" workstation type WXGA+ screen manufactured by AU Optronics poor viewing angles, unevenly lit, light leakage, 2 ddr-2 800Mhz slots, |- | <!--Name-->Latitude E6410 P27LA, E6510 PP30LA, E6310 || <!--Chipset-->Intel Core i5-520M to i7-620M i7 820QM but no sse4.1 or AVX || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|NVidia NVS 3100M GT218 2D but 3D through external monitor}} || <!--Audio-->{{Maybe|HD Audio IDT 92HD81}} || <!--USB-->{{Yes|USB2 }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Broadcom or Intel 6200AGN or Link 6300}} || <!--Test Distro-->Icaros 1.3 || <!--Comments-->2010 64 bit - 14.1” WXGA+ up to 15.6in 15.6” FHD 1080p - 2 ddr3l 1333Mhz max 8Gb - 90w dell charger - |- | <!--Name-->Inspiron M5030 || <!--Chipset-->rev A01 AMD V120, V140 rev A0? V160 M880G || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE}} || <!--Gfx-->{{Maybe|VESA RS880M Radeon HD 4225, 4250}} || <!--Audio-->{{Yes|HD audio with ALC269q codec}} || <!--USB--> || <!--Ethernet-->{{No|Atheros AR8152 v2}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - DDR3 sodimm - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->E6420 E6520 ATG semi ruggized XFR || <!--Chipset-->sandy bridge i5 2520M 2540M or duo I7 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|set to Bios UEFI mode AHCI}} || <!--Gfx-->{{Maybe|Intel HD 3000 with optional fermi Nvidia NVS 4200M GF119}} || <!--Audio-->{{Maybe|HD Audio with IDT 92HD90 BXX codec but not HDMI codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel 6205}} || <!--Test Distro-->Icaros 2.03 || <!--Comments-->2011 64bit 15.6in - fan exhausts a lot of hot air when cpu taxed - VGA if Bios ATA set and Vesa only with Bios ACHI set - |- | <!--Name-->Inspiron M5040 || <!--Chipset-->slow amd E450, later C-50 C50 or C-60 C60 with A50M chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|non efi sata in IDE mode but base plastic difficult to remove for access}} || <!--Gfx-->{{Maybe|use VESA AMD Radeon 6320, 6250 or 6290}} || <!--Audio-->{{Yes|HD Audio IDT}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 Realtek RTL8105E VB 10/100}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro-->icaros 2.1.1 and AROS USB 1.6 || <!--Comments-->2012 64bit 15INCH 1388 X 768 - f2 bios setup, f12 boot order - under removable keyboard via 4 top spring loaded catches is 1 ddr3l sodimm max 8gb and wifi - |- | Latitude e6230 E6330 E6430 || i3 3320M 3350M 2.8 GHz i5 3360M i7 3520M || {{N/A}} || {{partial|non RAID mode}} || {{partial|Intel HD 4000 (VESA only)}} || {{no|HD Audio}} || {{partial|Intel USB 3.0 (USB 1.1 2.0 only)}} || {{No|Intel 82579LM Gigabit}} || {{No|Broadcom BCM4313}} || <!--Test Distro-->Nightly Build 2014 09-27 || 2013 64bit Ivy Bridge - 12.5-inch 13.3-inch 14-inch screen - not great support, better under hosted - |- | <!--Name-->Dell Latitude 3330 || <!--Chipset-->Core i3 – 2375M to i5 – 3337U, Intel® Core i3 – 3227U, Celeron 1007U on HM77 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe|VESA 2d for intel Hd 2000 3000 vga hdmi}} || <!--Audio-->{{maybe|HDAudio with IDT 92HD93 Controller codec }} || <!--USB-->{{maybe|USB 3.0 (2), USB 2.0 PowerShare capable }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2013 64bit, 13.3” HD 1366X768 16:9, 2 ddr3l slots max 8Gb, 720p HD video webcam, |- | <!--Name-->Inspiron 15 5565 5567 AMD versions, Inspiron 3595 || <!--Chipset-->AMD A6-9200u A9-9400 9425 A12-9700P Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Radeon R5 R8 GCN 3 || <!--Audio-->{{No| }} || <!--USB-->{{partial| }} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 900p - there are intel versions avoid - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Latitude 5495, Inspiron 15 3585 || <!--Chipset-->Ryzen 2300U 2500U 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|NVMe or optional 2.5in sata if caddy and ribbon cable}} || <!--Gfx-->Radeon Vega 3 or 7 || <!--Audio-->{{No|HDAudio with Realtek ALC3246 aka ALC295 0x10ec, 0x0295 or ALC3263 aka ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14.0" FHD WVA 1080p (16:9) 220 nits or HD 768p - 2 ddr4 sodimm slots max 32gb - 68whr battery with 2pin cmos bios coin - DC 19.5V 4.62A (90W) or 19.5V 3.34W (65W) 5.0mm x 7.4mm PA12 charging adapter - |- | <!--Name-->Inspiron 3505, Vostro 3515 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|up to 2 nvme with optional 2.5in sata ribbon connector}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204, Cirrus Logic CS8409 (CS42L42 and SN005825)}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|RTL 8106E}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 15.6inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use - |- | <!--Name-->Inspiron 5485 2-in-1 || <!--Chipset-->athlon 300u, Ryzen 3250u (2c4t) 3450u 3500u 3700u (4c8t), Athlon Silver (2c2t) Gold (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 8, 10}} || <!--Audio-->{{No|Realtek ALC3204}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Realtek RTL8723DE}} || <!--Test Distro--> || <!--Comments-->2019 64-bit - 14inch - 2 ddr4 sodimm max 16G - avoid knocking usb-c charging whilst in use - |- | <!--Name-->Latitude 3500, 3310, 3410, 3510, || <!--Chipset-->Intel Celeron-4205U, Pentium-5405U, Core i5 (8th Gen) i3-8145U, 8265U, i5-8365U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|Vesa 2D for Intel UHD Graphics 610 or 620 hdmi}} || <!--Audio-->{{no|Realtek ALC}} || <!--USB-->{{maybe|USB3 usb-c usb-a}} || <!--Ethernet-->{{Maybe|rtl8169 RTL8111H}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in or 15.6in 768p to 1080p 220nits - 65w - 2 ddr4 sodimm slots - rtc cr2032 cmos 2 pin - |- | <!--Name-->Inspiron 5405 || <!--Chipset-->AMD Ryzen 5 4500U || <!--IDE-->{{N/A}} || <!--SATA-->One M.2 2230/2280 nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDAudio with Realtek ALC3204 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14" 1080p - dell round ac 19.50 VDC 4.50 mm x 2.90 mm 65W(19.5V-3.34A) round 4.5mm tip - |- | <!--Name-->Vostro 5415, Inspiron 5515 || <!--Chipset-->AMD Ryzen 3 5300U, Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 14" or 15.6in - avoid knocking usb-c charging whilst in use or use dell round ac 65W 4.5MM x 3.0MM - replacing keyboard not easy - 1 ddr4 sodimm - |- | <!--Name-->Vostro 3425, Vostro 3525, Vostro 5625 || <!--Chipset-->AMD Ryzen 3 5425U, Ryzen 5 5625U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{no|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in 15.6" to 16" FHD 1080p - dell round ac 65w 4.5MM x 3.0MM or avoid knocking usb-c charging whilst in use - |- | <!--Name-->Dell Inspiron 15 Model 3535, Inspiron 14 7435 || <!--Chipset-->AMD Ryzen 5 7520U, AMD Ryzen 5 7530U, 7 7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->{{No| hdmi 1.4 but no gpmi}} || <!--Audio-->{{No|HDaudio with codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2024 64bit - 14.0" or 15.6" 1080p - dell round ac 65w 4.5MM x 3.0MM or usb-c charging - full sd card slot - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |} ====Fujitsu-Siemens==== [[#top|...to the top]] Order of build quality (Lowest to highest) <pre > Amilo Esprimo Lifebook </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="5%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Fujitsu [http://www.labri.fr/perso/fleury/index.php?page=bug_transmeta FMV-Biblo Loox S73A (Japan P1100) LifeBook P1120 Biblo Loox T93C (Japan P2120) P2020] || <!--Chipset-->Transmeta Crusoe CPU TM5600 633MHz with Ali M1535 chipset || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->ATI Rage Mobility M with 4MB SDRAM || <!--Audio-->{{No|AC97 Ali M1535 + STAC9723 Codec}} || <!--USB-->USB 1.1 only || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1999 32bit 10" 1280 x 600 matte LCD - QuickPoint IV mouse - metal chassis with palm rest plastic - 15GB 2.5 inch drive and SR 8175 8X DVD-ROM drive - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Lifebook S7000 S7010 S7010D S2020 || <!--Chipset-->Pentium M 1.6 or 1.7GHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - Intel 855}} || <!--Audio-->{{maybe|AC97 with STAC 9751T or 9767 codec}} || <!--USB--> || <!--Ethernet-->{{No|Broadcom}} || <!--Wireless-->{{No|Atheros, Broadcom or Intel 2200BG - FN,F10}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2002 32bit 14.1 inch with minimal support |- | <!--Name-->Lifebook e8010 || <!--Chipset--> || <!--IDE-->{{Yes| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Intel 855GM}} || <!--Audio-->AC97 STAC9767 or ALC203 codec || <!--USB--> || <!--Ethernet-->{{No|Broadcom NetXtreme BCM5705M}} || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->2002 32bit 15.1 inch |- | <!--Name-->Stylistic ST5000 ST5010 ST5011 ST5012 ST5020 ST5021 ST5022 || <!--Chipset-->1.0GHz P-M and later 1.1GHz on Intel 855GME || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 800 use VESA || <!--Audio-->Intel AC97 || <!--USB--> || <!--Ethernet-->Broadcom BCM5788 tg3 || <!--Wireless-->{{No|Intel 2200BG}} || <!--Test Distro--> || <!--Comments-->2003 32bit charged via a proprietary port power connector 16V 3.75A with wacom serial pen interface - indoor Screen transmissive 10.1 and later 12.1 XGA TFT - |- | <!--Name-->Amilo Pro V2010 || <!--Chipset-->VIA CN400 PM880 || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|S3 unichrome use VESA}} || <!--Audio-->{{No|VIA AC97 VT8237 with codec}} || <!--USB--> || <!--Ethernet-->Rhine 6102 6103 || <!--Wireless-->RaLink RT2500 || <!--Test Distro-->Icaros 2.1.2 || <!--Comments-->2003 32bit boot mount - unknown bootstrap error then crashes |- | <!--Name-->Amilo Li 1705 CN896 || <!--Chipset--> with VIA P4M900 || <!--IDE--> || <!--SATA-->{{Maybe|IDE}} || <!--Gfx-->ATi || <!--Audio-->{{No|VIA VT8237 HD Audio with codec}} || <!--USB-->VT82xx 62xx || <!--Ethernet-->{{Yes|VIA Rhine}} || <!--Wireless-->{{No|Atheros G}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2005 32bit random freezes |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> Esprimo Mobile V5535 Skt mPGA 478MN | <!--Chipset--> | <!--IDE--> {{yes|IDE and EIDE}} | <!--SATA--> {{maybe|IDE mode with SIS 5513}} | <!--Gfx--> {{maybe|SiS 771 / 671 (VESA only)}} | <!--Audio--> {{yes|HD Audio SIS968 SIS966 SI7012 with ALC268 codec}} | <!--USB--> {{no|USB 1.1 and 2.0 issues}} | <!--Ethernet--> {{no|SiS 191 gigabit}} | <!--Wireless--> {{yes|Atheros AR5001 mini pci express}} | <!--Test Distro-->aros one 1.5 usb | <!--Comments-->2005 32bit 20v barrel - f2 setup f12 multi boot - random freezing short time after booting - chipset SIS 671MX - |- | <!--Name-->Amilo SI 1520 1521p || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 2D}} || <!--Audio-->{{No|HD Audio Conexant codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|Intel Pro 100}} || <!--Wireless--> || <!--Test Distro-->Icaros 1.4.2 || <!--Comments-->2005 32bit - Set Bios option ATA Control Mode to Compatible |- | <!--Name-->Lifebook S7020 S7020D || <!--Chipset--> Pentium M 740 1.73MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 915 || <!--Audio-->HD Audio ALC260 codec || <!--USB-->{{Yes| }} || <!--Ethernet-->Broadcom BCM5751M Gigabit || <!--Wireless-->Intel PRO Wireless 2200BG or Atheros 5k || <!--Test Distro--> || <!--Comments-->2006 32bit |- | <!--Name-->Stylistic ST5030 ST5031 ST5032 || <!--Chipset-->1 to 1.2GHx Pentium M with 915GM || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->Intel 900 || <!--Audio--> || <!--USB-->{{Yes| }} || <!--Ethernet-->Marvell || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2006 32bit charged via a proprietary port power connector 6.0 x 4.4 mm round - 200 pin ddr2 ram |- | <!--Name-->Stylistic ST5110 ST5111 ST5112 || <!--Chipset-->945GM with 1.2GHz Core Duo and Core2 Duo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel 900 || <!--Audio-->HD audio with STAC9228 codec || <!--USB-->{{No| }} || <!--Ethernet--> || <!--Wireless-->Intel 3945 ABG or optional atheros || <!--Test Distro--> || <!--Comments-->2006 either 32 or 64 bit - charged via a proprietary port power connector 6.0 x 4.4 mm round - SigmaTel® touchscreen - |- | <!--Name-->E8110 S7110 E8210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|945GM}} || <!--Audio-->{{Yes|HD Audio with ALC262 codec playback}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell 88E8055 Gigabit}} || <!--Wireless-->{{No|Intel PRO Wireless 3945ABG}} || <!--Test Distro-->Icaros 2.0 || <!--Comments-->2006 32bit Core Duo |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || CHIPSET || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Lifebook PH521 || <!--Chipset-->AMD E-350 E-450 1.65GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->HD 6310M 6320M || <!--Audio-->Realtek ALC269 || <!--USB-->{{No| }} || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Atheros 802.11 bgn}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 11.6 inch 1366x768 pixels - DDR3 1066MHz - |- | <!--Name-->LIFEBOOK E752/E782/S752/S782 || <!--Chipset--> with Intel Core i3-2328M to i3-3110M || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe| }} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82579V 1000 }} || <!--Wireless-->{{no|Intel Wireless 6205 may be able to swap for Atheros 5k }} || <!--Test Distro-->Aros One 64bit || <!--Comments-->2012 64bit |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====HP Compaq==== [[#top|...to the top]] Build quality (Lowest to highest) <pre > Presario Pavilion Omnibook ProBook Armada Elitebook </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->1c00 series Compaq Presario [http://users.utu.fi/sjsepp/linuxcompaqarmada100s.html Armada 100S made by Mitac], 1247 || <!--Chipset-->K6-II with PE133 MVP-4 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - Trident Blade3D AGP sp16953 || <!--Audio-->VIA ac'97 audio [rev20] with AD1881A codec || <!--USB-->{{Maybe|usual VIA issues [rev10]}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit 192MB max - PCcard Texas PC1211 no support - 1200 XL1 1200-XL1xx, XL101, XL103 XL105 XL106 XL109 XL110 XL111 XL116 XL118 XL119 XL125 |- | <!--Name-->1c01 series Armada 110, Evo N150 || <!--Chipset-->Intel with VIA PLE133 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - Trident Cyber Blade i1 chipset || <!--Audio-->VIA 686 rev20 82xxx 686a || <!--USB--> || <!--Ethernet-->Intel 82557 Pro 100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->1998 32bit max 192mb sodimm 100Mhz 133Mhz ram memory - 1200-XL405A 12XL405A XL502A 12XL502A 1600XL |- | Armada M300 M700 E500 || 440BX || {{Yes| }} || {{N/A}} || {{maybe|ATI Rage LT M1 Mobility (VESA only)}} || {{no|AC97 ESS Maestro 2E M2E ES1987 sound}} || {{yes|USB1.1 only}} || {{No|[http://perho.org/stuff/m300/index_en.html Intel PRO 100+ Mini PCI]}} || {{N/A}} || Aspire OS 2012, Nightly 30-01 2013 and 04-05 2013 || 1999 32bit - F10 bios options and Fn+F11 reset CMOS with 64mb ram already on board |- | <!--Name-->HP Omnibook XE3 || <!--Chipset-->Intel BX 600Mhz GC model 256mb or AMD GD 500Mhz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA - S3 Inc. 86C270 294 Savage IX-MV (rev 11) || <!--Audio-->{{No|ESS ES1988 Allegro 1 (rev 12)}} || <!--USB-->Intel 82371AB PIIX4 USB (rev 01) || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->2002 32bit no cardbus pcmcia support - no audio from Polk Audio Speakers - |- | <!--Name-->HP Omnibook XE3 || <!--Chipset-->82830 ICH3 P3-M 750MHz 800Mhz 900MHz || <!--IDE-->{{Yes| }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|use VESA - CGC 830MG}} || <!--Audio-->{{No|ESS ES1988 Maestro 3i}} || <!--USB-->{{Yes|only one 1.1 port}} || <!--Ethernet-->{{Yes|e100 82557}} || <!--Wireless-->{{N/A|}} || <!--Test Distro-->Icaros 1.51 || <!--Comments-->2002 32bit Boots USB Stick via Plop boot floppy - Memory for GF 256-512mb, GS up 1GB |- | <!--Name-->TC1000 TC-1000 Tablet PC || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA NV11 [GeForce2 Go] (rev b2) || <!--Audio-->VIA AC97 Audio (rev 50) || <!--USB-->OHCI NEC USB 2.0 (rev 02) || <!--Ethernet-->Intel 82551 QM (rev 10) || <!--Wireless-->Atmel at76c506 802.11b || <!--Test Distro--> || <!--Comments-->2002 32bit Transmeta LongRun (rev 03) with VT82C686 - Texas Instruments TI PCI1520 PC card Cardbus |- | <!--Name-->HP Compaq R3000 ZV5000 (Compal LA-1851) || <!--Chipset-->Nvidia nForce 3 with AMD CPU || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia NV17 [GeForce4 420 Go 32M] || <!--Audio-->Nvidia || <!--USB--> || <!--Ethernet-->Broadcom or Realtek RTL8139 || <!--Wireless-->{{Maybe|Broadcom BCM4303 BCM4306 or Atheros bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit - HPs have a setting to automatically disable wireless if a wired connection is detected |- | <!--Name-->Compaq [http://www.walterswebsite.us/drivers.htm Presario 700 series] || <!--Chipset-->VT8363 VT8365 [Apollo Pro KT133 KM133] || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VT8636A (S3 Savage TwisterK) (VESA only)}} || <!--Audio-->{{Maybe|VIA AC97 [rev50] with AD1886 codec}} || <!--USB-->{{maybe|VIA UHCI USB 1.1 [rev1a]}} || <!--Ethernet-->{{yes|RealTek RTL8139}} || <!--Wireless-->{{no|Broadcom BCM4306}} || <!--Test Distro--> || <!--Comments-->2003 32bit poor consumer grade level construction - jbl audio pro speakers - no support for cardbus pcmcia TI PCI1410 - 700A EA LA UK US Z 701AP EA BR FR 701Z 702US 703US AP JP audio sp18895 Sp19472 |- |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | N400c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Rage Mobility 128 (VESA only)}} || {{No|Maestro 3 allegro 1}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive |- | N410c || P3-M 82845 || {{yes|82801 CAM IDE U100}} || {{N/A}} || {{maybe|Radeon Mobility M7 LW 7500 (VESA only)}} || {{yes|Intel AC97 with AD1886 codec}} || {{yes|USB1.1}} || {{yes|Intel PRO 100 VM (KM)}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit Has no optical disc drive |- | Evo N600c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{No|ESS ES1968 Maestro 2}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.3 || 2003 32bit |- | Evo N610c || Pentium 4 || {{yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility M7 (VESA only)}} || {{yes|Intel ICH AC97 with AD1886 codec}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{dunno}} || Icaros 1.2.4 || |- | N800c || P4 || {{Yes|IDE}} || {{N/A}} || {{partial|ATI Radeon Mobility 7500 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2003 32bit P4M CPU can get very warm |- | <!--Name-->NX7010 || <!--Chipset-->Intel || <!--IDE-->{{yes|IDE}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI mobility 7500 or 9000 Radeon 9200 64MB (VESA only)}} || <!--Audio-->{{yes|AC97 ADI codec}} || <!--USB-->{{yes|uhci (1.1) and ehci (2.0)}} || <!--Ethernet-->{{yes|Realtek 8139}} || <!--Wireless-->{{No|Intel 2200b bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit |- | <!--Name-->Compaq Preasrio V5000 (Compal LA-2771) || <!--Chipset-->AMD Sempron 3000+ or Turion ML with SB400 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA - Ati RS480M Xpress 200}} || <!--Audio-->{{No|AC97 ATI with Conexant CX 20468 codec}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8100 8101L 8139}} || <!--Wireless-->{{No|bcm4318 bios locked}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2004 64bit single core machine V5001 V5002 V5002EA V5003 |- | <!--Name-->TC1100 TC-1100 Tablet PC || <!--Chipset-->855PM || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia Geforce4 Go || <!--Audio-->AC97 || <!--USB--> || <!--Ethernet-->{{Maybe|BCM 4400}} || <!--Wireless-->{{Maybe|Atheros wlan W400 W500 or ? bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit |- | <!--Name-->NC6000 NC8000 NW8000 || <!--Chipset-->855PM with Pentium M 1.5 1.6 1.8GHz 2.0GHz || <!--IDE-->max 160 GB for NW 8000 || <!--SATA--> || <!--Gfx-->{{Maybe|Ati RV350 mobility 9600 M10 Fire GL T2 ISV use VESA 2D as no laptop display}} || <!--Audio-->{{Yes|Intel AC97 with ADI codec playback only}} || <!--USB-->{{Yes|2 ports}} || <!--Ethernet-->{{No|Broadcom BCM 5705M}} || <!--Wireless-->{{Maybe|mini pci Atheros 5212 BG W400 W500 or Intel - all bios locked}} || <!--Test Distro--> || <!--Comments-->2005 based [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=41916&forum=47 works] - Firewire TI TSB43AB22/A - 8 pound 2.5 kg travel weight - an SD slot as well as two PC Card slots - 15-inch UXGA screen (1,600 x 1,200) or 15" SXGA+ (1400 x 1050) (4:3 ratio) |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Compaq NC6110 NX6110 NC6120 NC6220 NC4200 NC8200 TC4200 || <!--Chipset-->GMA 915GML || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D GMA 900}} || <!--Audio-->{{Yes|AC97 with ADI AD1981B playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Unk|440x or BCM 5705M or 5751M}} || <!--Wireless-->{{No|Intel IPW 2200 bios locked}} || <!--Test Distro-->Icaros 1.5.2 || <!--Comments-->2005 32bit Sonoma based - Wifi with Atheros AR5007eg if apply hacked bios RISKY else use USB one - (INVENTEC ASPEN UMA MV) (INVENTEC ASPEN DIS PV) - |- | <!--Name-->Compaq C500 CTO aka HP G7000 || <!--Chipset-->Intel 945GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with realtek ALC262 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless-->Broadcom BCM 4311 bios locked || <!--Test Distro--> || <!--Comments-->2005 32bit |- | <!--Name-->HP DV6000 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio IDT 92HD 91B || <!--USB--> || <!--Ethernet-->Intel PRO 100 VE || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32 bit only - Mosfet FDS6679 common cause of shorts giving no power to the tip. To reset adapter, unplug from AC (mains) and wait 15-30 sec. Then plug in again - |- | Presario F700 series, HP G6000 f730us F750 F750us F755US F756NR F765em || AMD Turion Mono MK-36 2.0Ghz NForce 560m or Twin X2 TK-55 with nForce 610m MCP67 || {{N/A| }} || {{Yes|but needs special sata adapt bit and caddy}} || {{Yes|GF Go 7000m 2D and 3D 640x350 to 1280x800 - ball solder issues due to poor cooling}} || {{Maybe| }} || {{Maybe|uhci and ehci boots}} || {{No|Nvidia }} || {{Yes|Atheros AR5007 bios locked}} || Icaros 1.3.1 and Aros One 1.6 USB || 2006 64bit - f9 boot device f10 bios setup - random freezes after a minutes use means internal ventilation maintenance needed each year essential - No sd card and overall limited phoenix bios options - |- | <!--Name-->Presario v6604au v6608au V3500 || <!--Chipset-->NVIDIA MCP67M with AMD Athlon64 X2 TK 55 amd 1.8ghz || <!--IDE--> || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->NVIDIA GeForce Go 7150M 630i or C67 630M MCP67 || <!--Audio-->conexant codec || <!--USB--> || <!--Ethernet-->Nvidia or Realtek 10/100 || <!--Wireless-->{{No|Broadcom 4311 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 64bit Altec Lansing Stereo Speakers - ball solder issues - |- | <!--Name-->Compaq presario v6610 v6615eo v6620us || <!--Chipset-->Turion 64 X2 mobile TK-55 / 1.8 GHz to athlon 64x2 @ 2.4ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|SATA 150}} || <!--Gfx-->{{Yes|geforce 7150 or 7300m 2d and 3d}} || <!--Audio-->{{Yes|AMD HD Audio with IDT codec stereo playback only}} || <!--USB-->3 OHCI EHCI || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro-->Icaros 1.3 - || <!--Comments-->2007 [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=40956&forum=48 works well] - 1 x ExpressCard/54 - SD Card slot - AO4407 test voltage of the Drain side (pins 5-8) with AC adapter and no battery, see 0 volts, connect the battery you should have 10-14v - |- | <!--Name-->v6630em v6642em || <!--Chipset-->nForce 630M with AMD Turion 64 X2 Mobile TL-58 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA GeForce 6150M or 7150M || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 15.4 in 1280 x 800 ( WXGA ) - |- | <!--Name-->HP Compaq NC6400 || <!--Chipset-->945GM Core Duo || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|GMA 950 2D issues and no 3d}} || <!--Audio-->{{No|HD Audio AD1981HD}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM }} || <!--Wireless-->{{No|Broadcom locked}} || <!--Test Distro-->Icaros || <!--Comments-->2007 - replaced with Atheros AR5007eg if apply hacked bios RISKY else use USB g - * 32bit Core Duo T2400 * 64bit Core 2 Duo T5600 T7600 |- | <!--Name-->HP Compaq NV NC6400 || <!--Chipset-->Core Duo + 945PM || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|use VESA Radeon x1300M (2D)}} || <!--Audio-->{{Maybe|HD Audio with ADI1981 low volume}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 ABG bios locked}} || <!--Test Distro--> Icaros 1.4.2 || <!--Opinion-->2007 Harmon Kardon speakers |- | <!--Name-->HP Compaq NC6320 || <!--Chipset-->945GM with * 32bit Core Duo 1.83GHz T2400 * 64bit Core2 Duo 1.83GHz T5600 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|GMA 950 2D with a little 3D tunnel 213}} || <!--Audio-->{{Maybe|Intel HD Audio with AD1981HD codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|BCM 5788}} || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro-->Icaros 2 || <!--Comments-->2007 replaced with Atheros AR5007eg if applying hacked wifi bios RISKY!! else use USB - 14.1" or 15 inch XGA 1024x768 - noisy cpu fan for core2 - trackpad rhs acts as window scroller - |- | <!--Name-->HP NC4400 TC4400 Tablet || <!--Chipset-->Core Duo with 82945 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|bios F.07 limits to 100GB 120GB}} || <!--Gfx-->{{yes|2D and 3D 282 tunnel and gearbox 150}} || <!--Audio-->{{Yes|HD Audio with ADI 1981HD codec via ear phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{No|BCM 5753M}} || <!--Wireless-->{{No|Intel 3945 or BCM 4306 - Whitelist BIOS F.0C needed but risky}} || <!--Test Distro-->Icaros 2.1.2 || <!--Comments-->2008 64 bit possible with Core2 - TI SD card reader non bootable - wacom serial digitiser pen not working - * 32bit 1.86GHz core duo * 64bit 2Ghz T7200, 2.16Ghz Core 2 Duo T7600 2.33GHz |- | <!--Name-->HP Pavilion DV2000 CTO || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950, X3100, Nvidia 8400M || <!--Audio-->HD Audio Conexant CX 20549 Venice || <!--USB--> || <!--Ethernet-->Nvidia MCP51 || <!--Wireless-->{{No|Broadcom BCM 4311 or Intel 3945 4965 ABG bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Atheros AR5007eg if apply hacked bios RISKY |- | <!--Name-->Compaq Presario C700 || <!--Chipset-->GMA960 || <!--IDE--> || <!--SATA--> || <!--Gfx-->X3100 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Atheros AR5007 AR5001 AR242x}} || <!--Test Distro--> || <!--Comments-->2008 |- | <!--Name-->Compaq 2510p 6510b 6710b 6910b || <!--Chipset-->GMA 965GM GL960 || <!--IDE-->{{yes| }} || <!--SATA--> || <!--Gfx-->{{yes|X3100 some 2d but slow software 3d only}} || <!--Audio-->{{maybe|HD Audio ADI AD1981 HD low volume on head phones}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel 82566 or Broadcom BCM 5787M}} || <!--Wireless-->{{No|Intel 3945ABG or 4965ABG bios locked}} || <!--Test Distro-->Aspire OS Xenon 2014 || <!--Comments-->2008 no sd card boot support - F9 to choose boot option - [http://forums.mydigitallife.info/threads/7681-This-is-no-request-thread!-HP-COMPAQ-bioses-how-to-modify-the-bios/page111?p=333358#post333358 whitelist removal (risky) bios block for wifi card swap] |- | <!--Name-->CQ40 CQ41 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Realtek RTL8101E || <!--Wireless-->{{No|Broadcom BC4310 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 |- | <!--Name-->Compaq Presario CQ35 CQ36 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->{{No|Broadcom BCM4312 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 Compal LA-4743P - |- | <!--Name-->HP Compaq CQ42 CQ43 CQ45 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->HD Audio with Coxenant codec || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->{{No|Realtek RTL8191SE, Realtek 8188CE}} || <!--Test Distro--> || <!--Comments-->2008 (Quanta AX1) |- | <!--Name-->Compaq Presario CQ50 CQ56 || <!--Chipset-->Nvidia MCP78S || <!--IDE--> || <!--SATA--> || <!--Gfx-->Geforce 8200M || <!--Audio-->nVidia HD Audio with codec || <!--USB--> || <!--Ethernet-->nvidia MCP77 || <!--Wireless-->{{unk|Atheros AR928X bios locked}} || <!--Test Distro--> || <!--Comments-->2008 [http://donovan6000.blogspot.co.uk/2013/06/insyde-bios-modding-wifi-and-wwan-whitelists.html bios modding risky] MCP72XE MCP72P MCP78U MCP78S |- | <!--Name-->CQ60 || <!--Chipset-->Single core Sempron to dual turion || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 8200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2008 |- | <!--Name-->HP DV6700 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{no|Vesa for Nvidia 8400M}} || <!--Audio-->{{no| }} || <!--USB-->{{no| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No|Intel }} || <!--Test Distro--> || <!--Comments-->2008 64bit - |- | <!--Name-->CQ60 || <!--Chipset-->Intel C2D || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|VESA for Nvidia 9200M}} || <!--Audio-->{{yes|HD Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->CQ57z || <!--Chipset-->Slow AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA ATi HD 6310 wrestler}} || <!--Audio-->{{unk| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{maybe|Realtek RTL8101 RTL8102}} || <!--Wireless-->{{No|RaLink RT5390}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->HP CQ58z 103SA E5K15EA || <!--Chipset-->Slow AMD Dual-Core E1-1500 APU with A68M FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|VESA 2D for Radeon HD 7310}} || <!--Audio-->Realtek idt codec || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 10/100 BASE-T}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - 39.6 cm (15.6") HD BrightView LED-backlit (1366 x 768) |- | <!--Name-->HP 635 DM1 || <!--Chipset-->Slow E-300, E-450 later E2-1800 on SB7x0 SB8x0 SB9x0 || <!--IDE-->{{N/A}} || <!--SATA-->ATI non efi SATA AHCI - IDE mode || <!--Gfx-->{{Maybe|use VESA 2D - AMD HD6310, 6320 to HD7340}} || <!--Audio-->{{Yes|Realtek ALC270A GR but not Wrestler HDMI Audio}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{Yes|rtl8169 driver covers Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 14" 1366 x 768 - f9 f10 - external battery - 2 stacked ddr3l sodimm slots max 16Gb under one base plate - removable keyboard - |- | <!--Name-->HP G6 2000-2b10NR 2000-2d10SX 2000-2d80NR || <!--Chipset-->E1-2000 E2-3000M on A50M (soldered) A4-3305A on A60M (socket) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->{{Maybe|VESA AMD Radeon 6320, 6620G, 6520G, 6480G, 6380G}} || <!--Audio-->{{No| }} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|Realtek 100 1000}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 39.6-cm (15.6-in) HD LED BrightView (1366×768) - 1 or 2 ddr3l max 8G - 19VDC 3.42A Max 65W Tip 7.4mm x 5.0mm - |- | <!--Name-->HP ProBook 6465B || <!--Chipset-->AMD A6-3310MX or A6-3410MX with A60M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA AMD 6480G or 6520G}} || <!--Audio-->{{No|IDT 92HD81B1X}} || <!--USB-->{{No| }} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Intel AC 6205 or broadcom 4313 bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 13-inch or 14-inch runs hot - |- | <!--Name-->HP Elitebook 8470p 8570p || <!--Chipset-->Quad i7-3840QM, i7-3610QM, i7-3520M, i5-3210M, i3-3130M, i3-2370M on Intel QM77 chipset || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|set the bios boot options to not fastboot and drive mode IDE rather than AHCI }} || <!--Gfx-->{{Maybe|Vesa 2d for HD4000 with some having switchable Radeon M2000 or 7570M}} || <!--Audio-->{{yes|HDAudio for IDT codec}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Intel 82579LM }} || <!--Wireless-->{{No|Intel, Broadcom, Atheros}} || <!--Test Distro-->64 bit boots from CD* if safe mode 2 is used, although it is possible to remove the 'nodma' and 'debug' entries and boot || <!--Comments-->2013 64bit with SSE4.1 and AVX - 14in 1600 x 900 to 1366 x 768 - 2 DDR3L sodimm slots max 16Gb - TPM 1.2 - dual boot 32/64 bit is working fine - |- | <!--Name-->HP ProBook 6475b, Probook 4445s 4545s, HP Pavilion 15-b115sa, [https://support.hp.com/gb-en/document/c04015674#AbT6 HP mt41 Mobile Thin Client PC] || <!--Chipset-->AMD A4 4300M, A6 4400M 4455M or A8 4500M with AMD A70M A76M FCH || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 7420 7520G 7640G 7660G}} || <!--Audio-->{{no|HD Audio with idt or realtek codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Realtek RTL8151FH-CG}} || <!--Wireless-->{{No|Intel 6205 or Broadcom BCM 43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit does support AVX or SSE 4.1 - 15.6-inch - |- | <!--Name-->HP ENVY 15-k112nl K1Y78EA || <!--Chipset-->Intel® Core™ i7 i7-4510U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe| }} || <!--Gfx-->NVIDIA® GeForce® GTX 850M || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro-->Deadwood usb3 test iso || <!--Comments-->2014 64bit - 15.6" 768p to 1080p - 19.5V 3.33A/4.62A/6.15A 65W/90W/120W AC - |- | <!--Name-->HP ProBook 255 G1, 455 G1 F2P93UT#ABA, 645 G1, Envy 15-j151ea G7V80EA, Envy m6-1310sa (E4R01EA#ABU) || <!--Chipset-->Slow AMD Dual-Core E1-1500, or AMD Quad A4-4300M A8-4500M A10-4600M A4-5150M A6-5350M 2.9Ghz A10-5750M || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for 7310, 7420G 7520G 7640G 7660G 8350G 8450G or 8550G, 8650G, 8750G }} || <!--Audio-->{{No|HD Audio IDT 92HD91 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek}} || <!--Wireless-->{{No|Atheros}} || <!--Test Distro--> || <!--Comments-->2015 64bit does support AVX or SSE 4.1 - 14in and 15in 1366 x 768 - external battery - 2 ddr3l sodimm slots - 19.5v / 4.62A psu runs hot - |- | <!--Name-->HP ProBook 245 G4, 255 G2, 455 G2, 255 G3, 455 G3, 255 G4 80CB, 255 G5 82F6, 355 G2, HP Pavilion 15-p038na 15-g092sa 15-p091sa 15-G094S 15-p144na 15-p142na, 15-Af156sa || <!--Chipset-->Slow AMD A4-5000 A6-5200, E2-6110, E1-6010 E2-2000, E1-2100 E2-3800, A4-6210 A6-6310 A8-6410, E2-7110, A6-7310 A8-7410 APU on A68M || <!--IDE-->{{N/A}} || <!--SATA-->sata some with cdrw dvdrw || <!--Gfx-->{{Maybe|VESA Radeon R2 R4 R5}} || <!--Audio-->{{no|HD Audio ALC3201-GR}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8102E or Atheros 1GbE}} || <!--Wireless-->{{unk|Qualcomm Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2015 64bit most have SSE4 AVX but E2-2000 does not - 15.6-inch (1366 x 768) - 2 ddr3l sodimm slots - small 31Whr or 41Whr external battery covers 240 G4, 245 G4, 250 G4, 255 G4, 256 G4, 14G, 15G - keyboard repair swap requires removal of all components - |- | <!--Name-->HP Elitebook 725 G2, 745 G2, 755 G2 || <!--Chipset-->Amd Quad A6-7050B A8-7150B 1.9GHz A10-7350B || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R4 R5 Radeon R6 with DP and vga}} || <!--Audio-->{{No|HD audio with IDT 92HD91}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 PCIe GBE}} || <!--Wireless-->{{no|Broadcom or Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 12.5-inch, 14" or 15.6in (all 1366 x 768) - 19.5V 65w 45W AC adapter - internal pull up tab battery under base which slides off - 2 ddr3l sodimm slots - keyboard swap requires removal of all components - |- | <!--Name-->HP ProBook 645 g2, Probook 445 G2, Probook 245 G2 most have cmos rtc battery || <!--Chipset-->AMD A6-8600 A8-8700 a10- || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5 R6}} || <!--Audio-->{{No|HD Audio }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Intel I219V 100/1000}} || <!--Wireless-->{{No|Intel or Qualcomm Atheros}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in and 15.6-inch HD (1366 x 768) or FHD 1080p - 2 ddr3l sodimm slots max 16GB - internal battery - hp ac psu tip - |- | <!--Name-->HP Probook 455 G3 should have a cmos battery || <!--Chipset-->AMD A10-8700P || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata and most should have 9.5mm dvd-rw || <!--Gfx-->{{Maybe|VESA 2D for Radeon R5}} || <!--Audio-->{{No|HDAudio with Conexant CX7501 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG}} || <!--Wireless-->{{no|RTL8188EE }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 2 ddr3l sodimm slots - keyboard swap problematic - |- | <!--Name-->HP Elitebook 725 G3, 745 G3, 755 G3, 725 G4, 745 G4, 755 G4, HP mt43 || <!--Chipset-->Amd A8-8600B, A10-8700B, A12-8800B to Quad A8 Pro 9600B to A10 9800 || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA on AMD R5 R6 R7 with DP and vga but screen is low res, dull colours, and blurry}} || <!--Audio-->{{No|HD audio with IDT codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Broadcom 5762 PCIe GBE}} || <!--Wireless-->{{no|Realtek RTL8723BE-VB}} || <!--Test Distro--> || <!--Comments-->2017 64bit - 12.5-inch (1366 x 768) to 14" and 15.6in - 2 sodimm ddr3 - 19.5V 45W AC slim 4.5mm hp adapter - randomly shuts down and the noisy fans constantly on - keyboard swap problematic - |- | <!--Name-->HP ProBook 645 G3, 655 G3 should have a cmos rtc battery - || <!--Chipset-->AMD 8th Gen A10-8730B, A8-9600B (4c4t) A6-8530B (2c2t) || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA 2d for AMD R5}} || <!--Audio-->{{No|HD Audio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{No|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 15.6in - 2 ddr4 sodimm slots - keyboard repair swap requires removal of all components - |- | <!--Name-->HP Probook 455 G4, Probook 455 G5, should have cmos battery || <!--Chipset-->AMD A10-9600P APU, A9-9410, A6-9210 APU || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->{{Maybe|VESA Radeon R4, R5 or R6}} || <!--Audio-->{{No|HD }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek 1GbE}} || <!--Wireless-->{{no|realtek or intel Wireless-AC 7265}} || <!--Test Distro--> || <!--Comments-->2016 64bit 15.6in 1366 x 768 - 2 ddr4 sodimm slots - keyboard swap problematic - rr03xl battery - |- | <!--Name-->HP ProBook 645 G6, 255 G6 (), 255 G7 (la-g078p), HP Pavilion 14-BW - no cmos battery so needs internal battery || <!--Chipset-->AMD E2-9000e, A9-9420, 9220P, A4-9125 (all 2c) AMD A6-9225 AMD A9-9425 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no internal cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for R2 R3 R4}} || <!--Audio-->{{No|HDAudio 0x1022, 0x157a or 0x1002, 0x15b3 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad - |- | <!--Name-->HP Pavilion 14-BS, HP 15-BS no cmos battery but main battery || <!--Chipset-->Intel i3-6006u || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in (possibly requires the drive cable and M.2 sata3, most have no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d for Intel}} || <!--Audio-->{{No|HDAudio 0x8086, 0x9d70 with ALC codec 0x10EC, x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek rtl8169}} || <!--Wireless-->{{No|RTL8188CTV, RTL8821CE or Intel Dual Band Wireless-AC 3168}} || <!--Test Distro--> || <!--Comments-->2017 64bit 768p all - 19.5V 65W - DDR4 slot max 8Gb - keyboard swap problematic - synaptics touchpad - |- | <!--Name-->ProBook 245 g8 - no cmos rtc coin battery but uses main battery || <!--Chipset-->Range all dual cores - AMD A6-9225 APU, AMD A4-9125 APU, AMD PRO A6-8350B APU, AMD PRO A4-5350B APU || <!--IDE-->{{N/A}} || <!--SATA-->m.2 sata || <!--Gfx-->{{Maybe|VESA R4 R6}} || <!--Audio-->{{no|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek GbE}} || <!--Wireless-->{{No|Realtek}} || <!--Test Distro--> || <!--Comments-->2017 64bit - many variants - keyboard swap problematic - |- | <!--Name-->Pavilion 15z bw0xxx, 15-bw024na 15-ba506na (), 15-bw060na () 15-DB0521SA (LA-G076P), HP Envy x360 () 15-ar052sa 2 in 1 (), no cmos battery but main battery || <!--Chipset-->AMD A9-9420 2c 2t, A10-9620p 4c4t 9700p 7th Gen Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->sata and an extra 2.5in sata if detachable 8pin ribbon cable present || <!--Gfx-->{{Maybe|VESA R5 GCN 3}} || <!--Audio-->{{No|HD Audio 0x1022, 0x157a with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Realtek }} || <!--Wireless-->{{No|Realtek }} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 15.6in 768p or 1080p - internal battery - 19.5V 2.31A hp plug - 1 DDR4-1866 SDRAM sodimm slot - keyboard swap problematic - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Probook 255 G7 84AE 7DE72EA 7DE73EA (epv51 la-g076p) - CMOS Error (502) replace main internal battery HT03XL to have bios remember settings || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, most have mini sata port}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with ALC236 0x10ec, 0x0236 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->AROS x64 deadwoods' iso does not boot with cd/dvd and installed to 2.5in ssd, boots to grub choice, select but no further and reboots || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad - |- | <!--Name-->HP EliteBook 725 G5, 735 G5, 745 G5, 755 G5, Probook 455 G6 || <!--Chipset-->Ryzen 3 2200U 2300U (2c4t), R5 2500U, R7 2700U (4c8t) Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{no|M.2 (Sata or NVMe) and very optional 2.5in sata, some have mini sata port but no cdrw dvdrw}} || <!--Gfx-->{{Maybe|VESA 2d 640p to 768p for AMD Vega 3, 6, or 8}} || <!--Audio-->{{No|HDAudio 0x1022, 0x15e3 with ALC 0x10ec, 0x0 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|Realtek RTL8821CE, 8822BE or Intel AC 8265}} || <!--Test Distro-->AROS || <!--Comments-->2017 64bit - 12.5 to 15.6in 768p mostly to 1080p - 1 on smaller laptops or 2 ddr4 2400mhz sodimm slots on larger laptops max 16Gb - hp 4.5mm blue tip charging - keyboard swap problematic - esc boot options f9 boot order f10 bios - synaptics touchpad - |- | <!--Name-->HP 14-cm, 15-bw0, HP 15-db0043na, HP 15-db0996na, HP 15-db0997na, 17-ca0007na, 17-ca1, ProBook 645 G4 - no cmos battery || <!--Chipset-->Ryzen 2200U (2c 4t) 2500U (4c 8t) with AMD Carrizo FCH 51 || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 M.2 and 1 2.5in on some larger models and hdd port }} || <!--Gfx-->{{Maybe|VESA Radeon R5 and later Vega 3 or 7}} || <!--Audio-->{{No|HDaudio 0x1002, 0x103c or 0x1022, 0x157a with Realtek ALC3227 0x10ec, 0x0227 and ATI HDMI}} || <!--USB-->{{Maybe|USB3 USB boot drive stuck on kitty's eyes}} || <!--Ethernet-->rtl8169 RTL8111E || <!--Wireless-->{{No|RTL 8723DE 8821 bios locked}} || <!--Test Distro-->Icaros 2.3 USB || <!--Comments-->2018 64bit 2kg - screen is dim 14in, 15.6in or 17.3" 768p, later 1080p - 65W 19.5V ac adapter - internal 3-cell 41 Wh Li-ion battery does not last long - 2 ddr4 sodimm slots - no DVD-Writer - keyboard swap problematic - |- | <!--Name-->HP 255 G7 7DC73EA 2D200EA 87CE (fpp55 la-g07jp), - CMOS Error (502) replace 41.04Wh ht03xl hto3xl dynapack suzhou main battery to have bios remember settings || <!--Chipset-->'''tested''' R5 3500U (4c8t) '''untested''' mostly dual cores - AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 NVMe or sata3 up to 2280, optional 2.5in sata, many have mini-sata slimline 6+7 internal port but no physical 9mm drive}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 but no usb-c}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->Aros One 32bit and 64bit burnt iso does not fully boot (stuck on kitty's eyes) and installed onto 2.5in on another compatible computer, sometimes has dosboot bootstrap error -6 || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - caps lock blinking 3 times then 2 quick pulses means ram or bios issue - f9 boot order f10 uefi - laptop needs usb3 to boot and use so avoid until usb3 arrives |- | <!--Name-->[https://support.hp.com/gb-en/document/c06955717 ProBook 245 g8], Probook 445R G6, 455R G6, HP14-dk0599sa, pavilion 15-cw1511na 15-cw1507sa, HP 15s-eq1516sa || <!--Chipset-->AMD Athlon Gold 3150U (2c2t), Silver 3050U APU (2c2t), Ryzen 3 Pro 3145U APU, 3200U (2c4t) and 3500U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1 m.2 (NVMe or sata3 up to 2280), optional 2.5in sata but resets}} || <!--Gfx-->{{Maybe|VESA 2D from 640p to 1080p for AMD Vega 3, 6 or 8 with up to 2gb ram taken}} || <!--Audio-->{{unk|HDAudio 0x1022, 0x15e3 with realtek ALC codec 0x10ec, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek GbE RTL8111HSH}} || <!--Wireless-->{{No|Realtek 8822BE}} || <!--Test Distro-->Aros || <!--Comments-->2018 64bit - 14in / 15.6in dim tn panel 768p or 1080p - 2 ddr4 sodimm slots max 16gb - hp 19.5V 45W 65W AC blue tip round 4.5 mm - keyboard swap problematic - synaptics touchpad - f9 boot order f10 uefi |- | <!--Name-->Elitebook 735 G6 5VA23AV, Elitebook 745 G6, 255 g8, HP 15s-dy - no cmos battery || <!--Chipset-->AMD® Ryzen™ 5-3500U Ryzen 3-3300U AMD Ryzen 3-3250U AMD Athlon® Gold 3150U AMD Athlon Silver 3050U AMD 3020e || <!--IDE-->{{N/A}} || <!--SATA-->{{no|m.2 2280 nvme in legacy - hp sure start and secure boot disabled but still issues with gpt installs - LS-H323P LS-K201P}} || <!--Gfx-->{{Maybe|VESA for Vega 8, 5 or 3}} || <!--Audio-->{{No|HDAudio 6.34 ahi with realtek ALC codec 0x10EC, 0x0295}} || <!--USB-->{{maybe|USB3 type-A port boots stick partially to kitty eyes}} || <!--Ethernet-->{{Maybe|rtl8169 realtek RTL8111E or 8111H}} || <!--Wireless-->{{No|realtek or intel}} || <!--Test Distro-->{{No|Icaros 2.3 onto USB and AROS One 1.8 and 2.0 USB}} || <!--Comments-->2019 64bit - 15.6in 1366x768 to 1920x1080 - 2 3200MHz DDR4 sodimms - 19.5V 2.31A or 20V 2.25 45W 4.5X3.0MM hp - esc bios setup, f9 boot device select - low travel keyboard - poor battery life - plastic hooked base with retained screws - touchpad? - |- | <!--Name-->HP ProBook 445 G7, 455 G7 || <!--Chipset-->Ryzen 3 4300U 5 4500U 4700U || <!--IDE-->{{N/A}} || <!--SATA-->1 sata and 1 nvme || <!--Gfx-->{{Maybe|VESA Vega 3}} || <!--Audio-->{{unk|HDAudio with realtek alc236 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|realtek rtl8111ep}} || <!--Wireless-->{{No|realtek RTL8822CE or intel AC 9260 or Wi-Fi 6 AX200}} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14 inch 768p or 1080p - 2 ddr4 sodimm slots - smart 45w 65w hp or usb-c charging - keyboard swap problematic - RE03XL battery - |- | <!--Name-->HP EliteBook 745 G7, 845 G7, HP 15-EH0006NA || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, PRO 4650U || <!--IDE-->{{N/A}} || <!--SATA-->SSD M.2 || <!--Gfx-->{{Maybe|VESA AMD Radeon Vega 8}} || <!--Audio-->{{unk|Hdaudio with codec 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2020 64bit - 15.6in 1080p - 1 ddr4 sodimm slot - Bang & Olufsen speakers - keyboard swap problematic - |- | <!--Name-->HP ProBook 255 G8, HP 245 G9, ProBook 255 G9 816C2EA#ABE, - no cmos battery only internal battery || <!--Chipset-->AMD RYZEN 3 5300u, 5425U, 5 5500U 5625U, 7 5700u || <!--IDE-->{{N/A}} || <!--SATA-->{{no|NVMe}} || <!--Gfx-->{{Maybe|VESA AMD Vega 6 or 8 hdmi 1.4B}} || <!--Audio-->{{unk|HDAudio}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111HSH-CG GbE}} || <!--Wireless-->{{No|Realtek RTL8822CE or Intel}} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14" to 15.6in 768p to 1080p poor gamut - 45 or 65w hp psu - 2 ddr4 sodimm slots max 16GB - keyboard swap problematic - |- | <!--Name-->HP EliteBook 645 g7, 835 G8, 845 g8, HP ENVY x360 13 15, HP 17-cp0021na || <!--Chipset-->AMD Ryzen 5 5650U, 7 5800U, R7 Pro 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon}} || <!--Audio-->{{unk|HDAudio 0x, 0x with ALC3247 aka ALC236 codec 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe|Realtek 1Gbe on 645 only}} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 13.3" or 14" 1080p - poor screens low nits and srgb score - 845 gets hot ue to poor cooling - slim round hp ac - keyboard swap problematic - |- | <!--Name-->HP Dev One, HP ProBook 455 G8 || <!--Chipset-->AMD Ryzen 7 5800U, R7 5850U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 2 internal sodimm slots - hp barrel charging - |- | <!--Name-->Elitebook 655 g9 669y1ut#aba, || <!--Chipset-->AMD Ryzen 5 PRO 5675U || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2021 64bit 15.6" 1080p - 1 or 2 internal sodimm slots - usb-c charging - |- | <!--Name-->HP probook 635 Aero G8 || <!--Chipset-->AMD Ryzen 5 5600U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2921 64bit - 14in 1080p - 2 ddr4 slots - ec chip nuvoton NPCX797HA1B - bios winbond 250256JYEN - |- | <!--Name-->HP Elitebook 845 g9 || <!--Chipset-->AMD 6000 series 6850u || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe || <!--Gfx-->{{Maybe|VESA 2D for Vega 8}} || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }}Qualcomm Atheros || <!--Test Distro--> || <!--Comments-->2022 64bit aluminum case - 14in 1080p to 2140p 16:10 poor screen again - 2 internal ddr5 sodimm slots - usb-c ac charging avoid any knocks - keyboard swap problematic - |- | <!--Name-->HP ProBook 445 G10, 455 G10 || <!--Chipset-->AMD Ryzen 5 7530U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in - hp round ac - |- | <!--Name-->Hp 455 G11 || <!--Chipset-->AMD Ryzen 3 7335U (4c8t), 5 7535U (6c12t), 7 7735U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Vega 7 || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 RTL8111HSH}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit - 35.6 cm (14.0 in) 1920x1200 or 2560x1600 - usb-c 45w or 65w ac - 2 ddr5 sodimm slots max 32gb - |- | <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====IBM/Lenovo==== [[#top|...to the top]] Build quality (Lowest to highest) <pre > iSeries Edge Ideapad Thinkpad - good cases and construction but electronic internals same as anyone else </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Thinkpad 390X 390E (2626) || <!--Chipset-->Neo Magic MM2200 with C400 P2-266 to P3 500MHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->{{No|256AV or ESS Solo-1}} || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->1998 32bit |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Thinkpad 600x || <!--Chipset-->Intel 440BX || <!--IDE-->{{Maybe| }} || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA Neomagic NM2360 MagicMedia 256ZX}} || <!--Audio-->{{No|Crystal CS4297A codec}} || <!--USB--> || <!--Ethernet-->{{N/A| }} || <!--Wireless-->{{N/A| }} || <!--Test Distro-->Icaros 1.3.1 || <!--Comments-->1998 32bit a little support - earlier 600 and 600e were Pentium 2 based |- | <!--Name-->Thinkpad X20 (2662-32U) X21 || <!--Chipset-->Intel 440 BX ZX DX || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{no|AC97 with Cirrus Logic Crystal cs4281}} || <!--USB-->1.1 || <!--Ethernet-->no mini pci intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 32bit |- | Thinkpad T20 (2647) T21 (26) T22 || 440BX || {{Maybe| }} || {{N/A}} || {{partial|Savage IX-MV (VESA only)}} || {{no|Cirrus Logic CS 4614/22/ 24/30}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{N/A}} || Icaros 1.2.4 || 2002 32bit |- | <!--Name-->A21e (2628, 2655) A22e || <!--Chipset-->440MX || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati rage mobility || <!--Audio-->{{no|AC97 Cs4299 CS4229}} || <!--USB--> || <!--Ethernet-->intel e100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2002 |- | Thinkpad T23 (2647) || i810 || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Super Savage IX/C SDR (VESA only)}} || {{maybe|AC'97 CS4299}} || {{yes|USB 1.1}} || {{yes|Intel ICH3 PRO 100 VE}} || {{no|Realtek RTL8180L others with bios hacking risky}} || || 2003 32bit with some support |- | <!--Name-->Thinkpad X22 X23 X24 || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATi Mobility M6 LY || <!--Audio-->Ac97 CS4299 || <!--USB-->2 x 1.1 || <!--Ethernet-->Intel Pro 100 || <!--Wireless-->Actiontec Harris Semi Intersil Prism 2.5 (X23 and X24 only) || <!--Test Distro--> || <!--Comments-->2003 32bit with slice Ultrabase X2 - |- | <!--Name-->A30 A30p || <!--Chipset-->830 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Ati Radeon M6 || <!--Audio-->AC97 CS 4299 || <!--USB--> || <!--Ethernet-->Intel Pro 100 ve || <!--Wireless-->{{No|Intel 2200 bios locked}} || <!--Test Distro--> || <!--Comments-->2003 32bit |- | <!--Name-->A31 A31p R31 R32 T30 || <!--Chipset-->830 || <!--IDE-->{{yes| }} || <!--SATA-->{{N/A| }} || <!--Gfx-->Ati Radeon 7500 or FireGL || <!--Audio-->{{yes|AC97 Intel with AD1881A codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes| Intel Pro 100 ve}} || <!--Wireless-->{{No|Intel bios locked}} || <!--Test Distro-->[https://forums.lenovo.com/t5/Android-Ecosystem-Developers/AROS-An-operation-system-inside-Android/td-p/1441741 Icaros 1.5.2] || <!--Comments-->2003 32bit Also tested with Icaros 2.0.3. |- | Thinkpad X30 (2673) X31 (2884-xx2) X31t || i830 || {{yes}} || {{N/A}} || {{maybe|VESA only Radeon M6 Mobility}} || {{yes|AC97 - AD1981B codec}} || {{yes|USB 1.1}} || {{yes|Intel PRO 100}} || {{no|Cisco Aironet or Intel 2915 but atheros with bios hacking}} || Icaros 1.4 || 2004 32bit sound bit distorted |- | <!--Name-->R50e R51 || <!--Chipset-->855M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|Intel 855M use VESA}} || <!--Audio-->intel AC97 with AD1981B codec || <!--USB--> || <!--Ethernet-->{{Yes|Intel 100 VE}} || <!--Wireless-->{{No|Intel PRO Wireless 2200BG bios locked}} || <!--Test Distro--> || <!--Comments-->2004 32bit - |- | IBM Thinkpad T40 (2373) T41 T41p (2379) T42 T42p T43 T43p || Intel 8xx || {{partial|PIO}} || {{N/A}} || {{partial|ATI mobility 7500 9000 (VESA only)}} || {{yes|AC97 playback}} || {{yes|uhci 1.1 and ehci 2.0}} || {{no|e1000}} || {{Maybe|Intel 2200bg bios locked but possible AR5BMB-44 AR5212 FRU 39T0081 mini PCI}} || Icaros 1.2.4 || 2004 32bit 16v IBM plug - Centrino Needs ATA=nodma option - issues with the inner chip of the SMT BGA graphics chip |- | Thinkpad X32 || i855 || {{yes|40, 60 or 80GB 2.5" PATA HDD}} || {{N/A}} || {{maybe|VESA only ATI Mobility Radeon 7000 with 16MB}} || {{maybe| Intel AC'97 Audio with a AD1981B codec}} || {{yes|USB}} || {{no|Intel 1000}} || {{no|Intel 2200 but atheros with bios hacking}} || Icaros 2.1 || 2004 32bit - 12.1" TFT display with 1024x768 resolution; 256 or 512MB PC2700 memory standard (2GB max) |- | <!--Name-->Thinkpad X40 X40t by Quanta || <!--Chipset--> || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|Intel 800 (VESA only)}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel e1000}} || <!--Wireless-->{{Maybe|Intel but most atheros with bios hacking - difficult though}} || <!--Test Distro--> || <!--Comments-->2004 32bit last IBM design |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Thinkpad X41 (IBM) MT 1864 1865 2525 2526 2527 2528 x41t (Lenovo) MT 1866 1867 || <!--Chipset-->Intel with single core 1.5 1.6 and tablet 1.2GHz || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{Maybe|Intel or MiniPCI Wi-Fi Atheros AR5BMB FRU 39T0081 but ordinary atheros 54meg needs risky bios hacking}} || <!--Test Distro--> || <!--Comments-->2005 32bit - amongst first Lenovo design |- | <!--Name-->R52 (most 18xx) || <!--Chipset-->Intel 915 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|Intel 915GML 2D}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit |- | <!--Name-->R52 1846, 1847, 1848, 1849, 1850, 1870 || <!--Chipset-->ATi 200m || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{No|ATI}} || <!--Audio-->{{yes|AC97 AD1981B}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Broadcom BCM5751M tg3}} || <!--Wireless-->{{no|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2005 32bit |- | <!--Name-->Thinkpad T60 T60P * 64bit - 6 or 8 is 16:10 on T60/p, eg. 8742-CTO 15.4" * 32bit - 1 and 2 are 14", 15" 4:3, like 2007-YM3 or 1952-CTO || <!--Chipset-->*any* T60/p will take a Core 2 Duo CPU with newer BIOS || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->Intel GMA (2D) with "p" graphics card (ATi V5200 or V5250) || <!--Audio-->{{no|HD Audio}} || <!--USB-->{{yes}} || {{no|e1000e 82573L}} || <!--Wireless-->{{No|Intel ipw3945 ABG but atheros with Middleton's or Zender BIOS hacking risky}} || Icaros 1.4 || <!--Comments-->2006 - |- | <!--Name-->X60 x60s x60t tablet || <!--Chipset-->945GMS 940GML || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{no|AD1981 HD Audio}} || <!--USB-->{{yes}} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{no|Intel 3945 ABG or fru 39T5578 Atheros 5K AR5BXB6 ar5007eg with bios hacking}} || <!--Comments-->Icaros 1.4 || 2006 32bit - perhaps needs a zendered bios update but risky |- | <!--Name-->R60 R60e || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->intel 950 with optional radeon x1300 x1400 || <!--Audio-->HD Audio with 1981HD codec || <!--USB--> || <!--Ethernet-->Intel or Broadcom || <!--Wireless-->{{Maybe|Intel 3945 or atheros fru 39T5578 bios locked}} || <!--Test Distro--> || <!--Comments-->2006 32bit |- | Thinkpad T61 T61p without Middleton's or Zender BIOS || Core 2 Duo CPU T7300 T8300 || {{N/A}} || <!--SATA-->{{yes| }} || Intel GMA (2D), NVS 140m or Quadro FX 570M () || {{maybe|HD Audio with Analog Devices AD1984 or AD1984A HD Audio Codec routed to the line output}} || <!--USB-->{{yes}} || {{no|intel e1000e 82573L}} || {{No|Intel but atheros with bios hacking risky}} || Icaros 1.6, AROS One || 2007 64bit |- | <!--Name-->X61 x61s X61T Tablet || <!--Chipset-->Core Duo T8100 on i965 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Intel GMA 3100 (2D) slow 3D}} || <!--Audio-->{{no|AD1984 HD Audio}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{no|Intel 82566DM}} || <!--Wireless-->{{maybe|Atheros AR5212 (some revisions use Intel WLAN runs very hot) bios locked}} || <!--Test Distro--> || <!--Opinion-->2007 64bit ultrabook running very hot - ddr2 max 4gb - |- | <!--Name-->R61 R61i || <!--Chipset-->Intel 965 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 965 || <!--Audio-->HD Audio with conexant codec || <!--USB--> || <!--Ethernet-->Broadcom BCM5787M || <!--Wireless-->{{No|Intel 3945 bios locked}} || <!--Test Distro--> || <!--Comments-->2008 64bit |- | Lenovo 3000 N200 || <!--Chipset-->Santa Rosa || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|Geforce 7300 (2D)}} || {{yes|ALC262 HD Audio}} || <!--USB-->{{yes}} || {{no|Broadcom}} || {{no|Intel 3945 bios locked}} || Icaros 1.4 || 2007 64bit 3D graphics parts are supported but buggy. |- | Lenovo 3000 N200 / V200 || GM965 ICH9-M with Intel Mobile Core 2 Duo T5450 || {{N/A}} || <!--SATA-->{{maybe| }} || {{yes|X3100 (2D)}} || {{Maybe|HD Audio ALC269VB or CX20549}} || {{yes| }} || {{no|BCM5906M}} || {{no|Intel 3965 / 4965AGN bios locked}} || Icaros 1.4.1 2.1 || 2007 64bits of laptop works |- | <!--Name-->X300 || <!--Chipset-->Core 2 Duo Merom SL7100 1.2GHz || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch || <!--Gfx-->{{maybe|Intel X3100}} || <!--Audio-->HD Audio AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 4965 bios locked}} || <!--Test Distro--> || <!--Comments-->2007 64bit 13.3" TFT 1440x900 (WXGA+) with LED backlight |- | <!--Name-->Thinkpad Edge 11″ AMD K325 || <!--Chipset-->M880G || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|VESA for ATI HD4200}} || <!--Audio-->{{maybe| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 8111}} || <!--Wireless-->{{no|8192CE (Realtek 8176) bios locked}} || <!--Test Distro--> || <!--Comments-->2007 little support |- | <!--Name-->Thinkpad X301 || <!--Chipset-->Core 2 Duo Penryn SU9400 Su9600 with GM45 chipset || <!--IDE-->{{N/A}} || <!--SATA-->1.8 inch micro SATA (uSATA) || <!--Gfx-->{{maybe|Intel X4500}} || <!--Audio-->AD1984A || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{No|Intel 5xxx WiFi link 5100, 5150, 5300 and 5350 (WiMAX) bios locked}} || <!--Test Distro--> || <!--Comments-->2009 WXGA+ (1440×900) LED backlight display - 2774 or 4057 Alps and 2776 Synaptics touchpad - optical bay interface is Legacy IDE (PATA) - Addonics ADMS18SA, Lycom ST-170m |- | <!--Name-->X100e || <!--Chipset-->AMD Athlon Neo Single-Core (MV-40) and dual cores || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|2.5in tray in ide mode in bios}} || <!--Gfx-->{{Maybe|Vesa ATI HD3200}} || <!--Audio-->{{yes|HD Audio with CX20582 codec playback}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{Yes|Realtek 8111}} || <!--Wireless-->{{no|Realtek r8192se bios locked}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2009 64bit 11.6in 1366 x 768 - 20v 65W round barrel - enter f1 setup f11 diagnostics f12 boot list - runs very warm - |- | <!--Name-->SL400 SL500 || Intel || {{N/A}} || {{Yes|IDE mode}} || {{Maybe|Nvidia 9400M}} || {{Maybe|ALC269}} || {{yes|USB 2.0}} || {{Maybe|RTL8169}} || {{Maybe| bios locked}} || || |- | <!--Name-->SL410 SL510 || 965 || {{N/A}} || {{maybe|IDE mode}} || {{maybe|Intel GMA X4500M (some 2D)}} || {{yes|HD Audio with ALC269 codec - speaker and ear phones}} || {{yes|USB 2.0}} || {{yes|RTL8169}} || {{Maybe| bios locked}} || [http://www.amiga.org/forums/showpost.php?p=645774&postcount=28 Icaros 1.3] || 2009 64bit SL-410 |- | <!--Name-->T400 ODM Wistron || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|Intel 4500MHD works limited 2d no 3d - optional switchable Nvidia or ATi HD3470 untested}} || <!--Audio-->{{Yes|HD Audio with Codec CX20561 (T400)}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit 20v lenovo plug - non-free firmware required iwlwifi |- | <!--Name-->T400s || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VSEA for Intel 4500MHD works limited 2d no 3d}} || <!--Audio-->{{Maybe|HD Audio with CX20585}} || <!--USB--> || <!--Ethernet-->{{no|Intel e1000e}} || <!--Wireless-->{{No|Intel Wifi Link 5100 (AGN) half height card with FRU 43Y6493 or 5300 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit non-free firmware required iwlwifi |- | <!--Name-->Lenovo T500 T510 || <!--Chipset-->i || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|VESA for switchable Intel / AMD HD 3640}} || <!--Audio-->{{maybe|Intel HD Audio with a CX20561 (t500) and CX20585 (T510) codec}} || <!--USB--> || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{no|Intel or Lenovo branded unit Atheros AR5007EG AR5BHB63 bios locked}} || <!--Test Distro--> || <!--Comments-->2009 64bit |- | <!--Name-->X200 ODM Wistron [http://itgen.blogspot.co.uk/2008/12/installing-arch-linux-on-lenovo.html X200s] and x200t tablet model without [http://fsfe.soup.io/post/590865884/the-unconventionals-blog-English-Flashing-Libreboot-on Risky flash of the Libreboot BIOS] || <!--Chipset-->GM45 GS45 with slow Celeron, SU or faster SL Core 2 Duos CPUs || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe||Intel GMA 4500 MHD 2D but slow software 3D tunnel 10 gearbox 8 tests}} || <!--Audio-->{{yes|Intel HD Audio with Conexant CX20561 codec playback}} || <!--USB-->{{{Yes|USB 2.0 USB SD card reads and writes}} || <!--Ethernet-->{{no|Intel 82567LM Gigabit}} || <!--Wireless-->{{no|Intel Pro 5100 5150 5300 5350 AGN due to whitelist prevention bios locked}} || <!--Test Distro-->Icaros 2.0.1 || <!--Comments-->2009 64bit 12.1" CCFL (webcam version) or LED backlit (no webcam). no support for 54mm express cards or Authentec 2810 fingerprint reader - thinkpoint only no trackpad - thinklight - |- | <!--Name-->Lenovo T410 T410s T410si || <!--Chipset-->qm57 with i5 m || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{maybe|use vesa Intel 5700MHD (Ironlake) core processor igp with optional Nvidia Quadro NVS 3100M}} || <!--Audio-->{{yes|HD Audio Conexant CX20585 codec playback}} || <!--USB-->{{Yes|2.0}} || <!--Ethernet-->{{no|Intel 82577lm gigabit}} || <!--Wireless-->{{unk|Intel n 6200 or Atheros AR9280 AR5BHB92 half size minipcie bios locked}} || <!--Test Distro-->Icaros 2.2 xmas || <!--Comments-->2009 64bit battery life much lower with Nvidia graphics version - no support firewire ricoh r5c832 - ricoh sd card - series 5 3400 |- | <!--Name-->X201 X201s x201t || <!--Chipset-->QM57 Core i3 370m, i5 M520 2.4GHz or i7 620LM 2.0GHz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|vesa 2d on Intel GMA HD}} || <!--Audio-->{{yes|Intel HD with [https://ae.amigalife.org/index.php?topic=94.0 Conexant 20585] codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no|Intel}} || <!--Wireless-->{{No|bios locked}} || <!--Test Distro--> || <!--Comments-->2010 X201 arrandale power consumption limits battery life to 3-4 hours for 48Whr though to 6 on 72Whr - 12.5" WXGA |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Ideapad B470, B570, V370, V470, V570 || <!--Chipset-->Intel® Core™ i5 i5-2430M, i5-2450M, || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->Vesa 2d for Intel || <!--Audio-->HDaudio 0x8086, 0x1c20 with codec || <!--USB-->USB3 || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no|whitelisted}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 14in or 15.6in 768p - |- | <!--Name-->T420 type 4180 4236, t420s , T520 4239 L520 || <!--Chipset-->i5 2540, 2520 or i7 2860QM 2620 has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|Vesa 136 x 768 - Intel HD 3000 with optional NVS 4200M Nvidia optimus or Radeon HD 565v }} || <!--Audio-->{{Yes|HD Audio playback ear phones only with Conexant CX20672 codec - AHI 6.27}} || <!--USB-->{{Maybe| }} || <!--Ethernet-->{{No|Intel PRO 1000 82579LM}} || <!--Wireless-->{{No|Realtek 1x1, Intel Ultimate-N 6205 6250 2x2 6300 3x3 all bios locked}} || <!--Test Distro-->Icaros 2.2.2 add noacpi to grub boot options || <!--Comments-->2011 64bit - screen 1600x900 or 1366x768 - 2 ddr3l sodimm slots max 16gb - |- | <!--Name-->Thinkpad W520 || <!--Chipset--> has sse4.1 avx || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS}} || <!--Gfx-->{{Maybe|VESA Intel HD 3000 with nvidia quadro 1000m 2000m optimus issues with Nvidia Intel hybrids}} || <!--Audio-->{{Maybe|Intel Hd with CX 20585 codec}} || <!--USB--> || <!--Ethernet-->{{No|Intel 82579 Lm}} || <!--Wireless-->{{No|Intel 6000s}} || <!--Test Distro--> || <!--Comments-->2011 64bit - 15.6" TFT display with 1366x768 (HD), 1600x900 (HD+) or 1920x1080 (FHD) resolution with LED backlight |- | <!--Name-->X220 x220t || <!--Chipset-->QM67 express, dual i5 2520M or i7 dual 2620M sse4.1 avx support || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|IDE in BIOS but not AHCI}} || <!--Gfx-->{{Maybe|VESA 2D 1024 x 768 for Intel HD Graphics 3000}} || <!--Audio-->{{Yes|Intel HD playback with Conexant 20672 codec ear phones and speaker - AHI 6.27 6.34}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel 82579LM}} || <!--Wireless-->{{No|Intel Centrino Advanced-N 6205 Wi-Fi bios locked}} || <!--Test Distro-->Icaros 2.3, Aros One USB 1.6 || <!--Comments-->2011 64bit possible - uses slimmer 7 mm storage sata devices - NEC USB 3.0 on i7's - unwanted trackpad gestures when palms rests on it - 2 ddr3 sodimm slots - external battery - |- | <!--Name-->Thinkpad X120e, x121e Quanta FL8A DAFL8AMB8D0 Rev D || <!--Chipset-->Hudson M1 with slow AMD E350 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA ATI 0x9802}} || <!--Audio-->{{Maybe|ATI SBx00 Azalia HD Audio}} || <!--USB-->USB 2.0 || <!--Ethernet-->RTL8169 RTL8111 || <!--Wireless-->{{no|Broadcom 0x0576 bios locked}} || <!--Test Distro--> || <!--Comments-->2011 64bit 11.6 inch screen - 1 inch think - chiclet keyboard |- | <!--Name-->Ideapad S205 G575 G585, Edge 11 E325 || <!--Chipset-->Slow E-350 later E-450 with A75 or AMD Athlon II Neo has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA HD6310}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Atheros}} || <!--Wireless-->{{No|Broadcom}} || <!--Test Distro--> || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - removeable and plug in battery - 2pin CR2032 CMOS battery - |- | <!--Name-->Ideapad S206 || <!--Chipset-->AMD E300 1.3GHZ Dual has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD Audio with CX20672 codec}} || <!--USB-->{{Maybe|3.0}} || <!--Ethernet-->Broadcom 10/100 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6" and integrated battery - Conexant® |- | <!--Name-->Lenovo x130e or x131e edu || <!--Chipset-->Slow AMD E-300 or E-450 has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Radeon HD 6310 or 6320 }} || <!--Audio-->{{Maybe|HD Audio Realtek ALC269VC / ALC3202 codec}} || <!--USB-->{{Maybe|USB 30 and USB 20}} || <!--Ethernet-->{{maybe|Realtek RTL8111 RTL8168B}} || <!--Wireless-->{{No|Realtek RTL8188CE or Broadcom BCM43228 bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - rubber edged bumper for K12 education market - 2pin CR2032 CMOS battery - |- | <!--Name-->Thinkpad Edge E135 E335 || <!--Chipset-->amd dual E-300, E2-1800 or E2-2000 slow atom like A68M FCH has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|SATA 3.0Gb/s 2.5" wide 7mm high}} || <!--Gfx-->{{Maybe|VESA radeon 6310 or 7340 vga or hdmi}} || <!--Audio-->{{Maybe|HDAudio with Realtek ALC3202 codec}} || <!--USB-->{{maybe|2 usb3, 1 powered usb2}} || <!--Ethernet-->{{maybe|rtl8169 8111f}} || <!--Wireless-->{{no|Realtek WLAN whitelist bios locked}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 11.6 inch to 13.3in 1366x768 - Acrylonitrile-Butadiene-Styrene (ABS) plastic case - external battery - 20v 65w lenovo barrel ac - 2 ddr3 sodimm 8Gb max - |- | <!--Name-->ThinkPad Edge E525 E535 LENOVO IDEAPAD Z575 || <!--Chipset-->AMD A6-3420M A8-3500M later A8-4500M has no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA AMD 6620G later 7640G}} || <!--Audio-->{{No|HDAudio with Conexant codec}} || <!--USB-->{{Maybe|USB2 but not usb3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek 8111}} || <!--Wireless-->{{No|Broadcom bios locked}} || <!--Test Distro--> || <!--Comments-->2013 64bit does not support AVX or SSE 4.1 - 15.6in 1368 x 768 matt - 65W 20v lenovo round psu - thick desktop replacement - ThinkPad Edge E520 E520S E525 E530 E545 E535 E530C Laptop Keyboard swap - |- | <!--Name-->T430 t430i T530 || <!--Chipset-->ivy bridge i5 3320 3230m on Intel QM77 has sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA 1366 x 768 for Intel HD 4000 with optional Nvidia 5400M}} || <!--Audio-->{{Maybe|Intel HD with Realtek ALC3202 aka ALC269VC codec playback ear head phones - HDA 6.27}} || <!--USB-->{{Yes|USB 2 ports and usb2.0 devices thru usb 3.0 ports}} || <!--Ethernet-->{{No|Intel e1000}} || <!--Wireless-->{{unk|Intel or Atheros AR9285 bios locked}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2013 64bit fan noise and chiclet keyboard, synaptics trackpad - HD+ 768p - |- | <!--Name-->Thinkpad X230 x230t || <!--Chipset-->Intel QM67 express i5 has sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{Maybe|Intel HD with ALC269 aka ALC3202}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Intel }} || <!--Wireless-->{{No|I}} || <!--Test Distro--> || <!--Comments-->2013 64bit - 12.2 in 1366 x 768 - 2 ddr3 sodimm slots - external battery - |- | <!--Name-->Thinkpad T440 t440s t440p T540 L440 L540 || <!--Chipset-->intel haswell 8 series Core i3 to i7 has sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA - Intel 4600 or Nvidia}} || <!--Audio-->Intel HD with Realtek ALC3232 alc269 codec or ALC292 || <!--USB-->{{maybe| }} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel AC 7260 bios locked}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 14 and 15" models with glitchy trackpad and no physical buttons - IPS options available - keyboard repair swap requires removal of all components or 4 variants of key caps - 2pin CR2032 CMOS battery - |- | <!--Name-->Thinkpad X240 x240t ultrabook TN (20AL0081GE), HD IPS display without touch (20AL007NGE) and touch (20AL0076GE) but all 65% sRGB || <!--Chipset-->haswell i7-4600U i5 4200U 4210U 4300U i3-4100U - two batteries, one internal 3cell 45N1110 (45N1111) or 45N1112 (FRU 45N1113) and external 3 / 6cell 45N1126 (FRU 45N1127) || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 7mm sata (torq t7), m.2 2242 in WWAN slot (m and b key NGFF Sata) || <!--Gfx-->{{Maybe|use VESA for Intel 4400 for vga or mini-dp}} || <!--Audio-->{{No|HDAudio 0x8086, 0x0a0c 0x8086, 0x9c20 with Realtek ALC3232 aka ALC292 0x10ec, 0x0292}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|Intel® 82577LM Gigabit (Hanksville) }} || <!--Wireless-->{{no|Realtek or Intel 7260n I218-V or I218-LM bios locked}} || <!--Test Distro-->AROS One USB || <!--Comments-->2014 64bit - 12.2in 1366 x 768 or 1080p - 1 ddr3l sodimm slot - no keyboard spill drainage and at least 2 variants of key caps - lenovo rectangle pwr ac - TPM 1.2 - Bluetooth 4.0 no support - large touchpad with integrated but no physical buttons - bottom panel loosening 8 retained screws - 2pin CR2032 CMOS battery - |- | <!--Name-->Thinkpad T450 T450s t450p T550 L550 || <!--Chipset-->Intel i5 4300U i3 5010U i5 5200U 5300U i7 5500U 5600U soldered || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata}} || <!--Gfx-->{{Maybe|VESA Intel HD 5500 5600 with optional nvidia 940M}} || <!--Audio-->{{No|Intel HD Audio with ALC3232 codec Realtek ALC3232 0x10ec, 0x0292}} || <!--USB-->{{maybe|3 USB 3.0}} || <!--Ethernet-->{{No|Intel}} || <!--Wireless-->{{No|Intel Wireless AC 7265 bios locked}} || <!--Test Distro--> || <!--Comments-->2015 64bit 14" 1366 x 768, 1600 x 900 or IPS 1920x1080 - Broadwell - keyboard swap requires removal of all components and key cap versions - |- | <!--Name-->Thinkpad x250 x250t || <!--Chipset-->i3 5010U i5 5200U 5300U i7 5600U || <!--IDE-->{{N/A|}} || <!--SATA-->{{Maybe|2.5in 7mm or m.2 2242 sata (m and b key)}} || <!--Gfx-->{{Maybe|VESA Intel}} || <!--Audio-->{{No|HD Audio with Realtek ALC3232 codec / Intel HDMI}} || <!--USB-->{{maybe|up to 3 USB 3.0 partly boots from usb but stops waiting for usb}} || <!--Ethernet-->{{No|Intel I218 extension port}} || <!--Wireless-->{{No|Intel AC 7265 bios locked}} || <!--Test Distro-->AROS One 2.0 USB || <!--Comments-->2015 64bit - 768p, 1080p 12.5" screen - Fn and F1 for setup bios - F12 boot options - 1 ddr3l sodimm slot - keyboard repair swap requires removal of all components - |- | <!--Name-->ThinkPad Edge E545 * key cap swap with E440 E531 E540 L440 L450 T431S T440S T440P T540 * Keyboard swap L540 T540p W540 Edge E531 E540 W541 T550 W550S L560 P50S T560 || <!--Chipset-->AMD Socket FS1r2 A6-5350M (2c2t) or A8-4500M, A8-5550M, A10-5750M (4c4t) with A76M FCH has sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA-->2.5in 9.5mm - enter UEFI bios with Enter or ESC, config section, sata into compatibility and security, secure boot disabled - mini sata DVD burner PLSD DS8A9SH || <!--Gfx-->{{Maybe|VESA 2D for AMD 7640G, 8450G, 8550G, 8650G ?? Islands}} || <!--Audio-->{{no|VOID 6.3 for HDAudio 0x1022, 0x780d with Conexant CX20590 Analog 0x14f1, 0x506e CX20671 codec 0x14f1, 0x5069 or audio over Trinity HDMI}} || <!--USB-->{{maybe|boots pen drives from yellow usb port but not from blue USB3 ones, issues with AMD usb3 hardware quirks}} || <!--Ethernet-->{{yes|rtl8169 1GbE 8111F}} || <!--Wireless-->{{No|Broadcom BCM43142 bios locked}} || <!--Test Distro-->AROS One 2.3 USB works with noacpi added to end of grub2 boot line but not booting on AROS One 64bit 1.1 via usb2 stick or iso burnt to dvd || <!--Comments-->2015 64bit - 15.6in 1366 x 768 matt - 20v 65w 90w round lenovo plug psu - 2 DDR3 SODIMM slots 16GB Max - external 6 Cell Li-Ion Battery 48Wh l11s6y01 45n1043 - 2pin CR2032 CMOS battery in wifi area jp1202 - amd v(tm) virtualization not working - |- |<!--Name-->AMD platform codes *Beema: ABM, *Carizzo-L: ACL, *Carizzo: ACZ, *Godavari: AGR, *Kaveri: AKV, *Stoney Ridge: ASR, *Stoney Ridge: AST (NB), || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> *Summit Ridge: ASU, *Bristol Ridge-L: ABL, *Bristol Ridge: ABR, *Raven Ridge: ARR, *Picasso: API |- | <!--Name-->[https://www.laptop-schematics.com/db/78/V%20series%20laptops%20(Lenovo)/ V110-14AST (14in) V110-15AST, V110-14ISK V110-15ISK 80TL (15")], || <!--Chipset-->AMD E1-9000, A6-9210 to A9-9410 all dual core and intel 6006u, 6100u, 6200u || <!--IDE-->{{N/A}} || <!--SATA-->1 2.5in sata most 7mm some 9.5mm || <!--Gfx-->{{Maybe|VESA 2D for AMD R2, R3, R5 or R6 or Intel Gfx}} || <!--Audio-->{{No|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 14in to 15.6in mostly 768p 220 nits - 20v 45W or 65W lenovo slim rectangle end ac - keyboard swap hard - integrated 24WHr battery - 4gb ddr4 ram soldered and 1 2133Mhz ddr4 slot max 12Gb - abs plastic - |- |<!--Name--> *ThinkPad A275 12in (1 ddr4 1866MHz sodimm) *Thinkpad A475 14in (2 ddr4 1866MHz sodimm) - both internal (main) and external (secondary) battery || <!--Chipset-->A10-8730B A10-9700B 2.500Ghz later A12-8830B A12-9800B all 4c4t (AVX2 on 9000s) || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe|7mm 2.5in sata with mbr and not gpt, setup in another machine - secure boot disabled, bios startup boot set to legacy then uefi - WWAN slot cannot use M.2 2242 sata with M and B key}} || <!--Gfx-->{{Maybe|VESA 2D for AMD R5 or R7}} || <!--Audio-->{{No|HDAudio 6.34 ahi 0x1022, 0x157a with ALC3268 aka ALC298 codec 0x10ec, 0x0298 - VOID even with QUERY / QUERYD added}} || <!--USB-->{{no|USB3 error on boot suspect AMD usb3 quirk}} || <!--Ethernet-->{{Yes|rtl8169 RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE WLAN whitelist locked cannot swap}} || <!--Test Distro-->{{maybe|AROSOne USB 32bit 1.8 with noacpi noapic noioapic added to grub2 boot line but Aros One 64bit 1.2 USB has krnPanic }} || <!--Comments-->2016 64bit 12 or 14in 768p - 45W or 65w lenovo rectangle ac adapter - F1 enter bios and F12 boot order - 6 retained screws and snap on base - 2100 error message no solution except using only efi/gpt bios option - |- |<!--Name-->320S-15AST, 320S-15ABR, ideapad Slim 1-11AST-05 81VR || <!--Chipset-->AMD A6-9220e, AMD A6-9225, A9-9425, A10-9600P 7th Gen || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{maybe| Vesa 2D for AMD}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p - 1 ddr4 sodimm slot - keyboard swap problematic - |- |<!--Name-->Lenovo Ideapad S145-14AST S145-15AST 81N3 || <!--Chipset-->AMD A6-9225, A9-9425, A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{No| }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2018 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot - |- |<!--Name-->Lenovo Ideapad V145-14AST V145-15AST, 81mt, Ideapad 310, Ideapad 320-15ABR, Ideapad 330-14AST 330-15AST 330-17AST || <!--Chipset-->AMD A6-9225, A9-9425 (2c2t), A10-9600P 7th Gen, AMD A12-9720P Mobo 5B20P11110 NMB341 Bristol Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|sata 2.5in with optional dvd}} || <!--Gfx-->{{Maybe|VESA Radeon 8670A 8670M 8690M GCN 3}} || <!--Audio-->{{unk|HDaudio with ALC3240-va3-cg aka ALC236? codec 0x10de, 0x0236}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 8106E 10/100 only}} || <!--Wireless-->{{No|Qualcomm Atheros QCA9377 or Realtek RTL8821CE}} || <!--Test Distro--> || <!--Comments-->2017 64bit AVX2 - 14in or 15.6" 768p or 1080p - 1 ddr4 sodimm slot - 45w 65w slim ac adapter - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- |<!--Name-->Lenovo V330-14ARR 81B1, V330-15ARR 81, 330-14ARR 81 330-15ARR 81D2 || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->M.2 nvme/sata, optional 2.5in sata but no dvd || <!--Gfx-->{{Maybe|VESA Vega 3, 6 or 8 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HDAudio 0x1002, 0x15de with Realtek® ALC5682I-VD codec 0x10de, 0x or coxenant CX11802 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|Realtek 1GbE}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 768p 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - battery internal about 30whr - 4GB soldered - |- |<!--Name-->Ideapad 330s-14ARR, 330s-15ARR, ideapad 330S-14IKB, 330S-15IKB, || <!--Chipset-->AMD Ryzen R3 2200U, 2300U or R5 2500U Raven Ridge || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|nvme}} || <!--Gfx-->{{Maybe|VESA 2D for AMD or Intel 610, 620 up to 1Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14" 20mm thick 1.8kg - 20v 2.25a 45w ac round barrel - chiclet keyboard - 4Gb soldered and 1 ddr4 sodimm - TPM 2.0 in bios - battery internal about 30whr - 4GB soldered - |- |<!--Name-->Thinkpad Edge E485 E585 || <!--Chipset-->AMD Ryzen R3 2300U R5 2500U R7 2700U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme optional 1 2.5in sata}} || <!--Gfx-->{{Maybe|VESA for Vega 3, 8 or 10}} || <!--Audio-->{{No|HDAudio with CX11852 codec }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 rtl8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in or 15.6in 768p or 1080p - USB-C 20V 2.25A 3.25A avoid knocking charging port as damages easily - 2 ddr4 sodimm slot max 2400Mhz 32GB - internal battery only - TPM 2.0 software - |- |<!--Name-->Thinkpad A285 || <!--Chipset-->AMD Ryzen PRO 3 2200U 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|m.2 nvme/sata}} || <!--Gfx-->{{Maybe|VESA Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{No|Mini-Ethernet/Docking}} || <!--Wireless-->{{no|Realtek or Qualcomm - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 12.5in 1080p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - internal and external battery - soldered ram 8gb or 16gb - WWAN whitelist - keyboard swap problematic - |- |<!--Name-->Thinkpad A485 bios setting [https://github.com/PSPReverse/PSPTool AMD PSP Platform Security Processor Key] || <!--Chipset-->AMD Ryzen PRO 5 2500U || <!--IDE-->{{N/A}} || <!--SATA-->sata port and m.2 nvme port || <!--Gfx-->{{Maybe|VESA Vega }} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec aka ALC 257 }} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUL}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi - WLAN whitelist no more??}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 14in 768p, 1080p or 1440p - avoid usb-c port being lifted/moved whilst in use as damages laptop easily - 2 ddr4 sodimm slots max 32gb - internal and external battery - WWAN whitelist - keyboard swap problematic - |- |<!--Name-->[https://www.diy-laptoprepair.com/forum/fix-Lenovo-V155-15-repair-guide-schematics.php Lenovo v155-15api 81V5] V155 (15" AMD) budget all plastic build - MS new protocol, HID over I2C so [https://askubuntu.com/questions/1033033/elantech-touchpad-does-not-work-i2c-hid i2c] [https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/input/mouse/elantech.c?h=v6.17 i2c] [https://www.kernel.org/doc/html/v4.16/input/devices/elantech.html PS2 hybrid trackpad] [https://cgit.freebsd.org/src/tree/sys/dev/atkbdc/psm.c?h=releng/14.3 elantech] [https://cvsweb.openbsd.org/cgi-bin/cvsweb/src/sys/dev/pckbc/?only_with_tag=OPENBSD_7_8_BASE i2c-hid] 04F3:3140 touchpad not working - internal sunwoda battery L18D3PF1, L18L3PF1, L18C3PF2 35Whr most dead after 5 years || <!--Chipset-->'''tested''' Ryzen 5 3500U and Ryzen 3 3200U - '''untested''' AMD Athlon 300U || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in 7mm sata - install on mbr not gpt 2.5in in another compatible machine - mini sata dvd/cd da-8aesh11b will boot cd or dvd aros || <!--Gfx-->{{Maybe|VESA 2D to 1080p work for Vega 3 or 8 with up to 2Gb of soldered ram memory taken but hdmi 1.4b no output}} || <!--Audio-->{{Yes|HDAudio add 0x1022, 0x15E3 with ALC3287 aka Realtek ALC257 codec 0x10ec, 0x0257 with 32bit on external speaker and most of the time works on 64bit}} || <!--USB-->{{maybe|2 USB3.0, on left hand side, detected but no usb-c ports}} || <!--Ethernet-->{{yes|rtl8169 RTL8111GUS works well with 32bit and 64bit}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->AROS One 2.8 DVD 32bit and AROS One x64 1.1 and 1.2 iso DVD burnt || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits tn panel - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - Fn+F2 to enter bios and F12 boot order - no sd card slot - 2pin cr2032 cmos coin battery - bios winbond 25q64fwsiq soic 1.8v bios near nvme - |- |<!--Name-->V15-ADA 82C700E4UK- elan touchpad not working || <!--Chipset-->AMD r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{Yes|HD Audio 6.36 0x1022, 0x15E3 with R155189 ALC236 codec 0x10ec, 0x0236 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->3500U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - noisy fan - |- |<!--Name-->V15-ADA 82C7 - elan touchpad not working || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD + 1x M.2 SSD NVme near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 with up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{No|HD Audio 6.36 0x1022, 0x15E3 with RTS5119 R155119 ALC230 codec}} || <!--USB-->{{maybe|3 USB3.0, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->Aros One 32bit 2.8 and 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - for this mbd bios ram disable doesn't work - noisy fan - |- |<!--Name-->Lenovo V14-ADA 82C6, - elan touchpad not working - if blank black display, bios bug going from uefi->legacy so reset bios rhs push in with pin, then Down, ent, Right x3, ent, up, ent, right, ent x2 || <!--Chipset-->'''tested''' 3250U - '''untested''' AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U - for this mbd GV451&GV551 NM-D151 bios ram disable doesn't work || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with Realtek ALC3223 RTS5119 R185199 aka ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->3250U with Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 select - |- |<!--Name-->IdeaPad 1 14ADA5 (low spec cpus) ideaPad 3 14ADA05, IdeaPad 3 15ADA05 81W100QVUK, IdeaPad 3 17ADA05 - elan touchpad not working || <!--Chipset-->AMD Athlon Silver 3020e, Ryzen 3 3050U, 3150U, 3250U, Ryzen 5 3500U on mobo NM-C821 REV 0.2 1.0 || <!--IDE-->{{N/A}} || <!--SATA-->1x 2.5" HDD if cbl + 1x M.2 SSD NVMe near fan, no cd dvd || <!--Gfx-->{{Maybe|VESA 2D for Vega 3, 8 up to 1080p with 2Gb of soldered ram memory taken}} || <!--Audio-->{{no|HD Audio 6.36 0x1022, 0x15E3 with ALC230 codec 0x10ec, 0x0230 on 32bit and on 64bit}} || <!--USB-->{{maybe|3 USB3, on left hand side,}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Realtek or Qualcomm wifi}} || <!--Test Distro-->Aros One 32bit 2.8 installed to 2.5in drive on another machine and same for 64bit || <!--Comments-->2019 64bit - 14 or 15.6in 768p on low spec machines to 1080p - 4GB soldered with 1 ddr4 sodimm slot - internal battery 34whr L16M2PB2 l16l2pb3 - 2pin cr2032 cmos coin battery - sd card slot - F2 bios F12 boot select - |- |<!--Name-->Lenovo IdeaPad L340-15API 81LW001CUS L340-17API - elan trackpad not functioning || <!--Chipset-->AMD Athlon 300U, Ryzen 3 3200U r5 3500U || <!--IDE-->{{N/A}} || <!--SATA-->1 M.2 nvme and usually 2.5in sata if ribbon cable present - mini sata dvd/cd da-8aesh11b || <!--Gfx-->{{Maybe|VESA 2D for Vega 3 or 8 with up to 2Gb of soldered ram memory taken - hdmi 1.4b}} || <!--Audio-->{{unk|HDAudio add 0x1022, 0x15E3 with Realtek ALC236 0x10ec, 0x0236}} || <!--USB-->{{maybe|USB3 not detected}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|Realtek or Intel wifi}} || <!--Test Distro-->AROS One 2.8 USB - install on mbr not gpt 2.5in in another compatible machine || <!--Comments-->2019 64bit - 15.6in 768p or 1080p 200nits - 4Gb ddr4 2400MHz soldered with 1 dimm slot max 20Gb - round ac 20V 65W psu 4.0mm x 1.7mm - internal battery L18M3PF2 - Return or F1 to enter bios and F12 boot order - no sd card slot - |- |<!--Name-->[https://www.laptop-schematics.com/db/78/T%20series%20laptops%20(ThinkPad)/ ThinkPad T295 T495] || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111EPV}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered with 1 ddr4 slot on T495 only - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic - |- |<!--Name-->ThinkPad T495s (14in) X395 (13in) || <!--Chipset-->Ryzen 3 3300U, R5 Pro 3500U or R7 3700U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe up to 2280 || <!--Gfx-->{{Maybe|VESA Vega 6, 8 or 10 up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{unk| needs Lenovo ThinkPad Ethernet Adapter Gen 2 SC10P42352 or SC10P42354}} || <!--Wireless-->{{No|Realtek RTL8822BE or Intel AC 9260 wifi}} || <!--Test Distro--> || <!--Comments-->2019 64bit - 13in or 14in 768p but mostly FHD 1080p 250 nits - internal battery - ram 8gb or 16gb 2400Mhz soldered - TPM 2.0 - usb-c charging avoid knock whilst in use - keyboard swap problematic - |- |<!--Name-->ThinkPad E14 Gen2, E15 Gen 2 (AMD) 20T8, - lenovo has a mobile phone PC Diagnostic App for error/beep codes || <!--Chipset-->AMD Ryzen 3 4300U, 5 4500U, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme, 1 2242 and 1 2280 || <!--Gfx-->{{Maybe|VESA 2D for AMD Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2020 15.6in 1080p 220 nits - TPM 2.0 - usb-c charging of internal 45Whr battery - 4gb ddr4 3200Mhz soldered and 1 ddr4 sodimm slot max 20Gb - keyboard swap problematic - plastic bendy case - |- |<!--Name-->Lenovo ThinkPad T14 Gen 1, ThinkPad P14s Gen 1 (AMD) || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charging avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot - |- |<!--Name-->Thinkpad L14 Gen 1, L15 Gen 1, || <!--Chipset-->AMD Ryzen 3 4300u, 5 4500U, Ryzen 5 Pro 4650U, Ryzen 7 Pro 4750U || <!--IDE-->{{N/A}} || <!--SATA-->1 NVMe || <!--Gfx-->{{Maybe|VESA 2D for AMD Vega }} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 0x10EC, 0x0257}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - USB-C charger avoid moving whilst in use - 14" or 15" 1080p - keyboard swap problematic - 8gb or 16gb 3200MHz soldered with 1 ddr4 sodimm slot - sd card slot - |- |<!--Name-->Lenovo ThinkPad X13 Gen1 AMD, || <!--Chipset-->AMD RYZEN 3 4450U, 5 4650U or 7 4750U || <!--IDE-->{{N/A}} || <!--SATA-->One drive, up to 512GB M.2 2242 SSD or 1TB M.2 2280 SSD NVMe || <!--Gfx-->{{partial|VESA Radeon up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| but USB-C ports can fail}} || <!--Ethernet-->{{no|Realtek RTL8111EPV, mini RJ-45 to RJ-45 via optional ThinkPad Ethernet Extension Adapter Gen 2}} || <!--Wireless-->{{no|Realtek Wi-Fi 6 RTL8852AE}} || <!--Test Distro--> || <!--Comments-->2020 13.3" HD 1366x768 to 1080p - USB-C port care needed as damages easily - Memory soldered to systemboard, no slots, dual-channel DDR4-3200 - |- |<!--Name-->Lenovo ThinkBook 14 G2, 15 G2 Are || <!--Chipset-->Ryzen 5 4500u, 7 4700U || <!--IDE-->{{N/A}} || <!--SATA-->14in has 2 m.2 nvme but 15in has 1 nvme and might have 2.5in sata metal caddy if smaller battery version || <!--Gfx-->VESA 2d for AMD Radeon up to 2Gb of soldered ram memory taken || <!--Audio-->{{unk|HDAudio with ALC???? codec 0x10EC, 0x0}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit - 14in or 15in 1080p - usb-c charging but high failure rate on the charging port - 4gb or 8gb soldered with 1 ddr4 sodimm slot 3200mhz - hinge(s) issues - |- |<!--Name-->IdeaPad 5 14ARE05 (81YM), Ideapad 5 15ARE05 (), IdeaPad 3 17ARE05 (model 81W5) - elan touchpad MSFT0004:00 06CB:CD98 not working || <!--Chipset-->'''tested''' 4500u - '''untested''' AMD 3 4300U (4c4t), 4600U (6c12t), 7 4700u (8c16t) on AMD Promontory Bixby FCH || <!--IDE-->{{N/A}} || <!--SATA-->{{no|1x M.2 2242 slot and 1x M.2 2280 NVMe which will take sata m.2 will boot to grub then laptop reset after choice}} || <!--Gfx-->{{Maybe|VESA 2D for Vega 6 via hdmi output up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HDAudio 6.36 0x1637 0x15e3 with Realtek ALC3287 aka ALC257 codec 0x10ec 0x0257}} || <!--USB-->{{maybe|USB 3.1 or 3.2 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel ax200 wifi 6}} || <!--Test Distro-->4500u with AROS One 64bit 1.2 usb installed to m.2 sata on another machine || <!--Comments-->2020 64bit 14inch 768p or 1080p - round lenovo ac - 4gb, 8gb, or 16gb ddr4 3200Mhz ram soldered with 1 slot - keyboard swap problematic - integrated battery - |- |<!--Name-->Ideapad Flex 5 81X2, Lenovo Yoga 6 13ALC6 || <!--Chipset-->AMD R5 4500u, R7 4800U, R3 5300 R5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->M.2 NVMe ssd || <!--Gfx-->{{Maybe|VESA AMD Vega up to 2Gb of soldered ram memory taken}} || <!--Audio-->{{unk|HD Audio with ALC? codec}} || <!--USB-->{{maybe|USB3.1 gen 1}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|realtek ac wifi}} || <!--Test Distro--> || <!--Comments-->2020 64bit abs plastic case 14in convertible 1080p touch low nits - 65w usb-c psu ac - possible wacom esr note taking pen supplied - ram soldered DDR4 - keyboard swap problematic - |- |<!--Name-->ThinkPad T14 Gen 2, P14s Gen 2 || <!--Chipset-->AMD 5850U || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDaudio with ALC3287-CG codec 0x10EC, 0x0}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{Maybe| }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 - usb-c power 90% failure rate on the charging port - |- |<!--Name-->Lenovo ThinkBook 14 G3, 15 G3 ACL, || <!--Chipset-->Ryzen 5 5500U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{No| }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 14in or 15in 1080p - usb-c charging powered - |- |<!--Name-->ThinkPad E14 G3, E15 Gen 3 (AMD) || <!--Chipset-->AMD 5300U 5500U 5650U 5700U 5800U || <!--IDE-->{{N/A}} || <!--SATA-->up to 2 m.2 nvme || <!--Gfx-->{{Maybe|VESA }} || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 RTL8111GUS}} || <!--Wireless-->{{no|realtek or intel }} || <!--Test Distro--> || <!--Comments-->2021 64bit - 15.6in 1080p - - usb-c charging issues - keyboard swap problematic - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - plastic bendy case - |- |<!--Name-->V14 Gen 2 (82KA, 82KC) *ALO *ALC 82KD || <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor - |- |<!--Name-->V15 G2 Gen2 (82KB, 82KD) *ALO *ALC 82KD || <!--Chipset-->Ryzen 3 5300U, 5 5500U, 7 5700U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme 2280 and optional 2.5in sata after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe|USB3 }} || <!--Ethernet-->{{maybe|rtl8169 Realtek RTL8111H-CG}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6" FHD 1080p - 4gb or 8gb soldered with 1 ddr4 sodimm slot - 65w round ac adaptor - |- |<!--Name-->ThinkPad L15 Gen 2 (15″, AMD) || <!--Chipset-->AMD 5000 series AMD Ryzen 3 5400U (4c8t), 5 5600U, 5 5650U (6c12t), 7 PRO 5850U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with Realtek® ALC3287}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{no|rtl8169 needs dongle RTL8111EPV (DASH models) or RTL8111HN}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 15.6in 768p or 1080p - usb-c charging - 4gb soldered with 1 ddr4 3200Mhz sodimm slot - |- |<!--Name-->ThinkPad E14 Gen 4, E15 Gen 4 (15″, AMD) || <!--Chipset-->AMD 3 5425u, 5 5625U, 7 5825u || <!--IDE-->{{N/A}} || <!--SATA-->1 (14") or 2 (15") nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with ALC3287 codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6in 1080p - usb-c charging - 4gb or 8gb soldered with 1 ddr4 3200Mhz sodimm slot - L19M3PDA 45Whr battery - U24 TPS65994 and QB6 QB5 mosfet issues - plastic bendy case - |- |<!--Name-->ThinkPad T14 Gen 3 Machine types MT 21AH 21AJ 21CF and 21CG, P14s Gen 3 || <!--Chipset-->AMD 6850U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{Maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in |- |<!--Name-->ThinkPad T14s Gen 3 || <!--Chipset-->AMD 6500U || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| ALC3287-VA2-CG codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Ethernet support via optional Lenovo® USB-C® to Ethernet Adapter}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in |- |<!--Name-->V14 G3, V15 G3 Gen3 ALC || <!--Chipset-->Ryzen 5 6500U || <!--IDE-->{{N/A}} || <!--SATA-->nvme and optional 2.5in sata if smaller 38Wh battery and after sourcing ribbon cable and connector, no dvd || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15"FHD - battery BYD L20B2PFO - |- |<!--Name-->ThinkPad L15 Gen 3 (15″, AMD) || <!--Chipset-->AMD 6000 series || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{No| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p - |- |<!--Name-->Lenovo Yoga 7 14ARB7 || <!--Chipset-->AMD Ryzen 5, 6600U, 7 6800U || <!--IDE-->{{N/A}} || <!--SATA-->1 nvme || <!--Gfx-->AMD 660M or 680M || <!--Audio-->{{No|HDaudio with ALC3306 aka alc287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2022 64bit - 14in 1800p ips 300 nits - usb-c ac charging 71whr integrated battery - sd card slot - digital pen input - 8gb, 6gb or 32gb soldered ddr5 ram - |- |<!--Name-->ThinkPad T14 Gen 4, P14s Gen 4 || <!--Chipset-->AMD Ryzen Pro 5 7540U, Ryzen Pro 7 7840U (AI NPU) || <!--IDE-->{{n/a}} || <!--SATA-->NVme || <!--Gfx-->VESA 2D for AMD 740M 780M|| <!--Audio-->{{unk|HDAudio ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1920x1200 - 8gb, 16gb or 32gb lpddr5 soldered - usb-c charging - |- |<!--Name-->ThinkPad E14 g5, E15 Gen 5 (15″, AMD) || <!--Chipset-->AMD 7000 series Ryzen 5-7530U, 7-7730U || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB3}} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p - |- |<!--Name-->Thinkbook 14 G6 ABP IRL, ThinkBook 16 G6ABP (21KK001CUK) || <!--Chipset-->AMD Ryzen 7530U 7730U || <!--IDE-->{{N/A}} || <!--SATA-->m.2 nvme || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 untested}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1200p or 1440p - 100W USB-C AC power adapter - |- |<!--Name-->IdeaPad Slim 5 Light 14ABR8 Laptop || <!--Chipset-->AMD Ryzen 3 7330U (4c8t) 5 7530U (6c12t) 7 7730U (8c16t) || <!--IDE-->{{N/A}} || <!--SATA-->2 m.2 nvme slot - 1 2242, 1 2280 || <!--Gfx-->VESA 2d for AMD Radeon || <!--Audio-->{{unk|HDaudio with Realtek® ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{No| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 14in 1080p - 8Gb or 16Gb soldered ram - usb-c charging only - |- |<!--Name-->ThinkPad X13 Gen 4 (13" AMD) || <!--Chipset-->AMD 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 - avoid usb-c port damage - |- |<!--Name-->ThinkPad L14 (Gen4), L15 Gen 4 (15" AMD) || <!--Chipset-->MD Ryzen 5 PRO 7530U, 7480U 7040U || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{partial|VESA}} || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit - elan trackpad - |- |<!--Name-->Lenovo Gen 4 V14 (82YT, 82YV, 83A0, 83A1, 83CC, 83FR, 82YX, 83FG), V15 (82YU, 82YW, 83FS, 82YY, 83CR), V17 (83A2), || <!--Chipset-->AMD AMD Athlon™ Gold 7220U (2c4t), AMD Athlon™ Silver 7120U (2c2t), AMD Ryzen™ 3 7320U (4c8t), AMD Ryzen™ 5 7520U (4c8t) || <!--IDE-->{{N/A}} || <!--SATA-->nvme and 2.5in sata if smaller 38Wh battery, no dvd || <!--Gfx-->{{Maybe|VESA 2d for AMD 610M HDMI® and USB-C}} || <!--Audio-->{{unk|HDaudio with ALC3287 codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{no|Gigabit Ethernet, 1x RJ-45}} || <!--Wireless-->{{no|wifi 6}} || <!--Test Distro--> || <!--Comments-->2023 64bit - 15.6" FHD 1080p - 8 or 16Gb soldered - 65W round tip (3-pin) AC adapter or USB-C - |- |<!--Name-->ThinkPad e14 G6, e15 Gen 6 (15″, AMD) || <!--Chipset-->AMD 7000 series AMD Ryzen™ 7 7735HS || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D for AMD Radeon || <!--Audio-->{{unk|HDAudio codec}} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe| }} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2023 64bit- 15.6in 1080p - |- |<!--Name-->ThinkPad L16 (16" AMD), || <!--Chipset-->AMD 8000 || <!--IDE-->{{N/A}} || <!--SATA-->nvme || <!--Gfx-->VESA 2D || <!--Audio-->{{unk|HDAudio with codec}} || <!--USB-->{{maybe|USB4}} || <!--Ethernet-->{{no|rtl8169 needs dongle}} || <!--Wireless-->{{no| wifi}} || <!--Test Distro--> || <!--Comments-->2025 64bit |- |<!--Name-->ThinkPad T14 Gen 5, P14s Gen 5 || <!--Chipset-->AMD Ryzen 7 PRO 8840U, AMD Ryzen™ 5 PRO 8540U || <!--IDE-->{{N/A}} || <!--SATA-->NVME || <!--Gfx-->VESA 2d || <!--Audio-->{{unk| }} || <!--USB-->{{maybe| }} || <!--Ethernet-->{{maybe|rtl8169 }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2025 64bit - 14inch 1920 x 1200 - |- |<!--Name--> Lenovo WinBook 300e SKU: 82GKS00000 || <!--Chipset-->AMD 3015E || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2023 64bit 4GB 64GB SSD 11.6 Inch Touchscreen Windows 10 Pro Laptop |- |<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- |<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |<!--Name-->ThinkPad || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Samsung==== [[#top|...to the top]] {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="2%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->NP-Q1 Q1 || <!--Chipset-->Celeron-M 353 ULV 600Mhz || <!--IDE-->{{Yes|1.8" SFF HDD 20 / 60 GB }} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|GMA 915 2D and 3D opengl1 tunnel 95 gearbox 68}} || <!--Audio-->{{Yes|HD Audio with codec - head phones only}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{Yes|Atheros 5006EX}} || <!--Test Distro-->Icaros 2.1 || <!--Comments-->2005 32bit old style tablet UltraMobile PC UMPC - Wacom serial resistive pen or finger no support - 1 sodimm ddr2 max 1Gb - LCD 7" WVGA (800 x 480) - CompactFlash port Type II - |- | <!--Name-->NP Q1U Ultra Mobile PC UMPC Q1F NP-Q1-F000 || <!--Chipset-->Intel A100 600 / A110 Stealey 800 MHz CPU || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Maybe|GMA 950 2D and 3D opengl1}} || <!--Audio-->{{No|HD Audio 1986}} || <!--USB--> || <!--Ethernet-->Intel || <!--Wireless-->{{Maybe|Atheros 5006EX}} || <!--Test Distro-->Icaros 2.1 || <!--Comments-->2006 32bit 1024×600 - sd card slot - |- | <!--Name-->NP P500 family P500Y || <!--Chipset-->AMD with SB600 || <!--IDE-->{{N/A| }} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Maybe|use VESA Ati x1250}} || <!--Audio-->{{Yes| Audio with codec }} || <!--USB--> || <!--Ethernet-->{{No|Marvell 88E8039 yukon}} || <!--Wireless-->{{yes|Atheros G}} || <!--Test Distro-->Icaros 2.1.2 || <!--Comments-->64bit possible - 15.4 tft display - cheap plastic okay build - 19v propriety end - |- | <!--Name-->R505 R510 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Atheros G || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->R520 R522 R610H R620 || <!--Chipset-->Intel Mobile Core i3 Intel PM45 82801M ICH9-M|| <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 4650 (RV730) || <!--Audio-->Intel HD Audio with Realtek ALC272 || <!--USB--> || <!--Ethernet-->Marvell Yukon 88E8057 || <!--Wireless-->Atheros AR5007EG || <!--Test Distro--> || <!--Comments-->2010 64 bit possible |- | NP-R530 || || {{N/A}} || {{partial|IDE mode}} || {{yes|Intel GMA (2D)}} || {{partial|HD Audio playback}} || {{yes|USB 2.0}} || {{no|Marvell}} || {{unk|Atheros AR9285}} || Icaros 1.5.2 || <!--Comments--> |- | <!--Name-->Samsung R730 17.3 Essential Notebook NP-R730-JA02UK, NP-R730-JA01SE, R730-JT06 || <!--Chipset-->Intel HM55 Dual Core T4300 i3-370M || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA for Intel 4500MHD and GeForce G 310M with 1 VGA, 1 HDMI}} || <!--Audio-->{{Yes|HDAudio ALC??? codec Realtek}} || <!--USB-->{{yes|USB2}} || <!--Ethernet-->{{No|Marvell Yukon 88E8059 PCI-E}} || <!--Wireless-->{{unk|Broadcom, Intel or Atheros 9k AR9285}} || <!--Test Distro-->Deadwoods ISO 2023-11 || <!--Comments-->2010 64bit - 17.3in HD 1280 x 720 pixels low contrast or some 1600x900 - 2 DDR3 sodimm slots - 2.84 kg 6.26 lbs - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->[http://www.notebookcheck.net/Review-Samsung-305U1A-A01DE-Subnotebook.68246.0.html Series 3 Samsung 305u1a] || <!--Chipset-->AMD Zacate E350 or E450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon 6320 || <!--Audio-->ALC ACL 269 || <!--USB--> || <!--Ethernet-->Realtek 8111 8169 || <!--Wireless-->Broadcom 4313 || <!--Comments-->2011 64bit |- | <!--Name-->NP-RV415 NP-RV515 || <!--Chipset-->E350 or E450 plus A50M chipset || <!--IDE--> || <!--SATA--> || <!--Gfx-->AMD Radeon HD 6470 || <!--Audio-->HD Audio Realtek || <!--USB--> || <!--Ethernet-->{{unk|RTL8169 Realtek RTL8111 8168B}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit slow - |- | <!--Name-->Series 5 NP535U3C || <!--Chipset-->A6-4455M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->radeon || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit slow - 13.3in 1368 x 768 - plastic build - 65w 19v psu - |- | <!--Name-->series 3 NP355V5C || <!--Chipset-->A6-4400M, A8-4500M, A10-4600M || <!--IDE-->{{N/A}} || <!--SATA-->2.5in || <!--Gfx-->7640M || <!--Audio-->HDAudio || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2012 64bit - 15.4in 1368 x 768 - plastic build - 65w 19v psu - |- | <!--Name-->Samsung ATIV Book 9 Lite NP905S3G || <!--Chipset-->AMD A6-1450 quad 1GHz Temash atom like || <!--IDE--> || <!--SATA-->128gb || <!--Gfx-->AMD 8250 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->{{Maybe|Realtek rtl8169 but only with mini LAN AA-AE2N12B Ethernet Adapter RJ45 dongle}} || <!--Wireless-->{{unk|Atheros AR9565}} || <!--Test Distro--> || <!--Comments-->2014 64bit - 13.3 TN glossy 1366 x 768 200nits 60% srgb - plastic case - 26W battery built in with 4hr life - 19V 2.1A 3.0*1.0mm psu - 1 ddr3l slot max 4gb - 720p webcam - mini hdmi out - 1w speakers - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Toshiba==== [[#top|...to the top]] Order of Build Quality (Lowest to highest) <pre > Equium Satellite (Pro) Libretto Portege Tecra </pre > {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | Tecra 8100 8200 9000 || 440BX || {{yes|IDE}} || {{N/A}} || {{maybe|S3 Savage MX 3D (VESA only)}} || {{no|Yamaha DS-XG ymf744 ymf-754}} || {{yes|USB1.1 only}} || {{N/A}} || {{N/A}} || Icaros 1.5 || little support |- | <!--Name-->Tecra 9100 || <!--Chipset-->810 || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|S3 Savage IX}} || <!--Audio-->{{no|ymf754}} || <!--USB-->USB 1.1 || <!--Ethernet-->eeee pro100 || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->PSU Adapter For Toshiba Tecra 9000 9100 A1 A10 A11 A3 A3X A4 A5 A7 M1 M2 M3 M4 M5 M7 M9 R10 S1 series 75 Watt 15V 5A |- | [http://tuxmobil.org/toshiba_sp4600.html Satellite Pro 4600] || i810 || IDE || {{N/A}} || {{maybe|Trident Cyber Blade XP (VESA only)}} || {{no|YAMAHA DS-XG AC97 ymf754}} || {{yes|USB}} || {{yes|Intel e100}} || {{no|Agere (internal PCMCIA)}} || || little support |- | Satellite 2805 S603 || Intel 815 || {{yes|IDE}} || {{N/A}} || {{maybe|nVidia GeForce2 Go}} || {{no|Yamaha Corp YMF 754}} || {{yes|USB}} || {{yes|Intel PRO/100}} || {{dunno}} || || little support |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Satellite A10 S167 S1291 - A15 A20 A25 || <!--Chipset-->P4M || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GM or Radeon || <!--Audio--> || <!--USB--> || <!--Ethernet-->RTL 8139 || <!--Wireless-->{{Maybe|Intel 2100, Agere or Atheros PA3399U 1MPC minipci}} || <!--Test Distro--> || <!--Comments-->a few models came with antenna leads |- | Satellite [http://eu.computers.toshiba-europe.com/innovation/jsp/SUPPORTSECTION/discontinuedProductPage.do?service=EU&com.broadvision.session.new=Yes&PRODUCT_ID=76230 A30-714] || P4-M / 82845 i845 || {{yes|82801}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes}} || {{yes|RTL8139}} || {{N/A}} || Icaros 1.2.4 || nice laptop, drawbacks: heavy, really hot (P4-3.06 GHz!!) - A30 (EU) A33 (Australian) A35 (USA) - |- | <!--Name-->Satellite A40 A45 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini pci || <!--Test Distro--> || <!--Comments-->2003 32bit - A40 S161 A40-S1611 A40-2701, A45-S120 A45-S1201 S130 S1301 S1501 - |- | <!--Name-->Satellite a50 A55 a60-s156 Equium A60 PSA67E A65 || <!--Chipset-->P4M or Celeron M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro--> || <!--Comments-->2003 32bit - |- | <!--Name-->Satellite A70 A75-S206 A80 A85-S107 || <!--Chipset-->P4M or Celeron-M with Intel 845 865 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 852GME or Radeon 7000 Mobility || <!--Audio-->AC97 Realtek || <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless-->Atheros 5002G 5004G - PA3299U mini-pci || <!--Test Distro-->Icaros 1.5.1 || <!--Comments-->2003 32bit - |- | Toshiba Satellite Pro M30 || intel 855 || {{yes|boots with ATA=nodma option}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|Intel PRO/100 VE}} || {{dunno}} || Icaros 1.5 || nice laptop with some support |- | <!--Name-->Portege M300 - M200 tablet || <!--Chipset-->855GM with 1.2GHz Pentium M 753 || <!--IDE-->{{yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{maybe|VESA 2d only - tablet with nvidia 5200 go}} || <!--Audio-->{{no|AC97 STAC 9750}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|Intel PRO 100}} || <!--Wireless-->{{no|Intel PRO Wireless 2200BG}} || <!--Test Distro--> || <!--Comments-->little support |- | <!--Name-->Tecra M2 M2-S || <!--Chipset-->Intel 855P Pentium-M || <!--IDE--> || <!--SATA-->{{N/A}} || <!--Gfx-->nvidia fx go5200 32mb or 64mb agp || <!--Audio-->AC97 1981B || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Intel Pro || <!--Test Distro--> || <!--Comments-->2003 32bit - PSU 15V 5A - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Satellite Pro L20 267 (PSL2YE PSL2XE) PSL25E L30 || <!--Chipset-->Celeron M 370 1.4 1.5GHz, 1.73Ghz with RC410M SB400 || <!--IDE-->{{N/A| }} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Maybe|use VESA - Ati x200}} || <!--Audio-->{{No|[https://forums.gentoo.org/viewtopic-t-490297-start-0.html ALC861]}} || <!--USB-->{{Maybe|Boots usb sticks}} || <!--Ethernet-->{{yes|rtl8139 Realtek 8139}} || <!--Wireless-->{{No|Atheros mini-pci should work maybe not working with ATi chipset or need to swap??}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2004 32bit 14" pioneer dvd-rw - 19v |- | <!--Name-->Satellite L30 PSL30E L33 PSL33E || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 800 or ATi RC410 x200 || <!--Audio-->AC97 AD1981B or HD Audio ALC861 || <!--USB--> || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->L30 PSL30L 101 PSL33E 113 115 134 00M019 - |- | Satellite Pro M40 313 psm44e || AMD with Ati || {{yes|boots with ATA=nodma}} || {{N/A}} || {{maybe|VESA}} || {{yes|AC97}} || {{yes|USB2.0}} || {{yes|}} || {{maybe|atheros askey ar5bmb5 mini pci}} || || 2005 32bit - nice laptop with some support |- | <!--Name-->Satellite L40 PSL40E PSL40L, PSL43E || <!--Chipset-->945GM with U7700 1.3GHz ULV || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only - - 12X 13G 139 14B 143 15J 19O - |- | <!--Name-->Satellite L45 PSL40U S7409 S2416 || <!--Chipset-->945GM with Celeron M 440 1.86 GHz || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 945 || <!--Audio-->{{No|Intel HD with AD1986A codec}} || <!--USB-->2 USB2.0 || <!--Ethernet-->realtek 8139 || <!--Wireless-->Atheros AR24xx Askey || <!--Test Distro-->Icaros 2.0.3 || <!--Comments-->2006 32bit only - |- | <!--Name-->Satellite Pro A100 || <!--Chipset-->940G || <!--IDE--> || <!--SATA--> || <!--Gfx-->Nvidia G72M Quadro NVS 110M GeForce Go 7300 / Ati (PSAA3E)|| <!--Audio-->HD Audio with ALC861 codec || <!--USB--> || <!--Ethernet-->Intel 100 || <!--Wireless-->Intel 3945 swap with atheros || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Satellite A110 159 (PSAB0), Equium A110 (PSAB2E), Satellite A110 233 (PSAB6), || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->ALC861 || <!--USB--> || <!--Ethernet-->Realtek 8136 || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Satellite Pro A120 PSAC0 PSAC1 PSAC1E || <!--Chipset-->Core Solo GMA 950 to T2300 || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 945 || <!--Audio-->ALC262 or AC97 AD1981B || <!--USB-->UHCI EHCI || <!--Ethernet--> || <!--Wireless-->Atheros Ar5001 or Intel or Broadcom || <!--Test Distro--> || <!--Comments-->15V 4A charger - |- | <!--Name-->Satellite Pro A120 || <!--Chipset-->Core Duo ATi RS480 + SB450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA - ATI RC410 Radeon Xpress 200M || <!--Audio-->ALC262 || <!--USB-->OCHI UHCI || <!--Ethernet-->RTL 8139 || <!--Wireless-->Intel 3945 or Atheros Ar5001 || <!--Test Distro--> || <!--Comments-->15v 5a proprietary charger needed |- | <!--Name-->Satelite A130 PSAD6U || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->ST1311 s1311 ST1312 S2276 S2386 - |- | <!--Name-->Satellite A135 S2686 (Compal LA 3391P) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek 8101E || <!--Wireless-->Atheros or Intel || <!--Test Distro--> || <!--Comments-->S2246 S2346 S2256 S4477 S4666 S4827 - |- | <!--Name-->Satellite A200 PSAE1E (Inventec MW10M) || <!--Chipset-->Pentium M with 945GM Express Celeron M 520 1.6Ghz or Pentium® Core Duo T2130 1.86 GHz || <!--IDE--> {{N/A}}|| <!--SATA--> {{Maybe|SATA}}|| <!--Gfx--> {{Yes|Intel GMA 950 (2D and 3D)}}|| <!--Audio--> {{Yes|HD Audio ALC862}}|| <!--USB--> {{Yes| }}|| <!--Ethernet--> {{yes|RTL8101E rtl8139}}|| <!--Wireless--> {{yes|Atheros 5000 - FN,F5 or FN,F8 or switch}} || <!--Test Distro--> AspireOS 1.8 || <!--Comments-->2006 Excellent 32 bit support! - make sure that your WLAN card is enabled, do this using the hardware switch and FN+F8 key combination |- | <!--Name--> A210, Satellite A215 AMD (Inventec 10A) S5808 || <!--Chipset--> Ati with SB690 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe|use VESA HD2600 Mobility M76}} || <!--Audio-->HD Audio ALC268 || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro--> AspireOS 1.8 || <!--Comments-->A215-S7422 A215-S7472 A215-S4697 (USA) - |- | <!--Name--> [http://www.amiga.org/forums/showthread.php?t=62036 A215 S4757] || <!--Chipset--> Ati X1200 with SB600 || <!--IDE--> {{N/A}}|| <!--SATA-->{{Maybe|SATA}}|| <!--Gfx-->{{Maybe}} || <!--Audio-->HD Audio || <!--USB--> {{Yes| }}|| <!--Ethernet-->{{yes|RTL8101E}}|| <!--Wireless--> {{yes|Atheros 5000}}|| <!--Test Distro--> AspireOS 1.8 || <!--Comments--> |- | <!--Name-->Qosmio G30 (PQG31C-HD202E) || <!--Chipset-->945 with Duo T2500 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{yes|Nouveau Nvidia Go 7600 2d and 3d}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2006 32bit - 17" UXGA 1920x1200, |- | <!--Name-->Tecra A10 || <!--Chipset--> || <!--IDE--> {{N/A}} || <!--SATA--> {{Maybe|IDE mode}} || <!--Gfx--> {{Maybe|Intel GMA 4500M (2D)}} || <!--Audio--> {{Yes|HD Audio}} || <!--USB--> {{Yes|USB 2.0}} || <!--Ethernet-->{{No|Intel PRO 1000}} || <!--Wireless-->{{No|Intel WiFi Link 5100}} || <!--Test Distro--> || <!--Comments-->64 bit possible |- | <!--Name-->L35 - L40 PSL48E - L45 S7423 || <!--Chipset-->GL960 with Intel Celeron || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Maybe|X3100 some 2D but software 3d tunnel 9 gearbox 4}} || <!--Audio-->{{Yes|HD Audio with ALC660 codec playback}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|REALTEK 8139}} || <!--Wireless-->{{No|Realtek 8187b replace with Atheros 5k}} || <!--Test Distro-->Icaros 2.1.2 || <!--Comments-->1,73Ghz M 520 or M 540 or Dual T2310 (1.46 GHz) T2330 (1.6 GHz) - 14H 14N 15B 17H 17K 17R 17S 18Z - |- | <!--Name-->Satellite a300 - inventec potomac 10s pt10s A300D 21H || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->ATI Mobility Radeon HD 3650 || <!--Audio-->HD Audio - Realtek || <!--USB--> || <!--Ethernet-->Realtek 8102E || <!--Wireless-->Atheros 5005 || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->satellite L300D-224 PSLC8E PSLC9E, l305 (inventec ps10s) || <!--Chipset-->AMD M780 with Turion RM70 or QL-64 || <!--IDE--> {{yes|IDE}} || <!--SATA--> {{yes|SATA}} || <!--Gfx--> {{Maybe|use VESA for Radeon 3100}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC268}} || <!--USB--> {{yes|USB 2.0}} || <!--Ethernet--> {{no|rtl8169 Realtek RTL8101E RTL8102E}} || <!--Wireless-->{{no|Atheros G XB63L or Intel or Realtek}} || <!--Test Distro--> Icaros Desktop Live 2.3 AROS One 2.3 || <!--Comments--> Wireless-handler crashing when using Atheros-Wireless-Card |- | <!--Name-->Satellite P300 (PSPC0C-01D01C) || <!--Chipset-->945GM with Intel Core 2 Duo T5750 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{maybe| }} || <!--Audio-->{{No| codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| swap with Atheros 5k }} || <!--Test Distro-->AROS One 64bit || <!--Comments-->2007 |- | <!--Name-->satellite l300-1bw PSLBDE-005005AR, L300-148 PSLB0E, l300-20D PSLB8E-06Q007EN, l300-294 L300-23L PSLB9E || <!--Chipset-->Intel GM45 + PGA478 socket Celeron 900, Pentium T1600, T2390, T3400 (Socket P) to Core2 Duo T6400 T6670 || <!--IDE--> {{unk|IDE}} || <!--SATA--> {{unk|SATA}} || <!--Gfx--> {{Maybe|use VESA for Intel gma 4500M}} || <!--Audio-->{{maybe|HD Audio with Realtek ALC???}} || <!--USB--> {{unk|USB 2.0}} || <!--Ethernet--> {{unk|rtl8169 Realtek 810xE}} || <!--Wireless-->{{no|Intel or Realtek}} || <!--Test Distro--> || <!--Comments-->2009 64-bit - new unfamiliar Bios called insyde H20 - |- | <!--Name-->satellite l350d || <!--Chipset-->AMD Athlon (tm) X2 QL-60 + RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3100 || <!--Audio-->HD Audio with Realtek || <!--USB--> || <!--Ethernet-->Realtek || <!--Wireless-->Realtek 8187b || <!--Test Distro--> || <!--Comments-->2009 64bit |- | <!--Name-->Satellite L450 12 13 14 || <!--Chipset-->AMD Sempron, 2.1GHz with AMD RS780M || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 3200 (based on HD 2400) || <!--Audio--> || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E || <!--Wireless-->Realtek 8172 || <!--Test Distro--> || <!--Comments-->2009 64bit - 12X 13P 13X 14V PSLY6E00C006EN |- | <!--Name-->Satellite Pro L450 (Compal LA-5821P) 179 || <!--Chipset-->intel celeron 900 2.20 Ghz no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->intel 4500m || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet-->RTL8101 /2 /6E PCI Express Gigabit || <!--Wireless-->RTL8191 SEvB || <!--Test Distro--> || <!--Comments-->2009 64bit - 39.6cm (15.6”) Toshiba TruBrite® HD TFT 16:9 768p |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->L755D (E-350) L750D (E-450) || <!--Chipset-->AMD E350 E450 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD 6310 6320 || <!--Audio-->HDAudio conexant codec || <!--USB--> || <!--Ethernet--> || <!--Wireless-->Realtek || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Satellite Pro SP C640 C660D-15X (PSC1YE) C670D- () || <!--Chipset-->AMD E350 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->6310G || <!--Audio-->HD Realtek ALC259 || <!--USB-->USB2 || <!--Ethernet-->Realtek || <!--Wireless-->Broadcom || <!--Test Distro--> || <!--Comments-->2011 zacate |- |<!--Name-->Toshiba Satellite C660D-19X || <!--Chipset-->AMD E-300 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|ATi}} || <!--Audio-->{{no|HD Audio with Realtek codec}} || <!--USB-->{{no| }} || <!--Ethernet-->{{Maybe|r8169 rtl8101e}} || <!--Wireless-->{{no|Realtek RTL8188 8192ce rtl8192ce}} || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->C70D-A C75D-A || <!--Chipset-->E1-1200 no sse4.1 or avx || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|AMD HD8330}} || <!--Audio-->{{no|HA Audio CX20751 11Z}} || <!--USB-->{{no| }} || <!--Ethernet-->{{no|Atheros AR8162 alx}} || <!--Wireless-->{{no|Realtek 8188e}} || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- |} ====Misc==== [[#top|...to the top]] {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Time 500 Packard Bell EasyOne 1450 1550 || <!--Chipset-->K6-3 500Mhz + VIA MVP4 vt82c686a || <!--IDE-->{{N/A|Issues}} || <!--SATA-->{{N/A}} || <!--Gfx-->Use VESA || <!--Audio-->{{No|VIA AC97 3058 with wolfson codec WM9703 WM9704 WM9707 WM9708 or WM9717}} || <!--USB-->via 3038 2 ports USB 1.1 untested || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{N/A}} || <!--Test Distro-->NB May 2013 || <!--Comments-->2001 32bit grub runs but stalls around [PCI] Everything OK |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Sony Vaio PCG FX201/FX202 FX210/FX215 FX401/FX402 FX404/FX405 972M, FX501/FX502 FX504/FX505 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive from Plop Boot Loader floppy (no bios USB boot). Can freeze coz hardware issue or a ram slot problem - no support for iLink firewire VT8363/8365 pci - vt82c686b |- | <!--Name-->Sony Vaio PCG FX601/FX602, FX604/FX605 FXA53(US), FX701/FX702, FX704/FX705, FX801/FX802 FX804/FX805 || <!--Chipset-->VIA KT133A KM133 Duron 800Mhz Athlon 1.3Ghz || <!--IDE-->{{partial|boot issue with 2013 kernel VIA [rev 06]}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{partial|ATI Rage Mobility Pro (VESA only)}} || <!--Audio-->{{Yes|VIA AC97 686b [rev 50] AD1881A Ear phone and Mic}} || <!--USB-->{{Maybe|issues}} || <!--Ethernet-->{{Yes|RTL 8139}} || <!--Wireless-->{{N/A}} || <!--Comments-->Nightly 1st March 2013 || <!--Comments-->booting usb pendrive somes works |- | <!--Name-->Sony Vaio PCG FX100 R505LE || <!--Chipset-->Intel i815 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Use VESA Intel 82815 CGC || <!--Audio-->Intel ICH AC97 with ADI AD1881A codec || <!--USB--> || <!--Ethernet-->Intel e100 || <!--Wireless-->{{N/A}} || <!--Test Distro--> || <!--Comments-->PCG-FX105 FX105K PCG-FX108 FX108K PCG-FX109 FX109K FX200 FX203/FX203K FX205 FX205K FX209 FX209K FX220 [http://juljas.net/linux/vaiofx240/ FX240] FX250 FX270 FX290 FX301 FX302 FX340 FX370 FX390 FX403 FX503 FX950 |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | Sony VAIO VGN X505VP || Pentium M ULV and Intel 855GM || {{yes}} || {{N/A}} || {{maybe|Intel 855 (VESA only)}} || {{yes|AC97}} || {{yes|USB}} || {{yes|Intel PRO 100 VE}} || {{N/A}} || || 2004 32bit - 0.38 inches at its thinnest point - first laptop to feature a "chiclet" keyboard resemble Chiclets gum - |- | <!--Name-->Sony Z505LE Z505JE || <!--Chipset-->P3 || <!--IDE--> || <!--SATA-->n/a || <!--Gfx-->Rage Mobility M1 AGP mach64 || <!--Audio-->no Yamaha DS-XG PCI YMF744 || <!--USB--> || <!--Ethernet-->Intel 8255x based PCI e100 || <!--Wireless-->n/a || <!--Test Distro--> || <!--Comments-->2004 32bit - |- | <!--Name-->Panasonic Toughbook CF-18 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes|gma for i915}} || <!--Audio-->{{yes|AC97 SigmaTel}} || <!--USB-->{{yes|usb2 }} || <!--Ethernet-->{{yes|RTL 8139C}} || <!--Wireless-->{{no|Intel swap for atheros 5k}} || <!--Test Distro-->Deadwoods' D02 test || <!--Comments-->2003 32bit |- | <!--Name-->Panasonic Toughbook CF-29 CF-30 || <!--Chipset-->Core || <!--IDE--> || <!--SATA--> || <!--Gfx-->use VESA || <!--Audio-->AC97 SigmaTel || <!--USB--> || <!--Ethernet-->RTL 8139C || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2003 32bit |- | <!--Name-->MSI Microstar PR210 || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Maybe|use VESA ATi RS690M}} || <!--Audio-->{{Yes|HD Audio through speaker / head phones but not hdmi}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|Realtek 8111 8169}} || <!--Wireless-->Atheros AR242x AR542x aw-ge780 mini pci-e || <!--Test Distro-->Icaros 2.1.2 || <!--Comments-->2004 32bit - ENE PCI based SD card with no bios boot option |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Advent 7106 EAA-88 || <!--Chipset-->Pentium M 1.7GHz with 915GM || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{Yes|2D and 3D tunnel 187 gearbox 67}} || <!--Audio-->{{Yes|AC97 Intel ICH6 with Conexant Cx20468 31 codec playback head phones only}} || <!--USB--> || <!--Ethernet-->{{Yes|Realtek 8169}} || <!--Wireless-->{{No|Intel 2200BG Fn/F2 replaced with atheros mini pci in small base panel - startup errors in wireless manager}} || <!--Test Distro-->Icaros 2.1.1 || <!--Comments-->2005 32bit 14" cheap rubbish sadly - fan noise through audio channel - |- | <!--Name-->Motion Computing LE1600 PC Slate || <!--Chipset-->915 || <!--IDE--> || <!--SATA--> || <!--Gfx-->915 || <!--Audio-->Intel AC97 SigmaTel STAC9758 9759 || <!--USB--> || <!--Ethernet-->Realtek 8169 || <!--Wireless-->Intel PRO Wireless 2200BG || <!--Test Distro--> || <!--Comments-->2005 serial Wacom digitiser not usb |- | <!--Name-->Panasonic Toughbook CF-51 CF-P1 CF-T5 CF-Y2 || <!--Chipset-->945GMS || <!--IDE--> || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->Broadcom || <!--Wireless-->Intel || <!--Test Distro--> || <!--Comments-->2006 32bit |- | <!--Name-->Sony Vaio VGN-AR11S || <!--Chipset-->ntel Core Duo T2500 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{yes| Nvidia Go 7600}} || <!--Audio-->{{yes| }} || <!--USB-->{{yes| }} || <!--Ethernet-->{{no| }} || <!--Wireless-->{{No| }} || <!--Test Distro-->Aros One 32bit || <!--Comments-->2006 32bit - 17" 1920x1200 - blu-ray - |- | Sony Vaio VGN SR29VN || Intel ICH9 || {{N/A}} || {{maybe|IDE legacy}} || {{partial|ATI HD 3400 (VESA only)}} || {{partial|HD Audio (too quiet)}} || {{yes|USB1.1 and USB2.0}} || {{no|Marvell 8040}} || {{no|Intel 5100}} || Icaros 1.5 || 2007 32bit - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name-->Wyse XM Class DELL WYSE Xn0m LAPTOP || <!--Chipset-->AMD T-G56N 1.6 1.65Ghz || <!--IDE-->{{N/A| }} || <!--SATA-->decased 2.5in ssd || <!--Gfx-->{{Maybe|Vesa 2d only AMD 6320}} || <!--Audio-->{{Maybe| }} || <!--USB-->{{Maybe|EHCI 2.0 with NEC uPD720200 USB 3.0}} || <!--Ethernet-->{{Yes|Realtek rtl8169 8111E}} || <!--Wireless-->{{No|Atheros 93xx}} || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 - 1366 x 768 14" - 2 ddr3l slots max 16gb - 19v coax barrel plug psu - |- | <!--Name-->Panasonic Toughpad FZ-G1 MK2 || <!--Chipset-->Core i5-3437U, 1.9GHz || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2014 64bit - |- | <!--Name-->ToughPad FZ-G1 Mk3 || <!--Chipset-->Intel Core i5-4310U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4400 || <!--Audio-->HDaudio Codec ALC255 || <!--USB--> || <!--Ethernet-->{{N/A}} || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->2015 64bit - |- | <!--Name-->[https://wiki.recessim.com/view/Panasonic_Toughpad_FZ-G1_MK4 Panasonic Toughpad FZ-G1 MK4] || <!--Chipset-->intel 6300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 520 || <!--Audio-->HDaudio with ALC256 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but options on the right hand side of screen case}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|intel ac 8260}} || <!--Test Distro--> || <!--Comments-->2016 64bit - 10.1in 1600x1200 - 4gb ddr3l soldered - waterproof pen left hand side base - optional slot-in 4g lte and sdhc - 16v 4.06A 64.96W panasonic barrel - |- | <!--Name-->Panasonic Toughpad FZ-G1 MK5 || <!--Chipset-->intel i5-7300U || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel 620 || <!--Audio-->HDaudio ALC295 codec - o/c or s/c fails early || <!--USB-->{{maybe|USB3 but optional usb2 plugin r.h.s. of screen casing}} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 8gb ddr3l soldered - 10.1" WUXGA 1920 x 1200 with LED backlighting screen 2-800 nit - 10-point capacitive multi touch + Waterproof Digitizer pen l.h.s - |- | <!--Name-->ToughPad FZ-M1 || <!--Chipset-->Intel® Core TM m5-6Y57 vPro TM || <!--IDE-->{{N/A}} || <!--SATA-->sata || <!--Gfx-->Intel HD 4200 || <!--Audio-->HDaudio with ALC codec || <!--USB-->{{maybe| }} || <!--Ethernet-->{{N/A}} || <!--Wireless-->{{no| }} || <!--Test Distro--> || <!--Comments-->2016 64bit - 7in 800p - 8gb ddr3l soldered - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || IDE || SATA || Gfx || Audio || USB || Ethernet || Wireless || Test Distro || Comments |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ===Netbook=== [[#top|...to the top]] * One of the better options if re-partitioning of the hard disk is not suitable or wanted is to go with AROS hosted i.e. run a small linux distro and host AROS on top. AROS can exist on a Windows(TM) install as well. See here for more information [https://ae.amigalife.org/index.php?topic=779.0 Linux hosted] and [ Windows hosted] with downloads here [http://aros.sourceforge.net/download.php AROS download page] * installation needs an USB optical drive or an USB pen drive (see below) * PC with CD or DVD to install to a USB pendrive for boot purposes on a netbook * SD card sometimes can [ boot] like Dell 2100, EeePC 1001P, ASUS EeePC 900, acer aspire one d150, MSI Wind U100, [http://www.hardwaresecrets.com/article/Audio-Codec-Comparison-Table/520 Audio Codecs] ====Acer Packard Bell Netbooks==== [[#top|...to the top]] {| class="wikitable sortable" width=100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | Aspire One AOA110 (A110) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA (2D and 3D) tunnel 99 and gearbox 84 score}} || {{Yes|HD Audio ALC6628}} || {{Yes|USB1.1 and USB2.0}} || {{Yes|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 2007 32bit 1 core - 19v barrel A13-045N2A 19V2.37A 45W 5.5x1.7mm - |- | Aspire One AOA150 (A150) (ZG5) || Intel 945GSE || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D with tunnel 99 and gearbox 84.1 result}} || {{Yes|HD Audio ALC6628}} || {{Yes|uhci and ehci}} || {{Yes|RTL8101E - rtl8169}} || {{Yes|AR5006}} atheros 5k || AspireOS 1.8 || 2007 32bit 1 core - 19v barrel - |- | Aspire One AOD150 D150 (Compal LA-4781P), AOD110 D110 (ssd) || Intel 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA 950 (2D)}} || {{Yes|HDAudio with alc272}}] || {{Yes|USB}} || {{No|Atheros AR8121 AR8113 AR8114 l1e}} || {{Maybe|AR5007EG AR5BXB63 works but Broadcom BCM4312 has no support}} || Icaros Desktop 1.3 || 2008 32bit 1 core - 19v barrel - |- | Aspire One (ZG8) || Intel 945G and N270 || {{N/A}} || {{Maybe|ide mode}} || {{Yes|Intel GMA 2D and accelerated 3D}} || {{maybe|HD Audio }} || {{Yes|uhci and ehci}} || {{No|Broadcom }} || {{no|Intel}} || AspireOS 1.8 || 2009 32bit - |- | Aspire One AOD250 D250 emachines em250 || 945GME || {{N/A}} || {{Maybe|ide legacy}} || {{Yes|Intel GMA (2D)}} || {{Yes|alc272 HD Audio}} || {{Yes}} || {{No|AR8132 (L1c)}} || {{No|BCM4312 or Atheros AR5B95}} || Icaros 1.3 || 2009 32bit 1 core - 19v barrel - |- | <!--Name-->Aspire AO532H (Compal LA-5651p) 533H Pineview || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio-->{{Yes|HD Audio playback}} || <!--USB--> || <!--Ethernet-->{{No|AR8132 (L1c)}} || <!--Wireless-->{{No|Atheros 9k}} || [http://www.amigaworld.net/modules/news/article.php?mode=flat&order=0&item_id=5968 Tested AspireOS June 2011] || <!--Comments--> |- | <!--Name-->emachines eM350 NAV51 || <!--Chipset--> with N450 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Intel 3150 || <!--Audio-->HD Audio with codec || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro-->Icaros 2.2 || <!--Comments-->Single core 64bit - 160GB HDD 1GB RAM 10.1" LED backlit screen and Webcam - 3 cell li-ion battery for 3 hours usage - |- | <!--Name-->emachines eM355 || <!--Chipset--> with N455 || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments-->64bit support possible - |- | <!--Name-->Aspire One 533 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes}} || <!--Gfx-->{{Yes|2D 0x8086 0xa011}} || <!--Audio-->{{Yes| ALC272 codec ich7}} || <!--USB-->{{Yes}} || <!--Ethernet-->{{No|Atheros AR8152 v1.1 1c}} || <!--Wireless-->{{No|Broadcom 4313}} || <!--Test Distro-->Icaros 2.1 and AROS One 2.3 || <!--Comments-->2011 64bit - f2 setup - 10.1inch 1024 x 768 - |- | Aspire One AOD255 AOD255e AOD260 AOHAPPY (Compal LA-6221P) || N570 and Nm10 || {{N/A}} || {{Maybe|SATA}} || {{Maybe|Intel GMA 3150}} || Audio || USB || {{No|Atheros AR8152 V1.1 (1lc)}} || {{No|Broadcom BCM4313}} || || a little support |- | Aspire One 522 AO522 (Compal LA-7072p) || 1GHz dual C-50 C50 or C-60 C60 + Hudson M1 || {{N/A}} || SATA || AMD 6250 (ATI 9804) or 6290 || ATI SB CX20584 HD Audio || USB || Atheros 8152 v2.0 l1c || {{No|Broadcom BCM4313 or Atheros ath9k}} || || |- | <!--Name-->AAOD270 Aspire One D270 || <!--Chipset-->N2600 Cedarview || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes| }} || <!--Gfx-->{{Yes|2D on Intel GMA 3650}} || <!--Audio-->{{Yes| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Yes|RTL 8169 RTL8101E}} || <!--Wireless-->{{No|Broadcom BCM4313 but swap for Atheros 5k}} || <!--Test Distro--> || <!--Opinion-->2011 64bit atom - ddr2 so-dimm 2gb max - |- | <!--Name-->Aspire One AO532G (Compal LA-6091p) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Aspire One D257 (Quanta ZE6) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Acer Aspire One 722 AO722 P1VE6 || <!--Chipset-->AMD C-60 C60 with SB900 || <!--IDE-->{{N/A| }} || <!--SATA--> || <!--Gfx-->{{Maybe| use VESA Ati 6290}} || <!--Audio-->{{Yes|HD Audio with codec but no Wrestler HDMI output}} || <!--USB--> || <!--Ethernet-->{{No|Qualcomm Atheros AR8152 v2.0}} || <!--Wireless-->{{unk|Atheros AR9485}} || <!--Test Distro-->Icaros 2.1.2 || <!--Comments--> |- | <!--Name-->Aspire One AO721 (Wistron SJV10-NL) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->AO751 AO751H (Quanta ZA3) || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Packard Bell Dot .S || <!--Chipset-->N280 + || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA950 (2D)}}|| <!--Audio-->HD Audio ALC272X || <!--USB--> USB2.0 || <!--Ethernet--> {{no|Atheros l1e}} || <!--Wireless-->{{no|Atheros 9k}} || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Packard Bell Dot .SE || <!--Chipset-->N450 + || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA950 (2D) || <!--Audio-->HD Audio ALC|| <!--USB-->USB2.0 || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Packard Bell Dot .S2 NAV50 || <!--Chipset-->N455 NM10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel X3150 || <!--Audio-->HD Audio ALC269 || <!--USB--> || <!--Ethernet-->Atheros || <!--Wireless-->Atheros || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->Packard Bell Dot M/A || <!--Chipset-->1.2GHz Athlon L110 + RS690E || <!--IDE-->{{N/A}} || <!--SATA-->legacy mode? || <!--Gfx-->AMD ATI Radeon Xpress X1270 (VESA only) || <!--Audio-->HD Audio ATI SBx00 || <!--USB--> || <!--Ethernet-->Realtek RTL8101E RTL8102E rtl8169 || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Opinion--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Asus Netbooks==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | [http://wiki.debian.org/DebianEeePC/Models eeePC] 700 701 2G 4G 8G Surf || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 900 2D and 3D tunnel 68 gearbox 43 on 701 800x480}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Yes| }} AR5007EG (AR2425) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] || NB 2013 and 2.1.1 (best) and 2.1.2 || 2007 32bit - power supplies fail due to bad caps issue psu Power Charger 9.5V 2.5A 24W Charger 4.8*1.7MM - |- | [http://wiki.debian.org/DebianEeePC/Models eeePC] 701SD || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D)}} || {{Yes|ALC662 HD Audio}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{No|RTL8187SE swap with Atheros 5k}} || AspireOS 1.7 || 2007 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll |- | [http://wiki.debian.org/DebianEeePC/Models eeePC] 900 || Intel 910GML + ICH7 || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Maybe|Intel GMA 900 (2D, 3D in some models)}} || {{Yes|ALC662 HD Audio]}} || {{Yes|UHCI and EHCI}} || {{No|Atheros L2}} || {{Maybe|depends on chipset}} AR5007EG (AR2425) - [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=32391&forum=28&start=20&viewmode=flat&order=0#583583 works] but not RaLink || AspireOS 1.7 || 2008 32bit - boot issues but does boot with ATA=32bit,nopoll or ATA=nodma,nopoll. 900's may need BIOS upgrade to boot usb optical drives. 3D available in some and not all model revisions - |- | eeePC 900A || 945GSE || {{N/A}} || {{Maybe|IDE legacy mode}} || {{Yes|Intel GMA 950 (3D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB2.0}} || {{No|Atheros L1e [1969 1026]}} || {{Yes|Atheros 5k AR242x}} || Nightly Build 2012 05-25 || 2009 32bit |- | eeePC 901 1000 || 945GM || {{N/A}} || {{Maybe|IDE legacy mode}} || {{yes|Intel GMA 950 (2D)}} || {{Yes|ALC269 HD Audio}} || {{Yes|USB}} || {{No|Atheros L1E (AR8121 AR8113 AR8114)}} || {{No|RaLink Device 2860 swap with Atheros 5k}} || Icaros 1.4 || 2009 32bit |- | eeePC Seashell 1000HA 1000HE 1008 1005HA || N280 + Intel GMA950 || {{N/A}} || SATA || {{Yes|Intel GMA (2D)}} || {{Yes|HD Audio ALC269}} || {{Yes|USB}} || {{Maybe|Realtek but not Atheros AR8132 (L1c)}} || {{unk|Atheros AR9285}} || Aspire OS 1.6 || 2010 32bit |- | <!--Name-->eeePC 1001ha || <!--Chipset-->GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 950 (2D) || <!--Audio-->ALC269 HD Audio || <!--USB--> || <!--Ethernet-->{{No|Attansic Atheros AR8132 l1c}} || <!--Wireless-->{{No|RaLink RT3090 swap with Atheros 5k}} || <!--Test Distro--> || <!--Opinion-->2010 32bit |- | eeePC 1001P T101MT 1005PX 1005PE 1015PE Pineview 1001PXD || NM10 and N450 N455 CPU || {{N/A}} || {{Maybe|IDE mode}} || {{Yes|Intel GMA 3150 (2D)}} || {{Yes|HD Audio}} || {{Yes|USB 2.0}} || {{No|Atheros AR8132 (l1c)}} || {{unk|Atheros AR928x 802.11n}} || Icaros 1.3.3 || 2011 64bit |- | EeePC 1015B 1215B || single C-30 C30 or dual C-50 C50 + Hudson M1 || {{N/A}} || SATA || {{partial|AMD 6250 (VESA only)}} || ATI SBx00 HD Audio || USB || {{No|AR8152 v2.0 atl1c}} || {{No|Broadcom BCM4313 [14e4 4727]}} || || 2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->Flare X101CH Cedarview || <!--Chipset-->N2600 + N10 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Intel GMA 6300 || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit |- | <!--Name-->Flare 1025CE 1225CE || <!--Chipset-->N2800 + N10 || <!--IDE--> || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{No|Atheros l1c 2.0}} || <!--Wireless-->{{unk|Atheros 9k AR9285}} || <!--Test Distro--> || <!--Comments-->2012 64bit |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Dell Netbooks==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | Inspiron 910 Mini 9 PP39S Vostro A90 || GMA945 || {{Maybe|STEC 8G 16G 32G IDE PATA Parallel ATA miniPCIE SSD 50MM / 70MM very slow}} || {{N/A| }} || {{yes|Intel GMA 2D and 3D opengl1}} || {{yes|ALC268 HD Audio}} || {{yes|USB2 boots and works}} || {{yes|rtl8169 Realtek RTL8102E}} || {{no|Broadcom BCM4310 and 4312 swap with atheros 5k bx32}} || ICAROS 1.3 but Icaros 2.3 (pci issues), AROS One 2.6 and Tiny AROS (digiclock startup) mouse cursor vanishes || 2008 32bit - 9inch 1024x600 screen - 1 ddr2 sodimm slot max 2gig - 19v 1.58a - 0 boot disk select - cr2032 battery under laptop base cover, while mem 2GB max under base flap - |- | <!--Name-->Inspiron Mini 10 1010 PP19S || <!--Chipset-->Atom Z520 Z530 Intel US15W Poulsbo || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Intel GMA 500 (VESA only)}} || <!--Audio-->{{Maybe|HD Audio ALC269 codec}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169 RTL8102E}} || <!--Wireless-->{{no|Intel or BCM4312}} || <!--Test Distro--> || <!--Comments-->2008 32bit - 10.10 inch 16:9, 1366 x 768 glossy - 28whr or 56wHr battery options - |- | [https://wiki.ubuntu.com/HardwareSupport/Machines/Netbooks#Dell%20Mini%2010v%20(Inspiron%201011) Mini 10v 1011] [http://wiki.debian.org/InstallingDebianOn/Dell/InspironMini10v ] || Intel 950 || {{N/A}} || {{maybe|ide legacy mode}} || {{yes|Intel GMA (2D)}} || HD Audio || {{yes|USB}} || {{yes|RTL8102E 8103E}} || {{no|Dell 1397 Wireless}} || || 2008 32bit - |- | <!--Name-->Inspiron Mini 1018 || <!--Chipset-->Intel Atom N455 || <!--IDE-->{{N/A}} || <!--SATA-->{{partial|IDE mode }} || <!--Gfx-->{{yes|Intel GMA 3150 (2D, no VGA output)}} || <!--Audio-->{{partial|HD Audio head phones only - speaker and micro phone do not work}} || <!--USB-->{{yes|USB 2.0}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{unk|RTL8188CE or AR928X}} || <!--Test Distro--> Icaros 1.5.1 || <!--Comments-->2009 64bit - 1 DDR3 max 2gb - |- | Latitude 2100 || Intel Atom N270 N280 1.60Ghz GMA 945GME || {{N/A}} || {{Yes|set to IDE in bios as ahci not working || {{yes|Intel GMA 950 (2D and 3D with tunnel 98 and gearbox 84)}} || {{yes|HD Audio with ALC272 codec}} || {{yes|USB2.0}} || {{No|Broadcom BCM5764M}} || {{No|Intel 5100 or BCM4322 DW 1510 half height mini pcie use small Atheros 5k}} || <!--Test Distro-->AspireOS 1.8, Icaros 2.1.1 and AROS One USB 2.4 || 2009 32bit ddr2 sodimm max 2G - [https://sites.google.com/site/arosaspireone/about-aspire-one Webcam and card reader not working] lcd cable over hinge an issue - f12 bios and boot - |- | <!--Name-->Latitude 2110 2120 || <!--Chipset-->N470 1.83Ghz, N455 1.6Ghz, N550 1.5Ghz || <!--IDE-->{{N/A}} || <!--SATA-->{{Yes|ATA mode in bios not ahci}} || <!--Gfx-->{{Yes|Intel 3150 2D only}} || <!--Audio-->{{Maybe|HD Audio with ALC269 codec}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No| }} || <!--Wireless-->{{No| swap for Atheros}} || <!--Test Distro-->Icros 2.3 || <!--Comments-->2011 64bit does not support AVX or SSE 4.1 - ddr2 sodimm |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====HP Compaq Netbooks==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | HP Mini 2133 || VIA C7-M P4M900 / 8237 VX700 || {{N/A}} || {{maybe|SATA}} || {{maybe|VIA Chrome 9 HC (VESA only)}} || {{no|VT1708/A HD Audio}} || USB || {{no|Broadcom Corp NetXtreme BCM5788}} || {{no|Broadcom Corp BCM4312}} || || 2008 32bit - |- | HP mini 1000 Mi 2140 ks145ut || N270 + 945GM || {{N/A}} || SATA || <!--Gfx-->{{Yes|Intel GMA 950 (2D and opengl1 3d)}} || <!--Audio-->{{Yes|HD Audio (playback tested)}} || <!--USB-->{{Yes| }} || {{no|Marvell 88E8040}} || {{no|Broadcom Corp BCM4312 hard blocked}} || || 2009 32Bit - unable to change wifi card |- | <!--Name-->HP Mini 700 702 || <!--Chipset-->N270 + 945GSE || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|Intel GMA 950 (2D)}} || <!--Audio-->{{Yes|HD Audio IDT 92HD75B (111d:7608, only playback tested)}} || <!--USB-->{{Yes| }} || <!--Ethernet--> || <!--Wireless-->{{No|Broadcom hard locked}} || <!--Test Distro--> || <!--Comments-->2009 32bit - |- | Compaq HP Mini 110 110-3112sa || 945GM Express || {{N/A}} || {{maybe|IDE mode}} || {{yes|Intel GMA 950 (2D)}} || {{yes|HD Audio IDT STAC 92xx}} || {{yes|USB 2.0}} || {{no|Atheros}} || {{no|Broadcom hard blocked Fn+F12}} || || 2009 32bit - unable to change wifi |- | HP Mini 200 210 || 945GM NM10 Express || {{N/A}} || SATA || Intel GMA 950 || HD Audio || USB || RTL8101E RTL8102E || {{no|Broadcom BCM4312 hard locked}} || || 2009 32bit - |- | HP Mini 311 DM1 (Quanta FP7) || N280 + ION LE || {{N/A}} || SATA || nVidia Geforce ION || HD Audio || USB || eth || {{No|hard locked}} || || 2009 64bit does not support AVX or SSE 4.1 - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |} ====Lenovo Netbooks==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | IdeaPad S9 S9e(3G) S10 S10e(3G) || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA (2D)}} || {{no|ALC269 or SigmaTel HD Audio}} || {{yes|USB}} || {{no|Broadcom NetLink BCM5906M}} || {{no|Broadcom BCM4312 hard blocked}} || || 2009 32bit - little support |- | IdeaPad S12 || N270 + Nvidia ION LE MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || ALC269 HD Audio || USB || Broadcom || Intel hard blocked || || 2009 32bit - does not boot - cause unknown |- | S10-2 || 945GME and N280 CPU || {{N/A}} || SATA || {{yes|Intel GMA (2D)}} || {{no|ALC269 HD Audio}} || {{yes}} || {{yes|rtl8169}} || {{no|Broadcom BCM4312 hard blocked}} || Icaros 1.3 || 2009 32bit - |- | S10-3 || NM410 and N450 CPU || {{N/A}} || SATA || {{yes|Intel GMA 3150 (2D)}} || {{no|HD Audio ALC269}} || {{yes|USB}} || {{yes|rtl8169}} || {{no|Atheros 9285 or Broadcom BCM4312 hard blocked}} || Icaros 1.3 || 2009 32bit - |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Samsung Netbooks==== [[#top|...to the top]] {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | [http://www.amigaworld.net/modules/newbb/viewtopic.php?post_id=616910&topic_id=33755&forum=28#616910 NC10] || 945GME || {{N/A}} || {{maybe|SATA}} || {{yes|Intel GMA 950 (2D)}} || {{partial|SigmaTel HD Audio (playback only)}} || {{yes|USB}} || {{maybe|rtl8169 works but not Marvell 88E8040 sky2}} || {{yes|AR5007EG}} || Icaros 1.4 || 2009 32bit - Nano silver on keyboard and lcd ribbon cable over hinge issues |- | [http://www.sammywiki.com/wiki/Samsung_NC20 NC20] || VIA VX800 || {{N/A}} || SATA || {{maybe|VIA Chrome9 (VESA only)}} || ALC272 GR (VT1708A) HD Audio || {{yes|USB}} || {{no|Marvell 88E8040}} || {{yes|Atheros AR5001}} || || 2009 32bit - little support |- | N110 N120 || 945GSE || {{N/A}} || SATA || {{yes|Intel GMA 950 (2D)}} || {{yes|ALC272 HD Audio or ALC6628}} || {{yes|USB}} || {{no|Marvell 88E8040}} || {{no|Realtek rtl8187}} || || 2009 32bit - some support - Namuga 1.3M Webcam none |- | N130 || 945GSE || {{N/A}} || {{yes|SATA in IDE mode}} || {{yes|Intel GMA 2D and opengl 1.x 99.5 tunnel 99 gearbox}} || {{yes|Intel HD with ALC272 ALC269 codec playback}} || {{yes|USB}} || {{yes|RTL 8169.device - 8101e 8102e}} || {{no|rtl 8192se rtl8187 too small an area to swap for atheros 5k}} || || 2009 32bit - 10.x inch 1024 x 600 - Namuga 1.3M Webcam - front slide power on and f2 setup bios - keyboard 17.7mm Pitch is made with Silver Nano (Anti-Bacterial) tech - small touchpad - 1 ddr2 2rx16 sodimm slot 2G max - 44Wh |- | <!--Name-->Go NP-N310 || <!--Chipset-->N270 + 945GME || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->{{yes|HD Audio ALC6628}} || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|Atheros5k}} || <!--Test Distro--> || <!--Opinion-->2010 32bit - N280 version changed specs |- | N510 || N270 euro N280 uk + ION MCP79 || {{N/A}} || SATA || nVidia C79 ION [Quadro FX 470M] || HD Audio || USB || Marvell 88E8040 || Realtek 8192E || || 2010 32bit - does not boot - cause unknown |- | NP N145 Plus || n450 + NM10 || {{N/A}} || {{maybe|IDE legacy mode}} || {{yes|Intel GMA 3150 (2D, no VGA output)}} || {{yes|Realtek HD Audio}} || {{yes|USB2.0}} || {{no|Marvell 88E8040}} || {{unk|Atheros AR9285}} || || 2010 some support but often the trackpad does not work |- | <!--Name-->NC110 Axx || <!--Chipset-->NM10 || <!--IDE-->{{N/A}} || <!--SATA-->Sata || <!--Gfx--> || <!--Audio-->HDAudio with ALC269 codec A9M22Q2 || <!--USB--> || <!--Ethernet-->{{Maybe|Rtl8169}} || <!--Wireless-->{{No|Broadcom BCM4313 or Atheros}} || <!--Test Distro--> || <!--Comments-->2011 64bit - |- | NF210 Pineview || n455 or n550 + N10 || {{N/A}} || {{maybe|SATA}} || {{maybe|Intel GMA 3150 (needs retesting, VESA works)}} || {{yes|HD Audio}} || {{yes|USB}} || {{no|Marvell 88E8040}} || Wireless || || 2011 64bit - some support |- | <!--Name-->NS310 NP-NS310-A03UK || <!--Chipset-->N570 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->{{Maybe|use Vesa 2d }} || <!--Audio-->{{yes| ich7}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 realtek 810xe }} || <!--Wireless-->{{no|bcm4313 }} || <!--Test Distro-->AROS One 2.3 || <!--Comments-->2011 64bit Atom N570 or 1.5 GHz Intel Atom N550 dual core processor, 1 DDR3 sodimm slot memory, a 250GB hard drive, and a 10.1 inch, 1024 x 600 pixel 10.1" W7St - 2300mAh short life - |- | <!--Name-->[https://wiki.archlinux.org/index.php/Samsung_N150 N150] NB30 || <!--Chipset-->MN10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->{{No| }} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell 88E8040}} || <!--Wireless-->{{unk|Atheros AR9285 or Realtek 8192E}} || <!--Test Distro--> || <!--Comments-->2011 a little support |- | <!--Name-->[http://www.kruedewagen.de/wiki/index.php/Samsung_N220 N210 N220] N230 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->{{Maybe| }} || <!--Gfx-->{{Yes|Intel GMA 3150 (2D)}} || <!--Audio-->HD Audio ALC269 || <!--USB-->{{Yes| }} || <!--Ethernet-->{{No|Marvell}} || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Comments-->2011 - a little |- | <!--Name-->NC110 Pxx Cedarview || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{dunno|Intel GMA 3600}} || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless-->{{No|Intel 6000g}} || <!--Test Distro--> || <!--Comments--> |- |} ====Toshiba Netbooks==== [[#top|...to the top]] {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->NB100 || <!--Chipset-->945GM || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|legacy}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->{{yes|ALC262 HD Audio}} || <!--USB--> || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro--> || <!--Comments-->2009 32bit - some support |- | <!--Name-->Mini NB200 series NB205 || <!--Chipset-->N280 + GSE945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}}|| <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC272 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|RTL8169}} || <!--Wireless-->{{unk|AR9285}} || <!--Test Distro--> || <!--Opinion-->2009 32bit - |- | <!--Name-->Mini 300 series NB305 || <!--Chipset-->N455 with NM10 || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->ALC272 HD Audio || <!--USB--> || <!--Ethernet-->RTL8101E RTL8102E || <!--Wireless-->{{unk|AR9285}} || <!--Test Distro--> || <!--Opinion-->2010 64bit - |- | <!--Name-->Mini 500 series NB505 NB520 NB550-10v || <!--Chipset--> || <!--IDE-->{{N/A}} || <!--SATA-->legacy || <!--Gfx-->Intel GMA 3150 (2D) || <!--Audio-->HD Audio || <!--USB--> || <!--Ethernet-->RTL8101E RTL8102E || <!--Wireless-->Realtek 8176 RTL 8188CE || <!--Test Distro--> || <!--Opinion-->2011 64bit - |- | [http://www.notebookcheck.net/Review-Toshiba-NB550D-AMD-Fusion-Netbook.46551.0.html Mini NB550D 10G] 108 (c30) 109 (c50) || C-50 + M1 || {{N/A}} || SATA || AMD 6250 (VESA only) || HD Audio || USB || Realtek 8111e rtl8169 || Atheros 9k || || 2011 64bit Realtek SD card reader |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ====Misc Netbooks==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="5%" |Ethernet ! width="10%" |Wireless ! width="5%" |Test Distro ! width="30%" |Comments |- | Cammy's A1600 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{yes|HD Audio playback}} || {{yes}} || {{no|JMC 250/260}} || Wireless || Icaros 1.2.4 || |- | <!--Name-->Fujitsu Siemens Amilo Mini Ui 3520 || <!--Chipset-->Intel 945 || <!--ACPI--> || <!--SATA-->{{yes}} || <!--Gfx-->{{yes|Intel GMA (2D)}} || <!--Audio-->ALC269 HD Audio || <!--USB-->{{yes}} || <!--Ethernet-->{{yes|rtl8169}} || <!--Wireless-->{{yes|AR5001}} || <!--Test Distro--> || <!--Comments-->good |- | Guillemot Hercules eCafe EC-900 H60G-IA], Mitac MiStation and Pioneer Computers Dreambook Light U11 IL1 || Intel 945GME || {{N/A}} || {{maybe}} || {{yes|Intel GMA950 (2D)}} || {{Yes|HD Audio (playback only)}} || {{yes|uhci and ehci}} || {{yes|rtl8169}} || {{no|RAlink RT2860}} || || Slowly gaining support |- | <!--Name-->Hannspree Hannsnote SN10E2 24 48 || <!--Chipset-->N450 + NM10 || <!--IDE-->{{N/A}} || <!--SATA-->IDE legacy mode || <!--Gfx-->Pineview Intel (2D) || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->Atheros l1c || <!--Wireless-->{{unk|Atheros AR9285}} || <!--Test Distro--> || <!--Opinion--> |- | MSI Wind U90/U100 || GME945 || {{N/A}} || {{maybe}} || {{yes|Intel GMA 950 (2D)}} || {{partial|HD Audio ALC888s (playback only?)}} || {{yes|uhci 1.1 and ehci 2.0}} || {{yes|rtl8169}} || {{no|RaLink RT2860 RT2700E or rtl8187se (u100x)}} || Icaros 1.3 || |- | Advent 4211 || 945GSE || {{N/A}} || {{maybe|IDE legacy mode}} || Intel GMA950 (2D) || ALC HD Audio || USB || rtl8169 || {{no|Intel 3945 ABG}} || || MSI U100 clone |- | <!--Name-->Hannspree Hannsnote SN10E1 || <!--Chipset-->N270 + GMA945 || <!--IDE-->{{N/A}} || <!--SATA-->{{maybe|IDE legacy mode}} || <!--Gfx-->{{yes|Intel GMA 950 (2D)}} || <!--Audio-->ALC HD Audio || <!--USB-->USB2.0 || <!--Ethernet-->{{yes|Realtek RTL8101E RTL8102E RTL8169}} || <!--Wireless-->{{no|RaLink RT2860}} || <!--Test Distro--> || <!--Comments-->MSI U100 clone |- | <!--Name--> Vaio VGN-P11Z | <!--Chipset--> | <!--IDE--> {{dunno}} | <!--SATA--> {{N/A}} | <!--Gfx--> {{Partial|Intel (VESA only)}} | <!--Audio--> {{no|HD Audio}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{no|Marvell}} | <!--Wireless--> {{unk|Atheros AR928X}} | <!--Test Distro--> Icaros 2.0.3 | <!--Comments--> Rarely boots! |- | <!--Name-->Sony VPC-W11S1E | <!--Chipset-->N280 with 945GSE | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes| }} | <!--Gfx-->{{yes|Intel GMA950 - hdmi}} | <!--Audio-->HD Audio with realtek codec | <!--USB-->3 USB2 | <!--Ethernet-->{{No|Atheros AR8132}} | <!--Wireless-->{{unk|Atheros AR9285}} | <!--Test Distro--> | <!--Comments-->2009 32bit - 10.1" 1366 x 768 glossy - 3hr battery life - |- | <!--Name-->Archos 10 Netbook || <!--Chipset-->Atom with ICH7 NM10 945GSE || <!--IDE-->{{No }} || <!--SATA--> || <!--Gfx-->GMA 950 || <!--Audio-->HD Audio with ALC662 codec || <!--USB--> || <!--Ethernet-->Realtek 8139 || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name-->MSI Wind U135 DX MS-N014 || <!--Chipset-->Intel N455 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{Yes|2D only accelerated}} || <!--Audio-->{{No|ALC662 rev 1}} || <!--USB-->{{Yes| }} || <!--Ethernet-->{{Maybe|RTL}} || <!--Wireless-->{{No|Atheros AR 9K}} || <!--Test Distro-->Icaros 2.1 || <!--Comments-->needs noacpi notls added to grub boot line to start up |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--Chipset--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Wireless--> || <!--Test Distro--> || <!--Comments--> |- |} ===Desktop Systems=== [[#top|...to the top]] {| class="wikitable sortable" width="100%" | <!--OK-->{{Yes|'''Works well'''}} || <!--May work-->{{Maybe|'''Works a little'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}} |- |} ====Acer==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->[https://www.acer.com/ac/en/ID/content/support-product/486;-; Veriton X270 VTX270] Intel Core 2 Duo ED7400C or Pentium dual-core UD7600C with 630i | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{Maybe|Vesa 2d Nvidia 7100 VGA and HDMI connections}} | <!--Audio-->{{Maybe| with realtek codec}} | <!--USB-->{{Maybe|4 rear and 5 front}} | <!--Ethernet-->{{Maybe| nForce}} | <!--Test Distro-->Icaros 2.3 dvd | <!--Comments-->2009 64bit capable but would not fully boot, DHCP address timeout too short and failed often. Put in a third party NIC, worked - 1 PCI Express x16 slot and a free PCI x1 slot - internal thin long psu with 12pin - |- | <!--Name--> Imedia S1710 with Intel Dual Core E5200 | <!--IDE--> {{Yes|SATA/AHCI}} | <!--SATA--> {{Maybe|Native IDE}} | <!--Gfx--> {{Yes|Nvidia nForce 7100}} | <!--Audio--> {{Yes|Nvidia MCP73}} | <!--USB--> {{Yes|USB 2.0}} | <!--Ethernet--> {{No|NVIDIA MCP73 Ethernet}} | <!--Test Distro--> Nightly Build 14-09-2023, AROS One 2.3 | <!--Comments--> 2009 64-bit - Boot over USB not working on front - 2 DDR2 dual channel max 8GB - DEL for entering Bios - F12 for boot menu - Bus weird, could be reason for Ethernet issue |- | <!--Name-->Acer Revo AR1600, R1600 AR3600, R3600 Packard Bell iMax Mini, ACER Veriton N260G N270G slim nettop subcompact | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}} | <!--Gfx-->{{Maybe|Nvidia ION GeForce 9300M - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}} | <!--Audio-->{{Maybe|HD Audio with alc662 codec but nothing from HDMI audio}} | <!--USB-->{{Maybe|Nvidia USB boot usb2 stick issues and slower with usb3 drives}} | <!--Ethernet-->{{No|MCP79 nForce}} | <!--Test Distro--> | <!--Comments-->2009 64bit does not support AVX or SSE 4.1 Intel Atom 230 N280 - 20cm/8" high 1 ltr noisy fan - very often boot stuck around ehciInit - DEL setup F12 boot options - 2 ddr2 sodimm slots max 4GB - 19v special barrel size 5.5mm/1.7mm psu - 2 ddr2 sodimm slots max 4GB - atheros 5k AR5BXB63 wifi - |- | <!--Name-->Revo AR3610 R3610 3610 Atom 330 nettop subcompact dual core | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|Native IDE mode, '''when it works''' boots}} | <!--Gfx-->{{Maybe|Nvidia ION GeForce 9400M LE MCP79MX - nouveau 3d - '''when it boots''' 400 fps in shell'ed gearbox, 278 in tunnel, 42 in teapot}} | <!--Audio-->{{Yes|HD Audio with Realtek alc662 rev1 alc662-hd later ALC885 codec but nothing from HDMI audio}} | <!--USB-->{{Maybe|Nvidia USB with 1% chance boot with usb2 sticks, more issues with usb3 drives}} | <!--Ethernet-->{{No|RTL 8211CL MCP79 nForce}} | <!--Test Distro-->{{no|AROS One 32bit 1.5, 1.6 and 2.4 usb and 64bit 1.2 USB}} | <!--Comments-->2010 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - boot often stuck at Kernel or around ehciInit, SATA, etc try ATA=off, non usb hub keyboard, - DEL bios setup, F12 BBS POPUP/drive boot - 2 ddr2 sodimm slots max 4GB - 19v barrel psu with smaller inner pin size 5.5mm/1.7mm - replace wifi RT3090 ver c (linux) with atheros 5k - |- | <!--Name-->Revo N281G | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe| }} | <!--Gfx-->{{maybe|GMA 2d for GMA 3100}} | <!--Audio-->HD audio codec | <!--USB-->USB2 | <!--Ethernet-->Realtek | <!--Test Distro--> | <!--Comments-->2011 64bit does not support AVX and SSE 4.1 Atom D425 - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios - |- | <!--Name-->REVO AR3700 R3700 3700 Atom D525 dual core - ACER Veriton N282G *one long beep followed by two short, bios damaged *looping one long two short, a video card fault *two short beeps... CMOS damaged *got one long and one short beep... board error? | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes|IDE ready in Bios}} | <!--Gfx-->{{Yes|Nvidia ION2 GT218 ION vga fine '''but''' hdmi fussy over display used - nouveau 2d & 3d gearbox 404 tunnel 292 teapot 48}} | <!--Audio-->{{Yes|HDA Intel with Realtek ALC662 rev1 codec, head phones only but nothing from NVidia HDMI}} | <!--USB-->{{Yes|Intel® NM10 Express (NM10 is basically an ICH7 with a die shrink and IDE removed) USB boots usb, installs usb, accesses ok}} | <!--Ethernet-->{{Yes|Realtek 8169 8111g}} | <!--Test Distro-->AROS one 32bit USB 1.5 and 1.6 and ArosOne 64bit usb 1.2 | <!--Comments-->2011 64bit does not support AVX or SSE 4.1 20cm/8" high 1 ltr noisy fan - early 2 ddr2 sodimm slots but later 2 ddr3 sodimm slots 1Rx8 max 4GB - 19v barrel psu thinner pin - replace wifi RT3090 ver d with atheros 5k mini pci-e - ACPI Suspend Mode = S1, S3 (STR), S4 - Power on PCIe * Known Acer issue, Boot into bios, set bios to UEFI and reboot, set bios back to defaults and reboot, blank display, repair with reflash of 8 pin Winbond W25Q socketed bios chip with ch341a using 2011/09/19 P01.B0L, 2011/05/09 P01.A4, 2011/05/03 P01.A3L, 2010/12/27 P01.A2L, 2010/12/27 P01.A2 amiboot.rom - |- | <!--Name-->Revo 70 (RL70) with or without dvdrw | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->6320 or 6310 | <!--Audio-->HD audio ALC662-VCO-GR codec | <!--USB-->USB2, 1.1 Hudson D1 | <!--Ethernet-->Realtek 8111E | <!--Test Distro--> | <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD E450 1.65GHz - 19v 65w barrel psu thinner inner pin - 2 DDR3L single channel max 4GB - replace wifi RT3090 ver d with atheros 5k mini pci-e - 1lr or 1.5 ltr dvdrw case 209.89 mm, (D) 209.89 mm, (H) 35.35 mm - del enter bios - |- |} ====Asus==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->EEEbox B202 | <!--IDE--> | <!--SATA--> | <!--Gfx-->Intel GMA950 | <!--Audio-->Intel Azalia HDaudio with Realtek ALC662 or ALC888-GR CODEC | <!--USB--> | <!--Ethernet-->Realtek 8111 or JM250 | <!--Test Distro-->Icaros | <!--Comments-->internal 3 types of wifi chipset not supported |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- |} ====Dell==== {| class="wikitable sortable" width="100%" ! width="10%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name--> Precision 340 | <!--IDE--> {{yes}} | <!--SATA--> {{n/a}} | <!--Gfx--> {{n/a}} | <!--Audio--> {{yes|Intel AC97}} | <!--USB--> {{yes|USB 1.1 (UHCI)}} | <!--Ethernet--> {{yes|3Com}} | <!--Test Distro--> Nightly Build 2014 09-27 | <!--Comments--> |- | <!--Name-->Dimension 2400 | <!--IDE-->{{Yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{Yes|Intel 82845GL Brookdale G/GE (VESA 640x480 by 16)}} | <!--Audio-->{{Unk|AC97 with ADI codec}} | <!--USB-->{{Yes|UHCI EHCI}} | <!--Ethernet-->{{Maybe|Broadcom 440x 4401}} | <!--Test Distro-->[http://eab.abime.net/showthread.php?p=832495 Icaros 1.4] | <!--Comments-->Graphics chipset is capable of higher resolution. |- | <!--Name-->Dimension 4600 | <!--IDE-->{{yes}} | <!--SATA-->{{dunno}} | <!--Gfx-->{{partial|Intel Extreme (VESA only)}} | <!--Audio-->{{yes|Intel AC97 (use rear black port)}} | <!--USB-->{{Yes|UHCI/EHCI}} | <!--Ethernet-->{{yes|Intel PRO/100}} | <!--Test Distro-->Icaros 1.5.2 | <!--Comments--> |- | <!--Name--> Optiplex 170L | <!--IDE--> {{yes|IDE}} | <!--SATA--> {{partial|IDE mode}} | <!--Gfx--> {{partial|Intel Extreme (VESA only)}} | <!--Audio--> {{no|Intel AC97}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{yes|Intel PRO/100}} | <!--Test Distro--> {{dunno}} | <!--Comments--> |- | <!--Name--> Optiplex GX260 | <!--IDE--> {{yes|IDE}} | <!--SATA--> {{N/A}} | <!--Gfx--> {{partial|Intel Extreme (VESA only)}} | <!--Audio--> {{yes|Intel AC97}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{no|Intel PRO/1000}} | <!--Test Distro--> Nightly Build 2014 09-27 | <!--Comments--> |- | Optiplex GX270 | {{yes|Working}} | {{partial|IDE mode}} | {{partial|Intel Extreme (VESA only)}} | {{yes|Intel AC97}} | {{yes|USB 2.0}} | {{no|Intel PRO/1000}} | Icaros 1.5.2 | <!--Comments--> |- | Optiplex GX280 | {{yes|Working}} | {{partial|IDE mode}} | {{maybe|Intel GMA (only VESA tested)}} | {{yes|Intel AC97}} | {{yes|USB 2.0}} | {{no|Broadcom}} | Nightly Build 2014 09-27 | <!--Comments--> |- | <!--Name--> Optiplex GX520 | <!--IDE--> {{yes|IDE}} | <!--SATA--> {{partial|IDE mode}} | <!--Gfx--> {{yes|Intel GMA}} | <!--Audio--> {{partial|Intel AC97 (no line-out)}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{no|Broadcom}} | <!--Test Distro--> {{dunno}} | <!--Comments--> |- | <!--Name--> Optiplex 745 | <!--IDE--> {{N/A}} | <!--SATA--> {{partial|IDE mode}} | <!--Gfx--> {{partial|Intel GMA (VESA only)}} | <!--Audio--> {{partial|HD Audio (no volume control)}} | <!--USB--> {{partial|Only keyboard mouse (legacy mode)}} | <!--Ethernet--> {{no|Broadcom}} | <!--Test Distro--> {{dunno}} | <!--Comments--> |- | <!--Name--> Optiplex 755 | <!--IDE--> {{N/A}} | <!--SATA--> {{partial|IDE mode}} | <!--Gfx--> {{partial|Intel GMA (VESA only)}} | <!--Audio--> {{no|HD Audio}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{no|Intel Gigabit}} | <!--Test Distro--> Icaros 1.5.1 | <!--Comments--> Around 25 second delay in booting from USB |- | <!--Name--> Optiplex 990 | <!--IDE--> {{N/A}} | <!--SATA--> {{partial|non-RAID mode}} | <!--Gfx--> {{partial|Intel HD (VESA only)}} | <!--Audio-->{{no|HD Audio}} | <!--USB--> {{yes|USB 2.0}} | <!--Ethernet--> {{no|Intel Gigabit}} | <!--Test Distro--> Nightly Build 2014 09-27 | <!--Comments--> |- | <!--Name-->Optiplex 360 | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{maybe|ordinary boot gives VGA mode only - VESA}} | <!--Audio-->{{no|HD Audio (Analog Devices ID 194a)}} | <!--USB--> | <!--Ethernet-->{{no|Broadcom}} | <!--Test Distro-->Aspire Xenon | <!--Comments-->poor support |- | <!--Name-->Dell Wyse Vx0 (V90 V30), Vx0L (V10L V90L), Vx0LE (V30LE V90LE) from VIA C7 800GHz to Eden 1.2GHz | <!--IDE-->{{Maybe| }} | <!--SATA-->{{N/A| }} | <!--Gfx-->{{Maybe|Vesa 2d for S3 UniChrome Pro}} | <!--Audio-->{{No|AC97 VIA VT8233A with ?? codec}} | <!--USB-->{{yes|2 back and 1 front USB2}} | <!--Ethernet-->{{Maybe|early models work but later VT6102-3 do not}} | <!--Test Distro-->AROS One 2.2 | <!--Comments-->2006 to 2009 32bit - 12V 4A Coax 5.5mm/2.1mm - 1 sodimm DDR 333MHz SO-DIMM later DDR2 - early V90s do seem to have a reliability problem - |- | <!--Name-->[https://www.poppedinmyhead.com/2021/01/wyse-cx0-thin-client-notes-experiences.html Dell Wyse Cx0] C00LE, C10LE, C30LE, C50LE, C90LE, C90LE7, C90LEW VIA C7 Eden 1GHz | <!--IDE-->{{Maybe| }} | <!--SATA-->{{N/A| }} | <!--Gfx-->{{Maybe|Vesa 2d VX855 VX875 Chrome 9}} | <!--Audio-->{{Maybe|some VIA VT8237A VT8251 HDA with ?? codec work}} | <!--USB-->{{yes|4 outside 2 inside USB2}} | <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit}} | <!--Test Distro-->Icaros 2.3 | <!--Comments-->2010 to 2013 32bit - [https://ae.amigalife.org/index.php?topic=815.0 boots and works] - 12V 2.5A Coax 5.5mm/2.1mm - 1 sodimm ddr2 - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->Dell RxxL Rx0L thin client *R00L Cloud PC of Wyse WSM *R10L Wyse Thin OS *R50L Suse Linux Enterprise *R90L Win XP Embedded *R90LW Win Embedded Standard 2009 *R90L7 Win Embedded Standard 7 | <!--IDE-->128Mb IDE or 1GB | <!--SATA-->{{Maybe|SATA Hyperdisk}} | <!--Gfx-->AMD 690E RS690M Radeon Xpress 1200 1250 1270 | <!--Audio--> | <!--USB-->4 usb2 | <!--Ethernet-->Realtek | <!--Test Distro--> | <!--Comments-->2009 64bit AMD Sempron™ 210U SMG210UOAX3DVE 1.5GHz SB600, up to 4GB single slot 240-pin DDR2 DIMM, 19v barrel psu, DEL key bios - Late 2012 2 data sockets added but only CN18 be used with two white sockets (CN13 & CN15) can used to power the SATA device "4-pin Micro JST 1.25mm |- | <!--Name-->Optiplex 390 sff small form factor - mt mini tower desktop - dt full desktop | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{maybe|1 pci-e}} | <!--Audio-->{{maybe|HD Audio}} | <!--USB--> | <!--Ethernet-->{{maybe|realtek}} | <!--Test Distro-->aros one 1.6 usb | <!--Comments-->2011 64bit dual i3 2xxx - kettle iec plug psu cable - add nvidia gf218 gfx - error code 3 mobo or cpu - |- | <!--Name-->Optiplex 3010 sff small form factor | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{maybe|1 pci-e}} | <!--Audio-->{{maybe|HD Audio}} | <!--USB-->{{maybe| }} | <!--Ethernet-->{{no|Broadcom 57XX}} | <!--Test Distro--> | <!--Comments-->2012 64bit dual i3 3xxx - kettle iec plug psu cable - |- | <!--Name-->Optiplex 7010 sff small form factor | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{maybe|1 pci-e}} | <!--Audio-->{{maybe|HD Audio}} | <!--USB--> | <!--Ethernet-->{{no|Broadcom or Intel 825xx}} | <!--Test Distro--> | <!--Comments-->2012 64bit dual i3 3xxx Q77 - kettle iec plug psu cable - add pci-e ethernet and nvidia gf218 gfx - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->Dell Wyse 5010 thin client ThinOS D class (D10D D00D D00DX, Dx0D), PCoIP (D10DP) or D90D7, 5040 *username: Administrator, admin, [blank] *password: Fireport, DellCCCvdi, rappot, Wyse#123, Administrator, administrator, r@p8p0r+ | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes|IDE mode may need 30cm ext cable as small area for half-slim sata ssd - decased new ssd??}} | <!--Gfx-->{{Maybe|Vesa 2d 1400x1050 HD6250E IGP by using DVI to hdmi cable and 1 display port, no hdmi port}} | <!--Audio-->{{Maybe|HD 6.34 audio chipset detected but codec alc269 working from one case speaker - none if v6.29 used}} | <!--USB-->{{Yes|most 5010 have 4 USB 2.0 but D90Q7 has 2 USB3 instead}} | <!--Ethernet-->{{Yes|rtl8169 Realtek 8168 8169 - rev 1.?? 8111? - rev 1.91 8111E}} | <!--Test Distro-->Icaros 2.3 | <!--Comments-->2011 64bit no SSE4.1 or AVX slow AMD G-T44R 1.2Ghz later G-T48E 1.4Ghz Dual Bobcat Brazos BGA413 - Del for BIOS - p key to select boot with noacpi - single DDR3 sodimm slot max 4Gb, (8Gb hynix 2rx8 ddr3l)? (remove small board to upgrade) - passive no fan - 15cm/6" small 1ltr case and lack of expansion options - PA16 19v barrel psu Coax 5.5mm/2.5mm |- | <!--Name-->Dell Wyse 7010 DTS thin client (Z class Zx0D) *2011 Zx0 Z90D7 2GF/2GR *2013 Z10D *2014 Z50D 2GF/2GR *2012 Cisco VXC 6000 CVXC-6215-K9 white | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes|Bios set Sata mode to IDE mode and grub boot add 'noacpi' for half slim sata2 ssd or/with 50cm sata ext cable}} | <!--Gfx-->{{Maybe|VESA 2d HD6310 HD6320 Terascale 2 through DVI and sometimes DP 1.1a - no 3d support r600 and no hdmi port}} | <!--Audio-->{{Maybe|HD Audio 6.34 detected but ALC269VB codec works on the one case speaker only}} | <!--USB-->{{Yes|2.0 works but NEC 720200 3.0 not working}} | <!--Ethernet-->{{Yes|rtl8169 Realtek 8169 8111e 8111F}} | <!--Test Distro-->Icaros 2.3 and Aros One 32bit 1.5, 1.9 and 2.3 usb and 64bit 1.2 | <!--Comments-->2011 64bit does not support AVX or SSE 4.1 slow cores AMD G-t52R 1.5GHz later G-T56N 1.65 GHz Dual with A50M FCH - 20cm/8" high 1.5ltr larger fanless black plastic case with metal ventilated box inside - 2 desktop DIMM slots max 16GB - miniPCIe CN14 - PA-16 19v external psu Coax 5.5mm/2.5mm - 2 40cm SMA female WiFi Antenna to IPEX IPX u.fl Ufl Cable pigtail needed - does not like uefi boot devices - |- | <!--Name-->Wyse 7020 Thin Client * 2013 Quad-core AMD GX-420CA 2.0 GHz (25W) - * 2018 Zx0Q Quad-core AMD GX-415GA 1.5 GHz (15W) with Quad display 3dp and 1dvi | <!--IDE-->{{N/A}} | <!--SATA-->1 sata port | <!--Gfx-->{{Maybe|Vesa 2d only for AMD Radeon HD8400E radeonsi (dual display) or AMD Radeon HD 8330E IGP with AMD Radeon E6240 Seymour E6460 (quad display), no hdmi ports}} | <!--Audio--> | <!--USB-->4 x USB2.0 works but 2 USB3.0 | <!--Ethernet-->rtl8169 Realtek 8169 8111 | <!--Test Distro--> | <!--Comments-->2013 64bit does support AVX or SSE 4.1 quad eKabini Jaguar cores - two SODIMM sockets layered in centre of mobo DDR3L RAM - Coax 5.5mm/2.5mm ac psu 9mm plug is too short but 14mm length is fine - 15cm/6" high smaller 1ltr case and lack of expansion options - |- | <!--Name-->Dell Wyse Dx0Q (5020) D90Q8 NJXG4 AMD G-Series | <!--IDE-->{{N/A}} | <!--SATA-->1 sata port | <!--Gfx-->HD 8330E | <!--Audio--> with Realtek codec | <!--USB-->4 x USB2.0 works but 2 USB3.0 | <!--Ethernet-->rtl8169 Realtek 8169 8111 | <!--Test Distro--> | <!--Comments-->2014 64bit does support AVX or SSE 4.1 Quad-core AMD GX-415GA 1.5 GHz - 2 layered near edge of mobo 204-pin DDR3L SODIMM (bottom one tricky to insert) - 19v Coax 5.5mm/2.5mm - passive no fan - 15cm/6" high smaller 1ltr case and lack of expansion options |- | <!--Name-->Dell Wyse 5060 N07D thin client | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes|IDE bios mode for sata2 port}} | <!--Gfx-->{{maybe|Vesa 2d - AMD R5E GCN2 IGP Sea Islands thru dp1 with an hdmi adapter no output thru dp2 - no hdmi dvi ports}} | <!--Audio-->{{maybe|HD Audio with Realtek ALC231 codec head phones only}} | <!--USB-->{{Maybe|4 x USB2.0 works but 2 USB3.0}} | <!--Ethernet-->{{yes|rtl8169 realtek 8169 8111h}} | <!--Test Distro-->AROS One 1.6 usb | <!--Comments-->2017 64bit does support AVX or SSE 4.1 quad GX-424CC 19.5v external psu - CN-0Y62H1 mobo with 2 layered ddr3l 16Gb max sodimm slots at edge of mobo, bottom 0 one blocking - passive no fan so quiet - 15cm/6" high smaller 1ltr case and lack of expansion options - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- |} ====Fujitsu Siemens==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="15%" |Test Distro ! width="20%" |Comments |- | Scenic [http://uk.ts.fujitsu.com/rl/servicesupport/techsupport/ProfessionalPC/Scenic/ScenicE/ScenicE.htm E600] (compact desktop) | | | {{partial|VESA only}} | {{yes|AC97}} | | {{no|Intel PRO/1000}} | {{dunno}} | Nice small, silent PC with good AROS support. |- | Scenic T i845 | {{dunno}} | {{n/a}} | {{n/a}} | {{dunno|Intel AC97}} | {{dunno|UHCI}} | {{dunno|Intel PRO/100}} | Icaros 1.5.2 | AROS does not boot |- | <!--Name-->Futro S200 S210 S220 and later S300 | <!--IDE-->{{yes| compactflash CF card max ??}} | <!--SATA--> | <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] 315PRO PCI/AGP }} | <!--Audio-->{{unk|AC97 via }} | <!--USB-->{{unk|via uhci and ehci}} | <!--Ethernet-->{{unk|via VT6102 [Rhine-II] (rev 74) }} | <!--Test Distro--> | <!--Comments-->2008 32bit - TR5670 Rev 1.4 mother with Transmeta TM5800 cpu - pci socket - single SODIMM socket for DDR memory PC2700S max 512MB - |- | <!--Name-->Futro S400 | <!--IDE-->{{yes| but swap with compactflash CF card already with AROS installed}} | <!--SATA--> | <!--Gfx-->{{maybe|VESA Silicon Integrated Systems [SiS] SiS741CX }} | <!--Audio-->{{unk|AC97 SiS7018}} | <!--USB-->{{unk|sis uhci and ehci}} | <!--Ethernet-->{{unk|rtl8169 }} | <!--Test Distro--> | <!--Comments-->2008 32bit - AMD Geode NX1500 1GHz gets hot - SiS 963L / SiS 741CX chipset - 12V 4.2A 4-pin (DP-003-R) psu - single SODIMM socket for DDR PC2700S max 1G - large case 246 x 48 x 177cms torx screws - pci socket - |- | <!--Name-->FUJITSU Futro S700 and S900 Thin Client (based on mini-ITX motherboard D3003-A12, D3003-C1 lesser variant of [https://www.parkytowers.me.uk/thin/Futro/s900/TechNotes_V3.1_Mini-ITX_D3003-S.pdf D3003-S]) *G-T56N 1.65GHz *G-T40N 1.00GHz *G-T44R 1.20GHz | <!--IDE-->{{N/A}} | <!--SATA-->1 sata data socket but mSata 18+8pins 1GB-16GB | <!--Gfx-->Radeon HD 6320, HD 6250, HD 6290 dvi or displayport (DP runs higher) | <!--Audio-->HDAudio | <!--USB-->{{yes|two USB2 front sockets and four on the rear}} | <!--Ethernet-->{{Maybe|Realtek}} | <!--Test Distro--> | <!--Comments-->2011 64bit AMD slow atom-like and fanless - 20V 2A psu 5.5mm/2.1mm coax (S900) - 2 DDR3L SODIMM sockets max 8GB tricky to run 1333 MHz on the Futro S900 - proprietary X2 PCI-e - 1 PCI socket but need a right-angle adaptor - |- | <!--Name-->esprimo p420 e85 desktop case | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|IDE mode}} | <!--Gfx-->Intel 4600 or old Geforce in pci-e slot | <!--Audio-->HDAudio realtek alc671 codec | <!--USB-->USB3 | <!--Ethernet-->rtl8169 8111 | <!--Test Distro--> | <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16 pin special psu - |- | <!--Name-->esprimo E420 e85+ SFF case | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|IDE mode}} | <!--Gfx-->Intel 4600 or low profile pci-e card | <!--Audio-->HDAudio realtek alc671 codec | <!--USB-->USB3 | <!--Ethernet-->rtl8169 8111G | <!--Test Distro--> | <!--Comments-->2013 64bit - 2 ddr3 dimm slots - 16ish pin special psu - hd under front metal bracket, take front cover off first with 3 tabs - 3 slim pci-e slots - |- | <!--Name-->Futro S520 AMD dual 1.0Ghz codenamed "Steppe Eagle" * GX-210HA @ 1.0GHz * GX-212ZC @ 1.2GHz | <!--IDE-->{{N/A}} | <!--SATA-->no sata - 4Gb or 16Gb flash memory soldered to the board | <!--Gfx-->AMD Radeon HD 8210E (GX210HA) or AMD Radeon R1E (GX212ZC) | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet-->rtl8169 rtl8111e | <!--Test Distro--> | <!--Comments-->2016 64bit does support AVX or SSE 4.1 - smaller than ITX 160mm x 160mm Fujitsu D3314-A11 - 19V 3.4A PSU standard 5.5mm/2.1mm coax plug - 1 ddr3 sodimm slot - |- | <!--Name-->Fujitsu Futro S720 ThinClient D3313-B13 D3313-F *2014 64bit AMD GX-217GA 1.65GHz VFY:S0720P8009FR VFY:S0720P8008DE VFY:S0720P4009GB *2015 64bit AMD GX-222GC 2.20GHz VFY:S0720P702BDE VFY:S0720P702BFR all begin VFY:S0720P and end two digit country code | <!--IDE--> {{N/A|}} | <!--SATA--> {{Yes|up to 2 Sata-cable-connector with space in casing so normal SSD/HDD over Sata was running very well on AHCI and IDE-Mode and 2242 mSata}} | <!--Gfx--> {{Maybe|use VESA 2D for AMD Radeon HD 8280E IGP ( islands) or later R5E IGP ( islands)}} | <!--Audio--> {{yes|HDAudio ALC671 codec partially working, external audio speaker}} | <!--USB--> {{yes|4 rear USB 2.0 but not front 2 USB 3.1}} | <!--Ethernet-->{{yes|rtl8169 Realtek 8169}} | <!--Test Distro-->AROS One USB 2.0 | <!--Comments-->2014 64bit supports AVX and SSE 4.1 - 1 ddr3 Sodimm slot max 8Gb - 19V-20V 2A 5.5mm/2.5mm coax - D3313-B13 stripped down Mini-ITX mobo D3313-S1/-S2/-S3 (eKabini) D3313-S4/-S5/-S6 - SATA data socket can be located under the fins of the cpu heatsink is fanless - mPCIe socket for wireless card - |- | <!--Name-->Fujitsu FUTRO S920 D3313-E D3313-G *2016 AMD GX-222GC SOC 2.20GHz Dual *2017 AMD G-Series GX-415GA (1.50 GHz, Quad Core, 2 MB, AMD Radeon™ HD 8330E) *2017 AMD G-Series GX-424CC 2.40 GHz Quad | <!--IDE--> {{N/A}} | <!--SATA--> {{yes|2242 mSata and 1 Sata-cable-connector with space in casing so normal SSD/HDD over Sata possible}} | <!--Gfx--> {{yes|use VESA 2D for Radeon R5E GCN2/3 IGP}} | <!--Audio--> {{yes|HDAudio ALC671 codec partially working}} | <!--USB--> {{yes|4 rear USB 2.0, front 2 USB 3.1 downgradable to 2.0 in BIOS setting}} | <!--Ethernet--> {{yes|rtl8169 Realtek 8169}} | <!--Test Distro--> AROS One USB 2.4 | <!--Comments-->2016 64bit does support AVX or SSE 4.1 - 2 so dimm slot with max of 8 GB - 19v barrel psu 5.5mm 2.5mm - SATA data socket can be located under the fins of the heatsink - mPCIe a e keyed socket for wireless card - propetary X2 connector with official raizer to X1 connector - almost silent background noise, not affecting sound quality in any way |- | <!--Name-->Fujitsu Thin Client Futro S5011 S7011 | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}} | <!--Audio-->{{No|HDAudio with ALC623 codec}} | <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} | <!--Ethernet-->rtl8169 Realtek RTL8111H | <!--Test Distro--> | <!--Comments-->2019 64bit - AMD Ryzen Dual Core R1305G or R1505G 1ltr case - 2 ddr4 sodimm slots - TPM 2.0 - 19v 3.42amp round coax or usb-c 20c 3.25a external psu - |- | <!--Name-->Fujitsu FUTRO S9011 Thin Client VFY:S9011THU1EIN || <!--IDE-->{{N/A}} || <!--SATA-->NVMe || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3 on 2 dp 1.4}} || <!--Audio-->{{No|HDAudio with ALC623 codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2020 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- |} ====HP Compaq==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Compaq presario 7360 | <!--IDE-->{{yes|Working}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{Maybe|VESA}} | <!--Audio-->{{Maybe|AC97 via}} | <!--USB-->{{Maybe|issues}} | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->Compaq EP Series 6400/10 | <!--IDE--> {{yes|IDE}} | <!--SATA--> {{N/A}} | <!--Gfx--> {{N/A}} | <!--Audio--> {{no|ISA}} | <!--USB--> {{yes|USB 1.1}} | <!--Ethernet--> {{N/A}} | <!--Test Distro--> {{dunno}} | <!--Comments--> |- | <!--Name-->Compaq Evo D510 | {{yes|Working}} | {{N/A}} | {{partial|Intel Extreme (VESA only)}} | {{yes|AC97}} | {{yes|Working}} | {{yes|Intel PRO/100}} | Icaros 1.5 | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->Compaq DX2000 MT | <!--IDE-->{{yes}} | <!--SATA-->{{maybe}} | <!--Gfx-->{{maybe|Intel Extreme 2 (VESA only)}} | <!--Audio-->{{no|detects AC97 but no support for ADI AD1888 codec}} | <!--USB-->{{yes|OHCI/EHCI }} | <!--Ethernet-->{{no|Intel 82526EZ e1000}} | <!--Test Distro--> Icaros 1.51 | <!--Comments-->boots ok but no audio |- | <!--Name-->Compaq DX 2200 | <!--IDE-->{{yes}} | <!--SATA-->{{maybe}} | <!--Gfx-->{{maybe|RC410 [Radeon Xpress 200] (VESA only)}} | <!--Audio-->{{dunno|HD Audio}} | <!--USB-->{{maybe|OHCI/EHCI issues }} | <!--Ethernet-->{{N/A}} | <!--Test Distro--> {{dunno}} | <!--Comments-->issues |- | <!--Name--> d230 | <!--IDE--> {{yes|UDMA}} | <!--SATA--> {{N/A}} | <!--Gfx--> {{partial|Intel Extreme (VESA only)}} | <!--Audio--> {{partial|Intel AC97 (speaker and headphones only, no line-out)}} | <!--USB--> {{yes|USB}} | <!--Ethernet--> {{Maybe|Broadcom BCM4401}} | <!--Test Distro--> Icaros 1.4.5 | <!--Comments--> |- | <!--Name-->HP Pavilion a220n || <!--IDE-->{{Yes}} || <!--SATA-->{{N/A}} || <!--Gfx-->{{Yes|VESA 1024x768 on nVidia GF4 MX with 64MB shared video ram}} || <!--Audio-->{{Yes|Realtek ALC650 AC'97 comp.}} || <!--USB-->{{Yes|USB 2.0}} || <!--Ethernet-->{{Yes|Realtek 8201BL 10/100 LAN}} || <!--Test Distro-->AROS One 2.5|| <!--Comments-->2004 32bit athlon xp 2600+ Socket 462 / Socket A - 2 dimm ddr pc2700 - |- | <!--Name-->t500 | <!--IDE-->{{Yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{Yes|FX5200 (2D; 3D with older driver)}} | <!--Audio-->{{Yes|AC97 ICH4 ALC658D}} | <!--USB-->{{Yes|UHCI/EHCI}} | <!--Ethernet-->{{Yes|RTL 8101L 8139}} | <!--Test Distro-->Nightly Build 2012-09-22 | <!--Comments-->2004 |- | <!--Name-->DC7700 | <!--IDE-->{{Yes}} | <!--SATA-->{{Yes}} | <!--Gfx-->{{Yes|GMA 2D}} | <!--Audio-->{{Yes| ICH8}} | <!--USB-->{{Yes}} | <!--Ethernet-->{{No|82566DM e1000e}} | <!--Test Distro-->Nightly Build 2013-??-?? | <!--Comments-->2006 Some support at low cost |- | <!--Name-->HP dc 7600 CMT | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{Yes|Intel Graphics Media Accelerator 950}} | <!--Audio-->{{Yes|Realtek ACL 260}} | <!--USB-->{{Yes|USB 2.0}} | <!--Ethernet-->{{No|Intel PRO/1000 GT}} | <!--Test Distro--> | <!--Comments-->2007 |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->HP t5000 thin client series t5500 t5510 t5515 PC538A or PC542A t5700 t5710 Transmeta Crusoe Code Morphing TM 5400 5600 800Mhz | <!--IDE-->128mb to 512MB | <!--SATA-->{{N/A}} | <!--Gfx-->Ati Radeon 7000M | <!--Audio-->VIA with codec | <!--USB-->{{No|Issues}} | <!--Ethernet-->VIA Rhine 2 | <!--Test Distro--> | <!--Comments-->2006 32bit - ddr max 1GB - F10 setup - all t51xx and some t55xx units will not include a SODIMM slot - |- | <!--Name-->HP t5000 thin client series CN700 *HSTNC-002L-TC t5135, t5530 | <!--IDE--> | <!--SATA--> | <!--Gfx-->Vesa 2d 128Mb Via S3 32-bit colour | <!--Audio-->AC97 | <!--USB--> | <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 78) | <!--Test Distro--> | <!--Comments-->2007 32bit t5135 appears identical to the t5530 except the CPU VIA Esther 400 MHz - RAM 64Mb (? max) - 8 x USB2.0 - 12V 3.33A Coax 5.5mm/2.1mm |- | <!--Name-->HP t5720, t5725 HSTNC-001L-TC | <!--IDE-->{{unk| }} | <!--SATA-->{{N/A}} | <!--Gfx-->VESA 2d SiS741GX 2048 x 1536 32-bit colour | <!--Audio-->AC97 SiS SiS7012 AC'97 | <!--USB-->6 x USB2.0 | <!--Ethernet-->VIA VT6102 VT6103 [Rhine-II] (rev 8d) | <!--Test Distro--> | <!--Comments-->2007 32bit AMD Geode NX1500 1GHz socketed - RAM 512MB or 1GB, 256MB, 512MB or 1GB - 12V psu - sis DDMA support - custom 1.13 BIOS - pci low profile - |- | <!--Name-->t5000 series VX800 HSTNC-004-TC t5145, t5540, t5545, t5630 | <!--IDE--> | <!--SATA--> | <!--Gfx-->Vesa 2d VIA Chrome9 | <!--Audio-->HD Audio VIA | <!--USB--> | <!--Ethernet-->{{No|VT6120 VT6121 VT6122 Gigabit (rev 82)}} | <!--Test Distro--> | <!--Comments-->2010 32bit - RAM 64Mb (? max) - 8 x USB2.0 - 12V 4.16A Coax: 5.5mm/2.1mm - |- | <!--Name-->t5730w HSTNC-003-TC t5730 | <!--IDE-->{{n/a|ATA 44pin DOM Flash}} | <!--SATA--> | <!--Gfx-->Vesa 2d ATI Radeon X1250 2048 x 1536 no 3D | <!--Audio-->HD audio with codec | <!--USB-->{{Yes|6 x USB2.0}} | <!--Ethernet-->{{No|Broadcom 5707M tg3 10/100/1000}} | <!--Test Distro--> | <!--Comments-->2008 64bit AMD Sempron 2100+ 1GHz - 1 slot of ddr2 sodimm (Max 2GB) - 12V 4.16A Coax 5.5mm/2.1mm - F10 enter bios F12 boot devices - |- | <!--Name-->HSTNC-005-TC gt7720, gt7725 | <!--IDE--> | <!--SATA--> | <!--Gfx-->Vesa 2d AMD RS780G HD 3200 - 2560 x 1600 DVI-D & DVI-H | <!--Audio--> | <!--USB-->8 x USB2.0 | <!--Ethernet-->{{No|Broadcom BCM5787M}} | <!--Test Distro--> | <!--Comments-->2009 64bit AMD Turion Dual Core CPU 2.3GHz - 1 DDR2 200-pin SODIMM - 19V 4.16A Coax 7.4mm/5.0mm (gt7725) - |- | <!--Name-->HP t5740 Thin Client HSTNC-006-TC t5740, t5745, st5742 | <!--IDE-->1 port | <!--SATA-->1 port | <!--Gfx-->{{Maybe|VESA for Intel CL40 VGA and DisplayPort connectors}} | <!--Audio-->{{Yes|HD audio with IDT codec}} | <!--USB-->{{Maybe| }} | <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}} | <!--Test Distro-->Nightly build and Icaros | <!--Comments-->2009 32bit Atom N280 - F10 on power up to get into the BIOS screens. F12 brings up the boot options - hp 19V one with a coax connector, outer diameter 4.8mm with inner to be 1.7mm to 1.4mm - 2 ddr3 sodimm slots max 3gb due to 32bit - 1 pci-e slot completely non standard - |- | <!--Name-->t5000 series HSTNC-012-TC VIA Nano u3500 VX900 *t5550 512MB/1GB Windows CE6 R3 *t5565 1GB/1GB HP ThinPro *t5570 2GB/1GB WES 2009 | <!--IDE--> | <!--SATA--> | <!--Gfx-->Vesa 2d VIA ChromotionHD 2.0 GPU Chrome9 | <!--Audio-->VIA 9170 VT1708S codec | <!--USB--> | <!--Ethernet-->{{No|Broadcom BCM57780 Gigabit}} | <!--Test Distro--> | <!--Comments-->32bit - 1 sodimm - 19V 3.42A supply connector standard yellow-tip coax plug 4.8mm/1.8mm "Standard HP Compaq DC Power Plug 4.8mm x 1.5mm / 1.7mm Yellow Tip Connector - |- | <!--Name-->HP t510 Via Eden X2 U4200 HSTNC-012-TC shares features with t5570e, t5565z | <!--IDE-->2G ATA Flash DOM | <!--SATA-->one | <!--Gfx-->{{Maybe|Vesa 2d for Chrome9 VIA ChromotionHD 2.0 gfx}} | <!--Audio-->{{Maybe|VIA VT8237A VT8251 HDA with codec}} | <!--USB-->{{Maybe|6 USB2 }} | <!--Ethernet-->{{No|Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe}} | <!--Test Distro--> | <!--Comments-->2010 32bit - one slot ddr3 sodimm max 4GB - 19V 3.42A Coax 4.8mm/1.8mm - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->HP T610 Thin Client and thicker PLUS version AMD G-T56N A55E | <!--IDE-->{{Maybe|}} | <!--SATA-->2 sata | <!--Gfx-->Radeon 6320 1 dp port 1 dvi | <!--Audio-->HDAudio with ALC codec | <!--USB-->two USB2 on the front, two USB2 and two USB 3 ports on the rear | <!--Ethernet-->{{No|Broadcom BCM57780}} | <!--Test Distro--> | <!--Comments-->2010 64bit does not support AVX SSE 4.1 - 2 204-pin DDR3 1600MHz SODIMMs PC3-12800 under motherboard via removable panel - 19.5V 3A Coax male 7.4mm/5.0mm + centre pin - |- | <!--Name-->HP T420 Thin Client *AMD Embedded G-Series GX-209JA SOC (1 GHz, 2 cores) | <!--IDE-->{{N/A}} | <!--SATA-->{{N/A}} | <!--Gfx-->Radeon 8180 dvi vga | <!--Audio-->HDAudio with ALC codec | <!--USB-->2 front 2 rear USB2 | <!--Ethernet-->{{Yes|Realtek}} | <!--Test Distro--> | <!--Comments-->2015 64bit supports AVX SSE 4.1 - soldered in place 2GB DDR3 - smaller than usual 19.5V 2.31A Coax male 4.5mm/3.0mm + centre pin - usb stick internal for storage - E15 BBR - |- | <!--Name-->HP t520 TPC-W016 *AMD GX-212JC 1.2Ghz (2 core) | <!--IDE-->{{N/A}} | <!--SATA-->1 m.2 mounting holes for 2242 and 2260 SSDs SATA (not NVME) | <!--Gfx-->Radeon R2E GCN2 IGP Sea Islands | <!--Audio-->HDAudio with ALC codec | <!--USB-->2 USB3 front, 4 USB2 back | <!--Ethernet-->{{Yes|Realtek}} | <!--Test Distro--> | <!--Comments-->2014 2017 64 bit supports AVX SSE 4.1 - 1 204-pin DDR3 SODIMM - 19.5V 3.33A 7.4mm Coax with central pin |- | <!--Name-->HP t620 TPC-I004-TC *AMD G-Series GX-217GA 2 core APU 1.65GHz (65W) *AMD GX-415GA (65W) and t620 PLUS (PRO wider version) TPC-I020-TC *AMD GX-420CA SOC (Plus 85W) | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|single M.2 2280 socket sata3, mSATA socket removed end of 2014}} | <!--Gfx-->{{maybe|Vesa 2d for Radeon HD 8280E graphics 8330E Islands GCN2 IGP - 2 dp ports no dvi}} | <!--Audio-->{{yes|HDAudio with Realtek ALC221 codec 0x10EC 0x0221}} | <!--USB-->{{unk|4 front, 2 back, 1 inside limited space}} | <!--Ethernet-->{{Yes|Realtek 8169}} | <!--Test Distro-->Aros One 32bit | <!--Comments-->2014 64bit supports AVX SSE 4.1 - 2 DDR3L SODIMMs side by side - mSATA ssd and M.2 SSD are M1.6 screws, M2.0 screws used on most SSDs - 19.5V 3.33A Coax male 7.4mm 5mm with centre pin - changed the network card to a Atheros 5000 compatible - |- | <!--Name-->HP T530 *AMD GX-215JJ (2 core) 1.5GHz | <!--IDE-->{{N/A}} | <!--SATA-->1 m.2 sata ssd up to 2280 | <!--Gfx-->Radeon R2E | <!--Audio-->HDAudio with ALC codec | <!--USB-->1 USB3.1, 1 usb-c front, 4 USB2 back | <!--Ethernet-->{{Yes|Realtek}} | <!--Test Distro--> | <!--Comments-->2015 64 bit does support AVX SSE 4.1 - 1 204-pin DDR4 SODIMM - 19.5V 2.31A Coax male 4.5mm/3.0mm with centre pin - |- | <!--Name-->HP T730 Wider "Thin" Client TPC-I018-TC Pixar RX-427BB (2c4t) - no display and fans blowing full speed caused by '''disabling internal gpu in bios''' flash L43_0116.bin onto smc MX25L6473F (3.3V 8-PIN SOP (200mil) SPI 25xx) ([https://www.badcaps.net/forum/troubleshooting-hardware-devices-and-electronics-theory/troubleshooting-desktop-motherboards-graphics-cards-and-pc-peripherals/bios-schematic-requests/96303-hp-t730-password-locked-bios in the rom rcvry socket under a delicate thin narrow surface flap]) with ch341a alike switchable from 5v, 3.3v to 1.8v | <!--IDE-->{{N/A}} | <!--SATA-->{{partial|Storage bios option to IDE and not AHCI to prevent constant install error messages to DH0: - add noacpi to end of grub boot line - 1 M.2 SATA slot (Key B+M) up to 2280 with T8 torx secure stub}} | <!--Gfx-->{{maybe|use VESA for non-vulkan Radeon R7 GCN 2 UVD4.2 Sea Islands with 4 dp outs '''but too easy bricking''' if swapping with 1 PCIe 3.0 x8 slot 30W slim factor low profile 8400gs gt210 nvs295 nvs310 gt1030}} | <!--Audio-->{{yes|HDaudio 6.34 realtek alc221 codec thru case speaker only}} | <!--USB-->{{yes|'''Works''' for 4 USB2 in the back with 2 in the front, 2 USB3.0 ports on front and 1 more internal (not bootable)}} | <!--Ethernet-->{{yes|rtl8169 Realtek RTL8111HSH-CG set up first in Prefs/Network}} | <!--Test Distro-->boots with AROS One 32bit and 64bit USB with added noacpi added to grub boot line - press e - Latest distros can select grub boot options with Aros One 64bit USB and Aros One USB 2.8 but system seems to freeze after choice | <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR3L sodimm stacked slots max 32GB - '''Larger''' 20cm/8" high 3.5ltr case noisy fan - TPM2 - esc/F9 boot selector F10 enter bios - 2 serial and 1 parallel old ports - Key E Wireless - PCIe slot (x16 physical, x8 electrical) - 19.5V 4.36A 85w TPC-LA561 HP 7.4mm black-ring-tip power plug, red flashing power button, wrong psu or bad MotherBoard MB - |- | <!--Name-->HP t630 Thin Client TPC-I020-TC *AMD Embedded G-Series SoC GX-420GI quad core 2Ghz | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|ahci.device mbr msdos partiton table for 2 Sata M.2, sata0 up to 2280 (1tb max), sata1 2242 (64gb max), both T8 torx secure stubs}} | <!--Gfx-->{{maybe|use VESA for Radeon AMD Wani R7E with 2 displayport 1.2 sockets, use one nearest to power jack - no dvi / hdmi}} | <!--Audio-->{{Yes|HDAudio 6.36 0x1022, 0x157a and ALC255 aka ALC3234 codec 0x10ec, 0x0255, pins 0x17 as LFE and 0x1b as int speaker but not ahi 6.34}} | <!--USB-->{{yes|USB2 2 front and 2 rear, 2 front USB3 and 1 inside}} | <!--Ethernet-->{{Yes|Realtek 8169 8111H}} | <!--Test Distro-->AROS One USB 2.2, 2.8 and 64bit USB 1.0, 1.2 with noacpi added to the end of the grub bootline (press e) | <!--Comments-->2016 64bit supports AVX SSE 4.1 - 2 DDR4 SODIMMs side by side speed 1866Mhz limit - 19.5V 3.33A 65W TPC-BA54 Coax male 7.4mm with centre pin - can be easily bricked, might reflash bios with M40 SP149736 - 20cm/8" high 1.5ltr larger fanless case - esc f1 f9 f10 - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->HP Compaq Elite 7200 7300 8200 8300 SFF with kettle IEC psu cable | <!--IDE--> | <!--SATA-->{{yes|IDE ata legacy only in BIOS}} | <!--Gfx-->i pci-e | <!--Audio-->{{Maybe|8200 works}} | <!--USB-->{{yes| }} | <!--Ethernet-->{{no|Intel or Broadcom}} | <!--Test Distro-->icaros 2.3 | <!--Comments-->2013 64bit dual core - add pci-e rtl8169 ethernet card and pci-e gf210 nvidia low height - |- | <!--Name-->HP Compaq Pro 6305 Small Form Factor SFF AMD A75 chipset (FCH 6 SATA 6 Gb/s, 4 USB 3.0) *AMD Quad A10-5800B *AMD A8-5500B *AMD Dual A6-5400B *AMD A4-5300B | <!--IDE--> | <!--SATA--> | <!--Gfx-->Radeon 7000 Terascale iGPU series Radeon HD 7660D, Radeon HD 7560D, Radeon HD 7540D, Radeon HD 7480D | <!--Audio-->HD ALC221 | <!--USB--> | <!--Ethernet-->{{No|Broadcom 5761}} | <!--Test Distro--> | <!--Comments-->2012 64bit |- | <!--Name-->Elitedesk 705 G1 - SFF *AMD A10-8850B, Quad-Core A10 PRO-7850B, A10-8750B *AMD A10-7800B, A10 PRO-6800B, A8-7600B *AMD A8-8650B, A6-8550B *AMD A6-8350B, Dual A6 PRO 7400B, A4-7300B | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe| }} | <!--Gfx-->{{Maybe|VESA 2D with Radeon R7 or 8000}} | <!--Audio-->{{Maybe|HD audio with Realtek ALC221 codec}} | <!--USB-->{{Maybe| }} | <!--Ethernet-->{{No|Broadcom or Intel}} | <!--Test Distro--> | <!--Comments-->2014 64bit - T15 security torx psu with 6pin PWR 200W connector - |- | <!--Name-->HP EliteDesk 705 G2, 705 G3 Mini PC USFF thin client | <!--IDE-->{{N/A}} | <!--SATA-->2.5in and m.2 | <!--Gfx-->Radeon R7 | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->{{No|Broadcom BCM5762 GbE}} | <!--Test Distro--> | <!--Comments-->2014 64bit AM4 socket with 35W TDP A10-8770E (4c), AMD PRO A6-8570E (2c), AMD Pro A6-9500E, or AMD PRO A10-9700E on AMD B300 FCH - ddr4 sodimm slots - 77 x 175 x 34mm (6.97 x 6.89 x 1.34in) 1L and about 3lbs - |- | <!--Name-->HP EliteDesk 705 G4 Mini 1ltr USFF AMD Ryzen 3 2200G (4c t) or 5 2400G (4c t) | <!--IDE-->{{N/A|}} | <!--SATA-->{{Maybe|Nvme 2280 and 2.5in sata}} | <!--Gfx-->Vega 8 thru DP1.2 port | <!--Audio-->{{No|HD Audio Conexant codec}} | <!--USB-->USB2 usb3 | <!--Ethernet-->rtl8169 realtek | <!--Test Distro--> | <!--Comments-->2016 64bit Am4 socket - 2 sodimm 16GB max - 19.5v hp socket ext psu - |- | <!--Name-->Elitedesk 705 G4 35w, Elitedesk 705 G4 65w, HP Prodesk 405 G4 35W USFF | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|Nvme 2280 and older models 2.5in sata}} | <!--Gfx-->Vega 3, 8 or 11 with 2 dp1.2 ports | <!--Audio-->{{no|HD audio with Conexant CX20632 codec}} | <!--USB-->USB3 | <!--Ethernet-->rtl8169 Realtek 8169 8111EPH 1Gbe or Realtek RTL8111F | <!--Test Distro--> | <!--Comments-->2017 64bit - realtek wifi 8821 or 8822 - up to 1 ddr4 dimm slots - hp barrel 12v up to 180w ac - baseboard 83e9 35W - AMD Athlon PRO 200GE (2c 4t), 2200GE (4c t) or 2400GE (4c t) on AMD B350 FCH - |- | <!--Name-->Elitedesk 705 G5, HP Elitedesk 806 G6, Prodesk 405 G6 || <!--IDE-->{{N/A}} || <!--SATA-->2x NVMe or 1x SATA + 1x NVMe, but not all three drives at the same time without serious modding of hd caddie || <!--Gfx-->Vega with DP1.4 port || <!--Audio-->{{no|HDAudio with Realtek ALC3205 codec}} || <!--USB-->USB3 || <!--Ethernet-->{{maybe|Realtek}} || <!--Test Distro--> || <!--Comments-->2018 64bit - 2 ddr4 sodimm slots - 3400GE Ryzen 5 PRO 3350GE (4c 8t), Ryzen 3 PRO 3200GE 3150GE (4c 4t), AMD Athlon Silver PRO 3125GE (2c 4t) on AMD PRO 565 |- | <!--Name-->HP t540 1ddr4 slot, t640 2 DDR4 SDRAM sodimm SO-DIMM 260-pin non-ECC max 32gb thin client USFF | <!--IDE-->{{N/A}} | <!--SATA-->1 NVM Express (NVMe) 2230 or 2280 | <!--Gfx-->Vega 3 VGA, DisplayPort | <!--Audio-->HD Audio with codec | <!--USB-->2 USB3 gen1 | <!--Ethernet-->rtl8169 Realtek Realtek RTL8111HSH or RTL8111E PH-CG | <!--Test Distro--> | <!--Comments-->2019 64bit ryzen r1000 series Ryzen Embedded R1305G 1.5 GHz, R1505G dual (2c 4t) 2.0Ghz or R1606G ?.?Ghz (2c4t) - Realtek RTL8852AE wifi - 45W psu Coax male 4.5mm/3.0mm + centre pin - |- | <!--Name-->HP t740 SFF Thin Client | <!--IDE-->{{N/A}} | <!--SATA-->2 M.2, one is sata and other nvme | <!--Gfx-->Vega 8 DisplayPort or + optional pci-e 30W Radeon E9173 | <!--Audio-->HD Audio with codec | <!--USB-->USB3 | <!--Ethernet-->Realtek RTL8111E PH-CG 1Gbe | <!--Test Distro--> | <!--Comments-->2019 64bit - Ryzen Embedded V1756B 3.25Ghz quad - 90W 19.5V 4.62A psu Coax male 4.5mm/3.0mm + centre pin - sodimm DDR4 max 64Gb - slightly noisy fan - |- | <!--Name-->HP EliteDesk 805 G6 Mini 4750GE (8t 16t), Prodesk 405 G6 Ryzen 5 PRO 4650GE (6c 12t) or Ryzen 3 PRO 4350GE (4c 8t) on AMD PRO 565 | <!--IDE-->{{N/A}} | <!--SATA-->2.5in carrier and 2 slots m.2 nvme | <!--Gfx-->Vega 8 with DP1.4 and HDMI flex io2 output options | <!--Audio-->HDAudio with Realtek ALC3205 codec | <!--USB-->4 usb a - gen 2 10gig and gen 1 5gig ports | <!--Ethernet-->{{N/A}} | <!--Test Distro--> | <!--Comments-->2021 64bit AMD Ryzen 4000 SBC unlocked - 2 sodimm ddr4 slots - wifi6 - 90W ac - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- |} ====Lenovo==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Lenovo Nettop IdeaCentre Q150 (40812HU) | <!--IDE--> | <!--SATA--> | <!--Gfx-->ION2 | <!--Audio--> realtek codec | <!--USB-->USB2 | <!--Ethernet-->intel 10/100 | <!--Test Distro--> | <!--Comments-->2011 64bit D510 |- | <!--Name-->M625q Tiny (1L) | <!--IDE-->{{N/A}} | <!--SATA-->M.2 Sata | <!--Gfx-->Stoney Radeon R2, R3 or R4 and later R5 with 2 dp ports | <!--Audio-->HD audio with ALC233-VB2-CG codec 0x10EC 0x0233 | <!--USB-->{{No|3 usb3.1 Gen 1 and 3 usb2}} | <!--Ethernet-->rtl8169 RTL8111 | <!--Test Distro--> | <!--Comments-->2016 64bit all dual cores - e2-9000e or a4-9120e later A9-9420e - heatsink covers 70% area covers wifi - 65w or 135w lenovo rectangle ac - 1 ddr4 2666MHz slot max 8gb - tpm 2.0 - |- | <!--Name-->M715q Gen 1 AMD A6 A8 A10-9700E 9770E (2c2t) | <!--IDE-->{{N/A}} | <!--SATA-->m.2 | <!--Gfx-->R4 | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet--> | <!--Test Distro--> | <!--Comments-->2016 64bit - |- | <!--Name-->M715q Gen 2 Ryzen 5 PRO 2400GE 4C 8T | <!--IDE-->{{N/A}} | <!--SATA-->m.2 | <!--Gfx-->Vega 11 | <!--Audio-->HD Audio with codec | <!--USB-->USB3 | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2018 64bit - f1 enter setup, esc device boot - fixed 1.8v ch341a needed to reflash 1.8v bios if no boot SOP8 DIP8 Winbond W25Q64, MXIC MX25U1635, MX25U6435 - |- | <!--Name-->ThinkCenter M75n nano Ryzen3 3300U | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->ThinkCentre M75q M75q-1 Tiny 1ltr TMM *AMD Ryzen 5 PRO Quad 3500 Pro 3400GE (4c 8t) 11a5 soe400 *AMD 3200GE (2c 4t) zen1+ 11a4 | <!--IDE-->{{N/A|}} | <!--SATA-->{{Maybe|NVMe 2280 1Tb max - untested 2.5inch}} | <!--Gfx-->Vega 11 | <!--Audio-->HD Audio Realtek ALC222-CG codec ALC3287 | <!--USB-->3 USB3 Gen 1 | <!--Ethernet-->rtl8169 Realtek 8169 8111 | <!--Test Distro--> | <!--Comments-->2019 64bit - 65w 20v 3.25A to 135W rectangle psu - 2 sodimm ddr4 sodimm max 32GB locked 2666MHz - |- | <!--Name-->ThinkCentre Ryzen 7 PRO Tiny 1ltr Gen 2 AMD 4000 series *AMD 4650GE (6c12t) 4750GE (8c16t) 4350G (4c8t) Zen2 - | <!--IDE-->{{N/A|}} | <!--SATA-->{{Maybe|NVme}} | <!--Gfx-->Vega 8 | <!--Audio-->HD Audio codec | <!--USB--> | <!--Ethernet-->Realtek 8169 8111 | <!--Test Distro--> | <!--Comments-->2021 64bit vendor locked - 20v psu - 2 sodimm - |- | <!--Name-->Thinkcenter M75q-2 Gen2 refresh | <!--IDE-->{{N/A}} | <!--SATA-->m.2 nvme | <!--Gfx-->Radeon Vega | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->1GigE | <!--Test Distro--> | <!--Comments-->2022 64bit 5650GE (6c12t) 5750GE (8c16t) - vendor/PSB can lock your AMD CPU - f12 boot devices |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->Thinkcentre M75q Tiny Gen5 | <!--IDE-->{{N/A| }} | <!--SATA-->2 NVMe | <!--Gfx-->Radeon 780M dp1.4a or hdmi | <!--Audio-->HDAudio with codec | <!--USB-->USB3 usb-c | <!--Ethernet-->1GBe port | <!--Test Distro--> | <!--Comments-->2024 Ryzen PRO 7 8700GE - 90W yellow rectangle connector psu - 2 DDR5 sodimm slots max 128Gb - |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |} ====Misc==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="5%" |Test Distro ! width="20%" |Comments |- | <!--Name-->Impart impact Media Group IQ Box mini Digital Signage with MB896 mini itx | <!--IDE-->{{Yes| }} | <!--SATA-->{{N/A}} | <!--Gfx-->GMA 915 gme | <!--Audio--> via audio | <!--USB-->{{yes| }} | <!--Ethernet--> | <!--Test Distro--> | <!--Comments-->2007 32bit - 1 ddr2 slot - pentium m 1.73GHz - |- | <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac_mini_cd_1.83-specs.html Apple A1176 Intel MacMini1,1] | <!--IDE-->{{N/A}} | <!--SATA-->{{unk|gpt/efi }} | <!--Gfx-->{{Yes|gma950 2d and 3d}} | <!--Audio-->{{No|HDAudio with ICH7 [https://answers.launchpad.net/ubuntu/+source/alsa-driver/+question/186749 Sigmatel Stac 9221] [https://android.googlesource.com/kernel/msm/+/android-wear-5.1.1_r0.6/sound/pci/hda/patch_sigmatel.c codec][https://alsa-devel.alsa-project.narkive.com/Yt20W6cE/sigmatel-stac9221-mux-amp-out-0x02-microphone-not-working mic]}} | <!--USB-->{{Yes|USB2}} | <!--Ethernet-->{{No|Marvell}} | <!--Test Distro--> | <!--Comments-->2006 32bit possible 1.83 GHz Intel “Core Duo” (T2400) - swap pci-e wifi for atheros 5k AR5007EG - maybe hack with a 2,1 firmware - max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only with c key - |- | <!--Name-->[https://everymac.com/systems/apple/mac_mini/specs/mac-mini-core-2-duo-1.83-specs.html Apple A1176 Intel Mac Mini2,1] | <!--IDE-->{{N/A}} | <!--SATA-->{{unk|gpt/efi }} | <!--Gfx-->{{Yes|gma950 2d and 3d}} | <!--Audio-->{{No|HDAudio with ICH7 Sigmatel Stac 9221 codec}} | <!--USB-->{{Yes|USB2}} | <!--Ethernet-->{{No|Marvell}} | <!--Test Distro-->Aros One 2.0/ Icaros (latest beta) | <!--Comments-->2007 64bit - swap pci-e wifi for atheros 5k AR5007EG - hacked with a 2,1 firmware and replaced the cpu for T7600 2.33 Ghz C2D and max 4GB Ram ddr2 sodimms - external apple psu - dvd boot only via c key |- | <!--Name-->Apple iMac 5,1 "Core 2 Duo" 1.83GHz 17" T5600 MA710LL || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->GMA 950 with 64Mb || <!--Audio-->HDAudio idt codec || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 17.0" TFT widescreen 1440x900 - polycarbonate |- | <!--Name-->Apple iMac 6,1 "Core 2 Duo" 2.16 2.33 24" only T7400 T7600 aka MA456LL/A A1200 (EMC 2111) || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Nvidia 7300GT with 128 MB of GDDR3 SDRAM PCI Express or GeForce 7600GT with 256Mb mini dvi, vga || <!--Audio-->HDAudio || <!--USB-->3 USB2 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2006 64bit - 2 ddr2 667MHz sodimm slots - 24.0" TFT widescreen 1920 x 1200 - polycarbonate plastic case iMacs of this generation are the most difficult iMacs to service due to their front bezel design |- | <!--Name-->Neoware CA2 | <!--IDE-->flash DOM | <!--SATA-->{{N/A}} | <!--Gfx-->S3 Inc ProSavage PM133 (rev 02) vga | <!--Audio-->VIA VT82C686 AC97 Audio | <!--USB-->USB | <!--Ethernet-->rtl8139 | <!--Test Distro--> | <!--Comments-->2003 32bit - VIA Ezra 800MHz - 2 PC100 sodimm slots - riser board carries an ISA slot and a PCI slot - external 12V power supply.with 4 pins - |- | <!--Name-->Neoware CA5 Capio One | <!--IDE-->44pin Disk On Module DOM | <!--SATA-->{{N/A}} | <!--Gfx-->SiS550 vga | <!--Audio-->AC97 with SiS7019 codec | <!--USB-->USB1.1 | <!--Ethernet-->rtl8139 | <!--Test Distro--> | <!--Comments-->2004 32bit - internal power supply with mains lead has a "clover leaf" style - 2 144-pin PC100 or PC133 SODIMM might have 24MB of RAM soldered - |- | <!--Name-->Neoware CA10 *E140 model BL-XX-XX (800MHz CPU) later *E100 model BK-XX-XX (1GHz CPU) | <!--IDE--> | <!--SATA-->{{N/A}} | <!--Gfx-->VIA VT8623 (Apollo CLE266) vga | <!--Audio-->AC97 with | <!--USB-->4 USB2 | <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 74) | <!--Test Distro--> | <!--Comments-->2004/5 32bit - 12v 5.5mm/2.1mm - 2 184-pin DDR DIMM - |- | <!--Name-->VXL Itona thin client *TC3200, *TC3x41 (P3VB-VXL) TC3541 TC3641 TC3841, *TC3xx1 (6VLE-VXL0) TC3931, *TC43xx (Gigabyte C7V7VX) TC4321 | <!--IDE--> | <!--SATA-->{{N/A}} | <!--Gfx-->VIA vga | <!--Audio-->AC'97 Audio with VIA VT | <!--USB-->VIA USB | <!--Ethernet-->Realtek 8100B | <!--Test Distro--> | <!--Comments-->2005 2006 32bit VIA Samuel 2, VIA C3 Nehamiah CPU, 1 DIMM slot, internal psu, |- | <!--Name-->Neoware Capio C50, model CA15 Thin Clients] *Login Administrator Password Administrator *Login User Password User | <!--IDE-->1 flash Disk On Module | <!--SATA-->{{N/A}} | <!--Gfx-->VIA VT8623 (Apollo CLE266) vga | <!--Audio-->AC97 with via codec | <!--USB-->USB | <!--Ethernet-->VIA | <!--Test Distro--> | <!--Comments-->2006 32bit VIA Eden (Samuel II core) CPU - 1 ddr sodimm slot max 512mb - slot - internal psu clover leaf - |- | <!--Name-->[http://etoy.spritesmind.net/neowareca21.html Neoware CA21 Thin Clients] Igel 3210 (and maybe the Clientron G270) *Login Administrator Password Administrator *Login User Password User | <!--IDE-->1 flash Disk On Module DOM | <!--SATA-->{{N/A}} | <!--Gfx-->VIA CN700 vga | <!--Audio-->AC97 with via codec | <!--USB-->USB2 | <!--Ethernet-->VIA | <!--Test Distro--> | <!--Comments-->2007 32bit VIA C3 Nehemiah instead of Ezra-T - made 2 version of the CA 21, one with an Award bios and one with a Phoenix bios - 1 ddr2 sodimm slot max 1gb - VT6656 wireless - slot - internal psu iec - |- | <!--Name-->Neoware CA22 (e140), part number DD-L2-GE with BCOM WinNET P680 (V4) as the Igel 4210LX (Igel 5/4) | <!--IDE-->1 VIA VT82C586A/B VT82C686/A/B VT823x/A/C PIPC Bus Master IDE (rev 06) | <!--SATA-->{{N/A}} | <!--Gfx-->VIA CN700 P4M800 Pro CE VN800 Graphics [S3 UniChrome Pro] (rev 01) vga | <!--Audio-->AC97 with codec | <!--USB-->USB2 VIA VT8237R Plus | <!--Ethernet-->VIA VT6102/VT6103 [Rhine-II] (rev 78) | <!--Test Distro--> | <!--Comments-->2007 32bit - VIA Esther to later C7 1GHz - 1 ddr2 sodimm slots max 512mb - +12V DC/4.16A/50W 5.5mm/2.1mm coaxial - |- | <!--Name-->10Zig RBT402, Clientron U700, | <!--IDE-->{{Yes|44 pin header very little room}} | <!--SATA-->{{N/A|}} | <!--Gfx-->{{Partial|VESA dvi}} | <!--Audio-->{{unk|AC97 with codec}} | <!--USB-->{{unk|VIA }} | <!--Ethernet-->{{unk|}} | <!--Test Distro--> | <!--Comments-->2008 32bit - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 3a psu - Password Fireport |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->Dell Optiplex FX170 D05U thin client, 10Zig 56xx range 5602, 5616v, 5617v, 5672v, Clientron U800, Devon IT TC5, | <!--IDE-->{{Yes|44 pin header very little room}} | <!--SATA-->{{N/A|}} | <!--Gfx-->{{partial|GMA 950 dvi}} | <!--Audio-->{{Yes|HD Audio with codec}} | <!--USB-->{{Yes| }} | <!--Ethernet-->{{No|Broadcom}} | <!--Test Distro-->Icaros 2.3 | <!--Comments-->2009 32bit - very small cases with very limited expansion - 1 ddr2 sodimm 2GB max - 12v 3a psu - Password Fireport - ps2 keyboard socket - |- | <!--Name-->10Zig RBT-616V or Chip PC Technologies EX-PC (model number XPD4741) | <!--IDE-->{{unk|44 pin header very little room}} | <!--SATA-->{{N/A|}} | <!--Gfx-->{{Yes|GMA 950}} | <!--Audio-->{{unk|HD Audio with codec}} | <!--USB-->{{unk| }} | <!--Ethernet-->{{unk|rtl8169}} | <!--Test Distro--> | <!--Comments-->2010 32bit N270 on NM10 with ICH7 - very small cases with very limited expansion - 1 sodimm 2GB max - 12v 4a psu - Password Fireport |- | <!--Name-->Gigabyte Brix GS-A21S-RH (rev. 1.0) SFF | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{maybe|X3100}} | <!--Audio-->{{No|HD Audio with ALC883-GR codec}} | <!--USB-->Intel USB | <!--Ethernet-->{{no|Intel 82566DC}} | <!--Test Distro-->ICAROS 2.3 | <!--Comments-->2009 64bit Intel GME965 chipset with Intel ICH8M - 2 DDR2 Dimm slots - GA-6KIEH2-RH Rev.1.x mini ITX Case 213mm(D) x 64mm(W) x 234mm(H) - custom psu - |- | <!--Name-->VXL Itona MD+24 MD27 MD54 MD64 MD76 thin client | <!--IDE--> | <!--SATA--> | <!--Gfx-->VIA Chrome 9 | <!--Audio-->HD Audio with VIA VT | <!--USB-->VIA | <!--Ethernet-->VIA | <!--Test Distro--> | <!--Comments-->2009 32bit VIA X2 U4200 - 12v-19v barrel psu - |- | <!--Name-->Acer Revo 100 RL100 AMD Athlon II X2 K325 || <!--IDE--> || <!--SATA--> || <!--Gfx-->NVIDIA® ION™ 9300m || <!--Audio-->HDAudio with ALC662 codec || <!--USB-->USB2 1 front 2 back || <!--Ethernet-->NVIDIA nForce 10/100/1000 || <!--Test Distro--> || <!--Comments-->2010 64bit but no AVX - 4Gb DDR3 sodimm - 500 GB - 19v 3.42a 65W - dvd but later BD drive - |- | <!--Name-->Asrock ION 330 330Pro HT-BD, Foxconn NT-330i, Zotac ION F (IONITX mini itx), | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{Maybe|ION geforce 9400}} | <!--Audio-->{{Maybe| }} | <!--USB-->{{Maybe|Nvidia USB}} | <!--Ethernet-->{{No|Nvidia }} | <!--Test Distro--> | <!--Comments-->2010 32bit slow atom cpu - 2.5L 8" by 8" plastic case - 2 ddr2 sodimm max 4G - external 19v 65W 3.42A Plug 5.5mm X 2.5mm - little whiny fan - |- | <!--Name-->Zotac ZBOXHD-ND01 | <!--IDE--> | <!--SATA--> | <!--Gfx-->ION1 | <!--Audio-->HDaudio | <!--USB-->USB2 | <!--Ethernet-->NVidia | <!--Test Distro--> | <!--Comments-->2009 32bit |- | <!--Name-->Zotac ZBOX HD-ID11 | <!--IDE--> | <!--SATA--> | <!--Gfx-->ION2 | <!--Audio-->HDaudio with ALC888 codec | <!--USB-->USB2 | <!--Ethernet-->rtl8169 rtl8111D | <!--Test Distro--> | <!--Comments-->2010 |- | <!--Name-->ZOTAC ZBOX Blu-ray 3D ID36 Plus | <!--IDE-->{{N/A}} | <!--SATA-->sata | <!--Gfx-->ION2 | <!--Audio-->HDaudio | <!--USB-->2 USB3 | <!--Ethernet-->GbE | <!--Opinion-->2011 64bit - |- | <!--Name-->Shuttle XS35GT || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION || <!--Audio-->HD audio IDT92HD81 || <!--USB--> || <!--Ethernet-->{{No|JMC261}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2 |- | <!--Name-->Shuttle XS35GT V2 || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 || <!--Audio-->HD audio IDT92HD81 || <!--USB-->Intel || <!--Ethernet-->{{No|JMC251}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3 |- | <!--Name-->Sapphire Edge-HD || <!--IDE--> || <!--SATA--> || <!--Gfx-->ION2 GT218 with vga and hdmi || <!--Audio-->HDAudio realtek codec || <!--USB--> || <!--Ethernet-->{{Unk|Realtek}} || <!--Test Distro--> || <!--Comments-->2011 64bit - Atom™ D510 NM10 - DDR2 65 W AC, DC 19V~3.42A, 19.3L x 14.8w x 2.2H cm (1l), weight 530g, |- | <!--Name-->Sapphire Edge-HD2 || <!--IDE-->{{N/A}} || <!--SATA-->{{yes|IDE mode}} || <!--Gfx-->{{Yes|nouveau ION2 GT218 with vga and hdmi 2d and 3d}} || <!--Audio-->{{Yes|HDAudio}} || <!--USB-->{{Yes|Intel USB2}} || <!--Ethernet-->{{Yes|}} || <!--Test Distro--> || <!--Comments-->2011 64bit Atom™ D525 NM10 chipset - DDR3 |- | <!--Name-->AOPEN Digital Engine DE67-HA(I) | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe| }} | <!--Gfx-->{{Maybe| Vesa 2d for Intel HD}} | <!--Audio-->{{maybe|HDAudio for ALC662 codec}} | <!--USB-->{{maybe|usb3}} | <!--Ethernet-->{{no|Intel WG82579LM}} | <!--Test Distro--> | <!--Comments-->2011 |- | <!--Name-->[https://www.jetwaycomputer.com/JBC600C99352W.html Jetway JBC600C99352W] | <!--IDE--> | <!--SATA--> | <!--Gfx-->ION2 | <!--Audio-->{{No|C-Media CM108AH}} | <!--USB-->USB2 | <!--Ethernet-->Realtek 8111DL | <!--Test Distro--> | <!--Comments-->2011 64bit D525 - DDR3 - 12v psu |- | <!--Name-->Foxconn nT-A3550 A3500 AMD A45 Chipset DDR3 Nettop Barebones - White | <!--IDE-->{{N/A}} | <!--SATA-->1 slot | <!--Gfx-->AMD Radeon HD6310 | <!--Audio--> | <!--USB-->4 USB2 back and 2 USB3 front | <!--Ethernet--> | <!--Test Distro--> | <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD Dual-core E350 1.6GHz CPU - 1 ddr3 sodimm - |- | <!--Name-->Asus EeeBox PC EB1021 || <!--IDE--> || <!--SATA--> || <!--Gfx-->Radeon HD6320M || <!--Audio-->HDAudio with ALC codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit - AMD® Brazos E-350 SFF or E-450 with A50M - 2 ddr3l so-dimm - 40W ac - |- | <!--Name-->Xi3 Piston PC Athlon64 X2 3400e (X5A), AMD R-464L quad (X7A) Z3RO NUC | <!--IDE-->{{N/A}} | <!--SATA-->{{N/A}} | <!--Gfx-->AMD mobility HD3650 to radeon HD 7660G | <!--Audio--> codec | <!--USB-->4 USB2 3 USB3 | <!--Ethernet-->{{no|Atheros AR8161}} | <!--Test Distro--> | <!--Comments-->2012 - 2 sodimm 8GB max - 19v 3.3a round - Titan105 bios update - |- | <!--Name-->Sapphire Edge-HD3 || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->Radeon HD6320M with vga and hdmi || <!--Audio-->HDAudio with Realtek ALC662 codec || <!--USB-->USB2 || <!--Ethernet-->Realtek GbE1 || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 AMD® Brazos E-450 with A45M - ddr3l so-dimm - 65W ac - Wireless is Realtek 8191SU WiFi (802.11n) or AzureWave (802.11bgn) - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->Samsung Syncmaster Thin Client Display TC-W Series 24" LF24 TOWHBFM/EN TC220W LED LF22TOW HBDN/EN || <!--IDE-->{{N/A}} || <!--SATA-->8gb SSD || <!--Gfx-->{{Maybe| VESA mode only Radeon HD 6290}} || <!--Audio--> || <!--USB-->2 USB 2.0 || <!--Ethernet--> || <!--Test Distro--> || <!--Comments-->2012 64bit does not support AVX or SSE 4.1 thin Client C-50 C50 AMD® 1000 MHz and no wireless |- | <!--Name-->Advantech TPC-2140 thin client | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{Maybe|VESA }} | <!--Audio--> | <!--USB-->USB2 | <!--Ethernet-->{{Yes|Realtek}} | <!--Test Distro--> | <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56E 1.65Ghz up to SSE3, BGA413 soldered - |- | <!--Name-->CompuLab FIT-PC3 fitPC3 USFF PC AMD G-T56N || <!--IDE-->{{N/A}} || <!--SATA-->{{yes| }} || <!--Gfx-->RADEON HD 6320 || <!--Audio-->{{yes|HDAudio ALC888 codec}} || <!--USB-->{{yes| }} || <!--Ethernet-->{{yes|rtl8169 8111}} || <!--Test Distro--> || <!--Comments-->2012 64 bit does not support AVX or SSE 4.1 - 12v 3a - 2x sodimm DDR3 max 4GB - wifi rtl8188ce |- | <!--Name-->10Zig 6872 thin client | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{Maybe|VESA }} | <!--Audio--> | <!--USB--> | <!--Ethernet-->{{Yes|Realtek}} | <!--Test Distro--> | <!--Comments-->2012 64bit does not support AVX or SSE 4.1 atom-like G-T56N up to SSE3 BGA413 (FT1) soldered - DDR3l single channel - |- | <!--Name-->10ZiG Technology 9972 1.6 GHz Linux 1.47 kg Black RX-216GD thin client | <!--IDE--> | <!--SATA--> | <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port | <!--Audio--> | <!--USB-->6 x USB2.0 2 x USB3.0 | <!--Ethernet-->{{Maybe|Realtek}} | <!--Test Distro--> | <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD RX-216TD - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm |- | <!--Name-->10ZiG 7800q thin client | <!--IDE--> | <!--SATA--> | <!--Gfx-->AMD Radeon 5E 3840 x 2160 @ 30Hz to 2560 x 1600 @ 60Hz 2 x Display Port | <!--Audio--> | <!--USB-->6 x USB2.0 2 x USB3.0 | <!--Ethernet-->{{Maybe|Realtek}} | <!--Test Distro--> | <!--Comments-->2016 64bit does support AVX or SSE 4.1 AMD GX-424CC (Quad Core) 2.4GHz BGA769 (FT3b) - 1 ddr3 sodimm - 12V 4A Coax 5.5mm/2.1mm |- | <!--Name--> *Itona VXL MZE12 AMD a4-5000 thin client *VXL Itona LQ27 LQ+27 LQ44 LQ+44 LQ49 LQ+49 LQ50 LQ+50 LQ64 LQ+64 thin client | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->Ati 8330 vga hdmi dp | <!--Audio--> | <!--USB-->4 usb2 2 usb3 | <!--Ethernet-->Realtek | <!--Test Distro--> | <!--Comments-->2014 64bit quad BGA769 (FT3) soldered - 2 stacked sodimm ddr3 middle of mobo - 2 m.2 sata slots - 1 sata short cable half size space - limited 1ltr 8in case no fan - 19v hp style psu connector - |- | <!--Name-->Dell Wyse 5212 21.5" AIO Thin Client W11B | <!--IDE-->{{N/A}} | <!--SATA-->Sata | <!--Gfx-->R3 out from DP or vga | <!--Audio-->HDAudio | <!--USB-->USB2 | <!--Ethernet-->Realtek | <!--Test Distro--> | <!--Comments-->2015 64bit slow atom like dual core AMD G-T48E 1.4 GHz - dell type round ac needed 90W 19.5V 4.62A - 21 inch 1080p screen - |- | <!--Name-->LG 24CK560N-3A 24' All-in-One Thin Client Monitor, 27CN650N-6N 27CN650W-AC 27', 34CN650W-AC 34', | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments-->2018 64bit AMD Prairie Falcon GX-212JJ |- | <!--Name-->CompuLab fit-PC4 fitPC4 4x 2Ghz AMD || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet-->{{no|Intel}} || <!--Test Distro--> || <!--Comments-->2018 64 - 2x DDR4 sodimm - |- | <!--Name-->IGEL Hedgehog M340C UD3 thin client *2016 V1.0 AMD GX-412HC 1.2GHz-1.6GHz Radeon R3E, normal bios DEL for Bios or F12 boot selector *2018 AMD GX-424CC 2.4GHz, Radeon R5E, UEFI hit DEL and choose boot or SCU icon | <!--IDE-->{{N/A|}} | <!--SATA-->SATA half slim version '''limited space''' with msata 8+18pins slot on earlier 2016 models | <!--Gfx-->{{Maybe|VESA for Radeon R3E later R5E sea islands vulkan 1.2 with dvi dp output}} | <!--Audio-->{{Yes|HD Audio with codec ?? (412) and Realtek ALC662-VD0-GR (424), both case speaker}} | <!--USB-->amd usb3 boot usb2 with bios "disable usb" entry | <!--Ethernet-->{{Yes|Realtek 8169 8111 (412) and (424)}} | <!--Test Distro-->Aros One x86 USB 1.5, 1.8 and 2.2 | <!--Comments-->2016 64bit - 20cm/8" high case - 1 DDR3L sodimm slot max 8Gb 1600MHz - external '''12V 3A''' supply with 5.5mm/2.1mm coaxial - IDE like interface under base stand is for legacy addon ports RS232 parallel etc - capacitive touch power on - case opening 3 stages, remove stand and narrow black plastic strip from the back, top cover slides off to the back and lifts off - |- | <!--Name--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Test Distro--> || <!--Comments--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->10ZiG 6148v 6048qv (6100 series) | <!--IDE-->{{N/A}} | <!--SATA-->{{maybe| }} | <!--Gfx--> | <!--Audio-->{{maybe| }} | <!--USB-->{{No| }} | <!--Ethernet-->{{maybe| }} | <!--Test Distro--> | <!--Comments-->2018 64bit AMD Ryzen V1202B |- | <!--Name-->10ZiG 7111q | <!--IDE-->{{N/A}} | <!--SATA-->{{maybe| }} | <!--Gfx--> | <!--Audio-->{{maybe| }} | <!--USB-->{{maybe| }} | <!--Ethernet-->{{maybe| }} | <!--Test Distro--> | <!--Comments-->2019 64bit AMD Ryzen R2514 2.1 GHz - |- | <!--Name-->Shuttle DA320 | <!--IDE--> | <!--SATA--> | <!--Gfx-->R3 R5 | <!--Audio-->HD Audio with ALC662 codec | <!--USB-->{{maybe| }} | <!--Ethernet-->dual realtek 1GbE 8111H | <!--Test Distro--> | <!--Opinion-->2017 64bit AMD 2200G 2400G - Robust metal 1.3-liter case - A320 chipset DDR4 - 19V 6.32A DC PSU - |- | <!--Name-->IGEL UD7 H850C around december 2019 '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot | <!--IDE-->{{N/A}} | <!--SATA-->None but 8gb emmc | <!--Gfx-->Vega 3 | <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec | <!--USB-->USB 3.2 and 2.0 | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options |- | <!--Name-->IGEL UD7 H860C - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot | <!--IDE-->{{N/A}} | <!--SATA-->None but 8gb emmc | <!--Gfx-->Vega 3 | <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec | <!--USB-->USB 3.2 and 2.0 | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2018 64bit - AMD Ryzen™ Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options |- | <!--Name-->IGEL UD3 M350C (UEFI issues) | <!--IDE-->{{N/A}} | <!--SATA-->None but 8gb emmc | <!--Gfx-->Vega 3 | <!--Audio-->HD Audio with Realtek ALC897 or ALC888S codec | <!--USB-->USB 3.2 and 2.0 | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2018 64bit - AMD Ryzen™ R R1505G Dual-Core 10W TDP - 2 DDR4 sodimms slots max 16Gb - 12V 4A psu - 2x DisplayPort 1.2 no dvi or hdmi - Intel® 9260 or SparkLAN WNFT-238AX wifi - 1x rear serial Prolific PL2303 chipset - locked down components and very limited expansion options |- | <!--Name-->IGEL UD7 H860C AMD Ryzen V1605B Thin Client - '''AMD Secure Processor''' is a built-in dedicated security system that checks if the BIOS has a valid signature and thus secures the next step in the boot process. This ensures that only devices with a signed BIOS will boot | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->HDAudio | <!--USB-->{{maybe| }} | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2020 AMD Ryzen™ Embedded V1605B 2 – 3.6 GHz (Quad-Core) - 12v 5A psu - up to 16GB RAM DDR4 - locked down components and very limited expansion options |- | <!--Name-->Gigabyte Brix Barebone Mini PC BSRE-1605 | <!--IDE-->{{N/A}} | <!--SATA-->2 M.2 | <!--Gfx-->Vega 8 | <!--Audio-->HD Audio ALC269 codec | <!--USB-->USB3 | <!--Ethernet-->2 GbE | <!--Test Distro--> | <!--Comments-->2020 64bit AMD Ryzen V1605B - 2 DDR4 sodimm slots |- | <!--Name-->MINISFORUM Deskmini UM250 Mini PC | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB-->{{maybe| }} | <!--Ethernet-->{{maybe| }} | <!--Test Distro--> | <!--Comments-->2020 64bit AMD Ryzen V1605B - |- | <!--Name-->T-Bao MN25 Mini PC 2500U | <!--IDE-->{{N/A| }} | <!--SATA-->{{Unk|Intel NVMe}} | <!--Gfx-->{{No|VESA Radeon Vega 8}} | <!--Audio-->{{Unk| }} | <!--USB-->{{maybe|USB 3}} | <!--Ethernet-->{{Yes|Realtek PCIe 1GbE}} | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->Atari VCS || <!--IDE-->{{N/A}} || <!--SATA--> || <!--Gfx-->{{maybe|Vesa 2D for AMD Vega 3}} || <!--Audio-->{{unk|HDAudio with ALC codec}} || <!--USB-->{{maybe|USB3 USB 3.2 Gen 2 front and 3 usb2 rear }} || <!--Ethernet-->rtl8169 Realtek RTL8111H || <!--Test Distro--> || <!--Comments-->2021 64bit Ryzen Embedded R1606G - 2 ddr4 sodimm slots - TPM 2.0 - |- | <!--Name-->Minis Forum M200 Silver Athlon M300 3300U | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->Vega 8 | <!--Audio--> | <!--USB-->{{maybe|USB 3.1 gen 1 and 2}} | <!--Ethernet-->{{No|Realtek PCIe 2.5G}} | <!--Test Distro--> | <!--Comments-->2021 64bit |- | <!--Name-->Minis Forum DeskMini UM300 3300U, UM350 DMAF5 3550H, UM370 and UM700 with 3750H | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->Vega 8 | <!--Audio--> | <!--USB-->{{maybe|USB 3.1 gen 1 and 2}} | <!--Ethernet-->{{No|Realtek PCIe 2.5G}} | <!--Test Distro--> | <!--Comments-->2021 64bit |- | <!--Name-->MinisForum X300 with AMD 3400G | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->Vega 8 | <!--Audio--> | <!--USB-->{{maybe|USB 3.1 gen 1 and 2}} | <!--Ethernet-->{{No|Realtek PCIe 2.5G}} | <!--Test Distro--> | <!--Comments-->2021 64bit |- | <!--Name-->Beelink SER3 GTR4 | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->AMD Vega 3 or 10 | <!--Audio-->HD Audio with codec | <!--USB-->{{maybe|USB3}} | <!--Ethernet-->Realtek RJ45 1GbE | <!--Test Distro--> | <!--Comments-->2020 64bit 3200u or 3750h |- | <!--Name-->AsRock DeskMini X300 | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments-->2020 Ryzen 7 Pro 4750G 5600G |- | <!--Name-->MinisForum Besstar Tech X400 with AMD 4650G | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->AMD | <!--Audio--> | <!--USB-->{{maybe|USB 3.1 gen 1 and 2}} | <!--Ethernet-->{{No|Realtek PCIe 2.5G}} | <!--Test Distro--> | <!--Comments-->2021 64bit - MP1584 - kill NB679 NB679GD-Z=ALTM=AL** QFN-12 IC-REG-DL buck/linear synchronous chip IC with bad usb cables - |- | <!--Name-->Beelink SER4 GTR5 | <!--IDE-->{{N/A}} | <!--SATA-->cant boot from installed SSDs unless its an M.2 | <!--Gfx-->AMD Vega | <!--Audio--> | <!--USB-->{{maybe|USB3}} | <!--Ethernet-->1 or 2 Realtek | <!--Test Distro--> | <!--Comments-->2021 64bit 4700U or 5900HX |- | <!--Name-->MSI PRO DP20Z 5M Mini PC - AMD Ryzen 5 5300G | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}} | <!--Test Distro--> | <!--Comments-->2018-2021 R3 3200G Vega 8 - R5 3400G Vega 11 - Ryzen 5 5600G Vega 7 - Athlon 3000G |- | <!--Name-->Minisforum UM450 | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->Vega | <!--Audio-->HDaudio | <!--USB-->USB3 | <!--Ethernet-->{{No|Realtek 2.5G LAN RTL8125}} | <!--Test Distro--> | <!--Comments-->2022 64bit - Ryzen 4500U - |- | <!--Name-->Gigabyte Brix GB-BRR7-4800 (rev. 1.0) GB-BRR7-4700 (rev. 1.0) GB-BRR5-4500 (rev. 1.0) GB-BRR3-4300 (rev. 1.0) | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB-->{{maybe|}} | <!--Ethernet-->Realtek 2.5G LAN RTL8125 | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->ASUS PN50 mini PC AMD Ryzen 7 4700U | <!--IDE--> | <!--SATA--> | <!--Gfx-->Vega | <!--Audio-->HD audio with codec | <!--USB-->{{maybe|3.1 gen1}} | <!--Ethernet-->{{No|realtek 2.5GbE}} | <!--Test Distro--> | <!--Comments-->2022 64bit - |- | <!--Name-->ASUS PN51-S1 mini PC AMD Ryzen 7 5700U | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->Vega thru dp or hdmi | <!--Audio-->HD audio with codec | <!--USB-->{{maybe|3.1 gen1}} | <!--Ethernet-->{{No|realtek 2.5GbE}} | <!--Test Distro--> | <!--Comments-->2022 64bit - 19v or 19.5v 90w psu round barrel - 32gb ddr4 sodimm - |- | <!--Name-->Minis Forum Bessstar Tech EliteMini B550 | <!--IDE-->{{N/A}} | <!--SATA-->1 x 2.5in and 2 nvme | <!--Gfx-->Vega 8 | <!--Audio--> | <!--USB-->{{maybe|4 usb3.1}} | <!--Ethernet-->{{No|realtek 8125 2.5GbE}} | <!--Test Distro--> | <!--Comments-->2022 64bit AMD 4700G 5700G desktop cpu - 19v 120w round barrel - |- | <!--Name-->ASRock A300 and later X300 Mini itx with Desktop AM4 socket | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->Vega | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->1GbE | <!--Test Distro--> | <!--Comments-->2022 64bit - choose your own AMD APU GE 35w based - DDR4 - |- | <!--Name-->ASRock 4x4 BOX-5800U Zen 3-based AMD Ryzen 7 5800U 15W - | <!--IDE-->{{N/A}} | <!--SATA-->m.2 slot gen 3 and sata | <!--Gfx-->vega | <!--Audio-->HD audio with codec | <!--USB-->{{maybe|}} | <!--Ethernet-->{{Maybe|1 GbE and 1 2.5GbE}} | <!--Test Distro--> | <!--Comments-->2022 64bit - WiFi 6E - |- | <!--Name-->Topton S500+ Gaming Mini PC - Morefine S500+ 5900HX Mini PC - Minisforum UM590 Ryzen AMD Zen3 Ryzen 9 5900HX 7 5800H 45W - | <!--IDE-->{{N/A}} | <!--SATA-->2 nvme 1 sata | <!--Gfx-->Vega 8 thru HDMI 2.0, DP 1.4, and USB type-C | <!--Audio--> | <!--USB-->{{maybe|usb3.1}} | <!--Ethernet-->{{Maybe|1 realtek rtl 8111h and 1 8125 2.5GbE bg-cg}} | <!--Test Distro--> | <!--Comments-->2022 64bit - 2 sodimm ddr4 3200MHz - |- | <!--Name-->Chuwi RzBox later Ubox | <!--IDE-->{{N/A}} | <!--SATA-->2 nvme | <!--Gfx-->Vega 8 later to 660m vga, dp, hdmi | <!--Audio-->HDaudio | <!--USB-->{{maybe|usb-c usb2}} | <!--Ethernet-->dual gigabit | <!--Test Distro--> | <!--Comments-->2022 2025 64bit amd 5800h 4800h 6600H - 90w psu - |- | <!--Name-->Beelink Mini PC SER5, Trigkey AZW S5, Asus PN52, ZHI BEN MX-JB560, | <!--IDE-->{{N/A}} | <!--SATA-->PCIe3 M.2 2280 nvme | <!--Gfx-->AMD Vega 6 with 1 or 2 hdmi | <!--Audio-->HDAudio | <!--USB-->{{maybe|USB3.0}} | <!--Ethernet-->{{Maybe|Realtek 1GbE}} | <!--Test Distro--> | <!--Comments-->2022 64bit 5500U 5560u 5600U to PRO 5600H 5800H - 19v 3.42W 65W psu - |- | <!--Name-->NIPOGI Kamrui ACEMAGICIAN AM06PRO Dual LAN Mini PC AMD Ryzen 7 5800U, 5 5500U or 5600U/5625U | <!--IDE-->{{N/A}} | <!--SATA-->M.2 and 2.5in sata | <!--Gfx-->Vega 7 | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->2 GbE ports | <!--Test Distro--> | <!--Comments-->2022 64bit - plastic build - 90w usb-c power - loud at 25W setting - |- | <!--Name-->Topton FU02 Fanless Mini PC AMD Ryzen 7 4700U 5600U 5800U 8 Core 16 Threads | <!--IDE-->{{N/A}} | <!--SATA-->NVMe and 2.5in sata | <!--Gfx-->Vega | <!--Audio-->HDAudio | <!--USB-->4 3.0 with 2 2.0 | <!--Ethernet-->2 x 1G | <!--Test Distro--> | <!--Comments-->2022 64 - 2 ddr4 sodimm slots - fanless with copper cube from cpu to metal sheet which gets warm |- | <!--Name-->Xuu XR1 Lite (5300u 4c 8t) PRO 5400U MAX 5600U | <!--IDE-->{{N/A}} | <!--SATA-->1 NVMe 2242 slot | <!--Gfx-->Vega 6 | <!--Audio-->HDAudio | <!--USB-->2 3.0 | <!--Ethernet-->1G | <!--Test Distro--> | <!--Comments-->2022 64 quiet fan - very small case no expansions - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->MINISFORUM UM690 Venus Series | <!--IDE-->{{N/A}} | <!--SATA-->pcie4 nvme 2280 and 1 sata3 2.5in | <!--Gfx-->680m RNDA2 12CU with 2 hdmi | <!--Audio-->HD Audio with codec | <!--USB-->{{maybe|1 USB4 and 2 USB3.2}} | <!--Ethernet-->{{No|2.5G LAN}} | <!--Test Distro--> | <!--Comments-->2022 64bit 6900hx 8C16T - 2 ddr5 sodimmm - 19v ???W - |- | <!--Name-->Beelink Mini PC GTR6 | <!--IDE-->{{N/A}} | <!--SATA-->PCIe4 | <!--Gfx-->AMD 680M RDNA2 | <!--Audio--> | <!--USB-->USB3.2 | <!--Ethernet-->{{No|Realtek 2.5GbE or intel i225}} | <!--Test Distro--> | <!--Comments-->2022 64bit Ryzen 9 6900HX Zen3+ and a 2gb Radeon 680m 12CU ddr5 sodimm - 19v 120w psu - |- | <!--Name-->Asus PN53, Geekom AS 6, | <!--IDE-->{{N/A}} | <!--SATA-->pcie gen4 nvme and ata 2.5in | <!--Gfx-->680m RNDA2 12CU with 2 hdmi and 1 dp | <!--Audio-->HD Audio with codec | <!--USB-->{{maybe|2 usb-c, 2 USB2.1 and 3 USB3.2}} | <!--Ethernet-->{{No|1G LAN}} | <!--Test Distro--> | <!--Comments-->2022 64bit 6900hx 8C 16T - 2 slots ddr5 sodimmm (64Gb max) - 19v 120W - 4 retained base screws beware ribbon cable - |- | <!--Name-->Micro Computer (HK) Tech Ltd MinisForum UM773 Lite later UM750L slim, GMKtec K2 Mini PC | <!--IDE-->{{N/A}} | <!--SATA-->NVMe PCIe4.0 | <!--Gfx-->RDNA | <!--Audio-->HD Audio | <!--USB-->USB4 | <!--Ethernet-->2.5GbE | <!--Test Distro--> | <!--Comments-->2023 2025 64bit - AMD Zen 3+ (8c 16t) Ryzen 7 7735HS, 7840HS and AMD Ryzen 9 7845HX AMD Ryzen™5 7545U (6c12t) - 19v up to 120w ac adapter - ddr5 sodimm 4800Mhz - |- | <!--Name-->[https://www.asrockind.com/en-gb/4x4 ASrock 4x4 SBC] | <!--IDE-->{{N/A}} | <!--SATA-->sata or nvme | <!--Gfx-->Vega or 680M | <!--Audio-->HDAudio | <!--USB-->USB3 or USB4 | <!--Ethernet-->Realtek 1GbE or intel 2.5GbE | <!--Test Distro--> | <!--Comments-->2022 64bit - |- | <!--Name-->Beelink Mini PC GTR7 SER7 | <!--IDE-->{{N/A}} | <!--SATA-->PCIe4 nvme 2280 up to 2Tb | <!--Gfx-->AMD 780M RDNA3 GPU output on hdmi and dp | <!--Audio-->HDAudio | <!--USB-->USB3.2 | <!--Ethernet-->{{No|1 or 2 2.5GbE}} | <!--Test Distro--> | <!--Comments-->2023 64bit AMD Phoenix APUs Zen 4 CPU Ryzen 7 7840HS or 9 7940HS (8c 16t) - 19v 5.26A 120w psu - del dios setup f7 choose boot - 2 usb-c on back - up to 64gb via 2 ddr5 sodimm slots - |- | <!--Name-->MINISFORUM BD770i Ryzen 7 7745HX (8c16t) or BD795i SE 790i 9 7945HX (16c32t) or F1FXM_MB_V1.1 795M LGA1700 mATX | <!--IDE-->{{N/A}} | <!--SATA-->2 NVMe | <!--Gfx-->Radeon 610m over usb-c, dp or hdmi | <!--Audio-->HDAudio with codec | <!--USB-->USB3 with 2 rear USB2 | <!--Ethernet-->Realtek 2.5G | <!--Test Distro--> | <!--Opinion-->2024 mini-ITX M/B is the first MoDT (Mobile on Desktop) with soldered AMD CPU - 2 dual PCIe4.0 M.2 slots - 2 ddr5 sodimm slots max 5200Mhz - 8pin cpu power - battery not easily replaceable underneath - |- | <!--Name-->Minisforum ms-a1 MS-a2 * 5700G to 8700G apu * 9955HX | <!--IDE-->{{N/A}} | <!--SATA-->2 nvme | <!--Gfx-->AMD 610M | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->dual 2.5GbE | <!--Test Distro--> | <!--Comments-->2024 64bit - 19v ?A round barrel jack - 2 ddr5 so-dimm slots - |- | <!--Name-->AOOSTAR GT68 | <!--IDE-->{{N/A}} | <!--SATA-->Nvme | <!--Gfx-->680m | <!--Audio-->HDaudio | <!--USB-->USB3 | <!--Ethernet-->2 2.5Gb | <!--Test Distro--> | <!--Comments-->2025 Ryzen7 Pro 6850H, |- | <!--Name-->NextSBC 7840HS | <!--IDE-->{{N/A}} | <!--SATA-->Nvme | <!--Gfx-->AMD 780M 12CU | <!--Audio-->HDAudio with codec | <!--USB-->USB4 and USB 3.2 | <!--Ethernet-->2 GbE | <!--Test Distro--> | <!--Comments-->2025 64bit - 32Gb soldered - |- | <!--Name-->Firebat A6 R7 6800H | <!--IDE-->{{N/A}} | <!--SATA-->nvme | <!--Gfx-->AMD 680M | <!--Audio-->HDaudio | <!--USB-->USB3 | <!--Ethernet-->rtl8169 | <!--Test Distro--> | <!--Comments-->2025 64bit - |- | <!--Name-->Minisforum UM760 7640HS | <!--IDE-->{{N/A}} | <!--SATA-->nvme | <!--Gfx-->AMD 760 | <!--Audio-->HDaudio | <!--USB-->USB4 | <!--Ethernet-->rtl8169 and 2.5Gb | <!--Test Distro--> | <!--Comments-->2025 64bit - |- | <!--Name-->Peladn WO4 Mini PC | <!--IDE-->{{N/A}} | <!--SATA-->nvme | <!--Gfx-->AMD 760 | <!--Audio-->HDaudio | <!--USB-->USB3 | <!--Ethernet-->rtl8169 | <!--Test Distro--> | <!--Comments-->2025 64bit 7640HS - 19v 5.26A 120W - |- | <!--Name-->BossGame M4 Neo 7840HS | <!--IDE-->{{N/A}} | <!--SATA-->nvme | <!--Gfx-->AMD 780 | <!--Audio-->HDaudio | <!--USB-->USB3 | <!--Ethernet-->rtl8169 | <!--Test Distro--> | <!--Comments-->2025 64bit - |- | <!--Name-->Minisforum UM870 || <!--IDE-->{{N/A}} || <!--SATA-->NVme || <!--Gfx-->AMD 780M || <!--Audio-->HDaudio || <!--USB-->USB3 || <!--Ethernet-->2.5GbE || <!--Test Distro--> || <!--Comments-->2025 64bit - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || IDE || SATA || Gfx || Audio || USB || Ethernet || Test Distro || Comments |- | <!--Name-->GEEKOM A8 Max AI Mini PC AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS or 8745HS | <!--IDE-->{{N/A}} | <!--SATA-->NVme | <!--Gfx-->AMD 780M | <!--Audio-->HDAudio with codec | <!--USB-->{{maybe| USB4}} | <!--Ethernet-->{{No|Dual 2.5 G Ethernet ports}} | <!--Test Distro--> | <!--Comments-->2025 64bit - |- | <!--Name-->Beelink SER 9 | <!--IDE-->{{N/A}} | <!--SATA-->NVme | <!--Gfx-->Radeon 890M | <!--Audio-->HDaudio | <!--USB-->USB4 | <!--Ethernet-->{{No| }} | <!--Test Distro--> | <!--Comments-->2025 64bit - Ryzen AI HX 370 strix point - |- | <!--Name-->GMKtec EVO-X2 mini pc | <!--IDE-->{{n/a}} | <!--SATA-->nvme | <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151 | <!--Audio-->HDaudio | <!--USB-->USB4 | <!--Ethernet-->{{No| }} | <!--Test Distro--> | <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) strix halo - |- | <!--Name-->BosGame M5 | <!--IDE-->{{n/a}} | <!--SATA-->nvme | <!--Gfx-->AMD 8060S iGPU RDNA3.5 RADV GFX1151 | <!--Audio-->HDaudio | <!--USB-->USB4 | <!--Ethernet-->{{No| }} | <!--Test Distro--> | <!--Comments-->2025 64bit - amd ryzen AI Max+ 395 (16c32t) - |- | <!--Name-->Steam Machine GabeCube | <!--IDE-->{{N/A}} | <!--SATA-->nvme | <!--Gfx-->semi-custom 1080p amd 7600m like with 28cu 8gb ddr6 gddr 10GFlops | <!--Audio-->hdaudio with codec | <!--USB-->usb3 | <!--Ethernet-->{{maybe|rtl8169}} | <!--Test Distro--> | <!--Comments-->2026 64bit amd 1772 hawk point2 6c12t zen4 avx512 FP7 socket with FCH51 - 16gb ddr5 - |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |} ===Server Systems=== [[#top|...to the top]] ====IBM==== {| class="wikitable sortable" width="100%" ! width="15%" |Name ! width="5%" |IDE ! width="5%" |SATA ! width="10%" |Integrated Gfx ! width="10%" |Audio ! width="10%" |USB ! width="10%" |Ethernet ! width="15%" |Test Distro ! width="20%" |Comments |- | <!--Name-->xSeries 206m | <!--IDE-->{{yes}} | <!--SATA-->{{yes}} | <!--Gfx-->{{Maybe|ATI RN50b (VESA only)}} | <!--Audio-->{{n/a}} | <!--USB-->{{yes|USB 2.0 (UHCI/EHCI)}} | <!--Ethernet-->{{no|Broadcom}} | <!--Test Distro-->Nightly Build 2014-09-27 | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- |} ===Motherboard=== [[#top|...to the top]] * Late 2002, USB2.0 added and slightly better AROS sound support (AC97) appeared * 2002-2005 and still, to a limited extent, ongoing [http://en.wikipedia.org/wiki/Capacitor_plague bad capacitors] * Late 2003, ATX PSUs moved from 5V to 12v rails (extra 4pin on motherboard for CPU) * Late 2005, PCI Express replaced AGP and HDAudio replaced AC97 * Late 2007, ATX PSUs added extra 12V PCI-E connectors and 4+4pin for CPUs * Late 2010, USB3.0 appears on motherboards or needing a PCI-E motherboard slot * Late 2014 Hardware USB2 removed from USB3 chipsets ====AMD Sockets==== [[#top|...to the top]] =====Socket 7 (1997/1999)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->1997 VT82C586B (QFP-208) is the first from VIA with DDMA |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2000 VT82C686 has close to excellent DDMA support |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->SiS 5581/5582 SiS 5591/5595 SiS 530 /5595 SiS 600/5595 SiS 620/5595 |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} =====Socket A 462 (2001/4)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2217921/ABIT-NF7-S-nForce2-Motherboard-Review.htm Abit NF7-S] | <!--Chipset-->nForce 2 | <!--ACPI--> | <!--IDE-->2 ports | <!--SATA-->SIL 3112A | <!--Gfx--> | <!--Audio-->{{yes|ALC650 AC97 (Nvidia APU)}} | <!--USB-->{{yes}} | <!--Ethernet-->Realtek RTL 8201LB | <!--Opinion-->Firewire Realtek RTL8801B |- | <!--Name-->ASRock K7NF2 | <!--Chipset-->nforce2 ultra 400 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{yes|AGP 8x}} | <!--Audio-->CMedia CMI 9761A AC'97 | <!--USB-->{{yes}} | <!--Ethernet-->Realtek 8201 | <!--Opinion--> |- | <!--Name-->ASRock K7S8X | <!--Chipset-->SIS 746FX | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA--> | <!--Gfx-->{{yes|AGP 8x}} | <!--Audio-->{{yes|AC'97 cmedia}} | <!--USB-->{{maybe|USB2.0 works but does not boot}} | <!--Ethernet-->{{yes|SiS900}} | <!--Opinion--> |- | <!--Name-->ASRock K7S41GX | <!--Chipset-->SIS 741GX + DDR 333 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA--> | <!--Gfx-->{{maybe|onboard sis does not work with vga or vesa but AGP 8x works}} | <!--Audio-->{{yes|AC97 SIS 7012}} | <!--USB-->{{maybe|USB2.0 works but does not boot}} | <!--Ethernet-->{{yes|SiS 900}} | <!--Opinion-->works ok |- | <!--Name-->[http://www.asus.com ASUS A7N8X] | <!--Chipset-->nForce2 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->Silicon Image Sil 3112A | <!--Gfx-->1 AGP slot | <!--Audio-->{{yes|ac97 ALC650}} | <!--USB-->{{yes|ehci USB2.0}} | <!--Ethernet-->{{yes|rtl8201BL - nforce}} | <!--Opinion-->first total support for AROS in 2004/5 - damocles and M Schulz |- | <!--Name-->Biostar M7NCD | <!--Chipset-->nForce2 Ultra 400 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->{{yes|ALC650 AC97}} | <!--USB--> | <!--Ethernet-->{{yes|RTL8201BL}} | <!--Opinion--> |- | <!--Name-->Chaintech 7NJS Ultra Zenith | <!--Chipset-->nForce2 Ultra 400 | <!--ACPI--> | <!--IDE--> | <!--SATA-->Promise PDC 20376 | <!--Gfx--> | <!--Audio-->{{yes|CMI8738}} | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->DFI Lanparty NF2 Ultra | <!--Chipset-->nForce2 Ultra 400 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->{{no|via ac97 VT1616}} | <!--USB--> | <!--Ethernet-->RTL8139C | <!--Opinion--> |- | <!--Name-->ECS N2U400-A | <!--Chipset-->nForce2 Ultra 400 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->{{no|Cmedia 9379A AC97}} | <!--USB-->{{yes|usb2.0}} | <!--Ethernet-->{{no|VIA VT6103L}} | <!--Opinion--> |- | <!--Name-->Gigabyte GA7N400L | <!--Chipset-->nForce2 Ultra 400 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->1 AGP 8x slot | <!--Audio-->{{yes|AC97 ALC650}} | <!--USB-->2 USB2.0 | <!--Ethernet-->RTL8100C | <!--Opinion--> |- | <!--Name-->[http://www.gigabyte.lv/products/page/mb/ga-8siml Gigabyte 8SIML] | <!--Chipset-->SIS 650 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA--> | <!--Gfx-->{{maybe|VESA}} | <!--Audio-->{{yes|AC'97}} | <!--USB-->{{maybe|working}} | <!--Ethernet-->{{no|Realtek RTL8100L LAN}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Matsonic [http://www.elhvb.com/mobokive/archive/matsonic/manual/index.html Manuals] MS83708E | <!--Chipset-->SIS730 | <!--ACPI--> | <!--IDE-->{{yes|SiS 5513}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{maybe|sis 305 no support use VESA}} | <!--Audio-->{{no|sis7018}} | <!--USB-->{{no|SiS 7001 USB 1.1 only}} | <!--Ethernet-->{{yes|SIS900}} | <!--Opinion-->little support |- | <!--Name-->[http://h10025.www1.hp.com/ewfrf/wc/document?docname=bph07585&lc=en&dlc=en&cc=us&dest_page=softwareCategory&os=228&tool=softwareCategory&query=Pavilion%20742n&product=89232 MSI MS-6367 HP 722n 742n (Mambo) (2001/2)] | <!--Chipset-->Nvidia nforce 220D (2001/2) | <!--ACPI--> | <!--IDE-->{{Yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->GeForce2 AGP works 2D nouveau only | <!--Audio-->{{Maybe|AC97 ADI 1885 no volume control on Units 0-3}} | <!--USB-->{{Yes|4 USB1.1 ports AMD based - front 2 ports iffy}} | <!--Ethernet-->{{No|nForce}} | <!--Opinion-->Tested 20th Aug 2012 NB |- | <!--Name-->MSI K7N2 [http://us.msi.com/index.php?func=proddesc&maincat_no=1&prod_no=546/ Delta ILSR] Delta-L | <!--Chipset-->nForce2 (2002/3) | <!--ACPI--> | <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID) | <!--SATA-->2 ports (RAID) | <!--Gfx-->{{yes|when fitted with an agp video card}} | <!--Audio-->{{yes|ac97 ALC650}} | <!--USB-->{{yes}} | <!--Ethernet-->{{yes|rtl8201BL - nforce}} | <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3 |- | <!--Name-->MSI K7N2 Delta2-LSR Platinum | <!--Chipset-->nForce2 (2002/3) | <!--ACPI--> | <!--IDE-->{{yes|Primary & Secondary ports}} IDE Tertiary port (RAID) | <!--SATA-->2 ports (RAID) | <!--Gfx-->{{yes|when fitted with an agp video card}} | <!--Audio-->{{No|ac97 ALC655}} | <!--USB-->{{yes}} | <!--Ethernet-->{{yes|rtl8201BL - nforce}} | <!--Opinion-->runs AROS well. Tested with Icaros 1.2.3 |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->[http://www.sharkyextreme.com/hardware/motherboards/article.php/2204281/Soltek-SL-75MRN-L-nForce2-Motherboard-Review.htm Soltek 75FRN-L] | <!--Chipset-->nForce2 | <!--ACPI--> | <!--IDE-->{{yes|2 ports}} | <!--SATA-->{{N/A}} | <!--Gfx-->AGP slot | <!--Audio-->{{yes|ALC650}} | <!--USB-->{{yes|2 usb2.0}} | <!--Ethernet-->{{yes|Realtek RTL8201BL}} | <!--Opinion-->good support |- | <!--Name-->[http://www.3dvelocity.com/reviews/mach4nf2ultra/mach4.htm XFX Pine Mach4 nForce2 Ultra 400] | <!--Chipset-->nForce2 | <!--ACPI--> | <!--IDE-->{{yes|3 ports}} | <!--SATA-->{{maybe|2 ports VIA VT6240}} | <!--Gfx-->1 AGP 8x slot | <!--Audio-->{{yes|ALC650}} | <!--USB-->{{yes|2 USB2.0}} | <!--Ethernet-->{{yes|RTL8201BL}} | <!--Opinion-->some support |- | <!--Name-->ASUS A7V266 | <!--Chipset-->via KT266A + 8233 | <!--ACPI--> | <!--IDE-->{{no|issues}} | <!--SATA--> | <!--Gfx-->1 AGP slot | <!--Audio-->AC97 with AD1980 codec | <!--USB-->via 8233 | <!--Ethernet-->VIA VT6103 | <!--Opinion-->2002 issues with booting |- | <!--Name-->Asus A7V8X-X | <!--Chipset-->VIA KT400 | <!--ACPI--> | <!--IDE-->{{unk| }} | <!--SATA-->{{N/A}} | <!--Gfx-->{{yes|agp}} | <!--Audio-->{{unk|AC97 with ADI AD1980 codec}} | <!--USB-->{{unk|VIA 8235}} | <!--Ethernet-->{{unk|Realtek 10/100}} | <!--Opinion-->2003 not booting for Socket A for AMD Barton/Thoroughbred/Athlon XP/Athlon/Duron 2.25+ GHz CPU - 3 x DDR DIMM Sockets Max. 3 GB - |- |} =====Socket 754 (2004/5)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Abit NF8-V2 | <!--Chipset-->nForce3 250GB (2004/5) | <!--ACPI--> | <!--IDE-->{{yes|2 ports}} | <!--SATA-->{{maybe|2 ports}} | <!--Gfx-->1 AGP slot x8 | <!--Audio-->ALC658 ac97 | <!--USB-->{{yes|2 USB2.0}} | <!--Ethernet-->{{no|RTL8201C}} | <!--Opinion-->a little support but no Firewire VIA VT6306 |- | <!--Name-->Biostar CK8 K8HNA Pro | <!--Chipset-->nforce3 150 | <!--ACPI--> | <!--IDE--> | <!--SATA-->VT6420 thru ide legacy only | <!--Gfx--> | <!--Audio-->{{no|AC97 ALC655}} | <!--USB--> | <!--Ethernet-->Realtek RTL8110S | <!--Opinion-->Firewire VT6307 no |- | <!--Name-->[http://www.extremeoverclocking.com/reviews/motherboards/Chaintech_ZNF3-150_3.html Chaintech ZNF3-150 Zenith] | <!--Chipset-->nforce3 150 | <!--ACPI--> | <!--IDE-->2 ports | <!--SATA-->{{maybe|Sli3114 SATA via IDE emul}} | <!--Gfx-->1 AGP slot | <!--Audio-->{{no|VIA Envy24PT (VT1720) + VT1616}} | <!--USB-->{{Maybe|2 USB2.0}} | <!--Ethernet-->{{no|Broadcom GbE 5788}} | <!--Opinion-->very little support needs PCI cards but no Firewire VIA VT6306 |- | <!--Name-->DFI Lanparty UT nF3 250GB | <!--Chipset-->nForce3 250gb | <!--ACPI--> | <!--IDE-->2 ports | <!--SATA-->{{maybe|2 ports nForce3 and 2 Marvell SATA PHY}} | <!--Gfx--> | <!--Audio-->{{yes|AC97 ALC850}} | <!--USB-->{{Maybe|2 USB2.0}} | <!--Ethernet-->CK8S - Winfast NF3 250K8AA works and Marvell 88E1111 does not work | <!--Opinion-->2005 some support but no Firewire VIA VT6307 |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Gigabyte GA-K8N | <!--Chipset-->NVIDIA nForce3 150 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->Realtek ALC658 AC97 | <!--USB--> | <!--Ethernet-->Realtek RTL8100C | <!--Opinion-->Firewire TI43AB23 no |- | <!--Name-->Gigabyte K8NNXP | <!--Chipset-->nForce3 150 | <!--ACPI--> | <!--IDE--> | <!--SATA-->Sata sil3512 | <!--Gfx--> | <!--Audio-->ALC658 AC97 | <!--USB--> | <!--Ethernet-->RTl8110S | <!--Opinion-->Firewire TI STB82AA2 no |- | <!--Name-->Gigabyte GA-K8NSNXP | <!--Chipset-->nForce3 250GB | <!--ACPI--> | <!--IDE--> | <!--SATA-->SiI 3512 CT128 Sata Sil3515 | <!--Gfx--> | <!--Audio-->ALC850 AC97 | <!--USB--> | <!--Ethernet-->{{No|Marvel 88E8001}} | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->MSI K8N Neo-FIS2R | <!--Chipset-->nVIDIA NF3-250Gb | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->Realtek 7.1 AC'97 ALC850 | <!--USB--> | <!--Ethernet-->{{No|Marvell 88E1111}} | <!--Opinion--> |- | <!--Name-->[http://techreport.com/articles.x/5748/1 Shuttle AN50R] | <!--Chipset-->nF3-150 | <!--ACPI--> | <!--IDE--> | <!--SATA-->Sil 3112 | <!--Gfx--> | <!--Audio-->ALC650 AC97 | <!--USB--> | <!--Ethernet-->Nvidia nF3 (10/100) Intel 82540EM Gigabit | <!--Opinion-->Firewire VT6307 no |- | <!--Name--> Foxconn WinFast K8S755A | <!--Chipset-->SiS755 + SiS964 (DDR333) | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> {{yes|AC97}} | <!--USB--> | <!--Ethernet--> {{yes|RTL8169}} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket 939 (2005)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Asus A8N-LA GeForce 6150 LE | <!--Chipset-->Geforce 6150 (MCP51) + nForce 430 (PC-3200) | <!--ACPI--> | <!--IDE-->{{yes|two ATA 133}} | <!--SATA-->{{maybe|four 3.0GB/s SATAII ports}} | <!--Gfx-->built in or PCI-E x16 | <!--Audio-->Realtek ALC883 HD Audio | <!--USB-->6 USB2.0 | <!--Ethernet-->Realtek RTL 8201CL | <!--Opinion--> |- | <!--Name-->Asus A8N-SLI Premium | <!--Chipset-->NVidia | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{Yes|PCIe slot}} | <!--Audio-->{{Yes|AC97}} | <!--USB-->{{Maybe}} | <!--Ethernet-->{{Yes|nForce LAN but not Marvell}} | <!--Opinion-->Works well |- | <!--Name-->DFI nF4 Ultra-D LanParty - Diamond Flower International sold to BenQ group 2010 | <!--Chipset-->nF4 | <!--ACPI--> | <!--IDE-->2 ports | <!--SATA-->4 ports SATA 2 | <!--Gfx-->2 PCIe x16 slots | <!--Audio-->AC97 with ALC850 codec | <!--USB--> | <!--Ethernet-->Dual Gigabit Ethernet, PCIe by Vitesse VSC8201 PHY nee Cicada 8201, PCI by Marvel 88E8001 | <!--Opinion-->2006 64bit - Four 184-pin DDR Dual-Channel Slots - 1 pci on Ultra, 2 pci on sli, |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus A8V E SE | <!--Chipset-->VIA K8T890 +VT8237R CHIPSET ATX AMD Motherboard with Athlon 64 X2 / Athlon 64 FX / Athlon 64 | <!--ACPI-->{{N/A}} | <!--IDE-->{{Yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{N/A}} | <!--Audio-->{{Maybe}} AC97 driver using Realtek ALC850 codec | <!--USB-->{{Yes}} USB 2.0 only | <!--Ethernet-->{{No}} Marvell 88E8053 | <!--Opinion-->Good base but needs additional PCI cards added for better support |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->ASUS A8V Deluxe (2004) | <!--Chipset-->VIA K8T800 Pro (DDR400) | <!--ACPI--> | <!--IDE-->Promise 20378 2 ports | <!--SATA-->2 SATA2 | <!--Gfx--> | <!--Audio-->{{no|VIA VT8233A 8235 8237 AC97}} | <!--USB--> | <!--Ethernet-->{{no|Marvell 88E8001 Gigabit}} | <!--Opinion-->needs extra PCI cards |- |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Test Distro--> | <!--Comments--> |- | <!--Name-->AsRock 939Dual-SATA2 | <!--Chipset-->Ali Uli M1695 PCIe with M1567 AGP | <!--ACPI--> | <!--IDE-->2 ports | <!--SATA-->1 Sata with JMicron JMB360 chip | <!--Gfx-->1 pci-e and 1 agp | <!--Audio-->AC97 with ALC850 codec | <!--USB--> | <!--Ethernet-->Realtek RTL8201CL PHY ULi 10/100 | <!--Opinion-->64bit pci-e and agp combo on board - 4 ddr slots - |} =====Socket AM2 (2006/8) and AM2+ (2007-2010) ===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-M61PME-S2 (rev. 2.x) | <!--Chipset-->NVIDIA® GeForce 6100 / nForce 430 chipset | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{maybe|VESA 2d for vga}} | <!--Audio-->{{yes|HDAudio Realtek ALC662 Audio Codec}} | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus M2N61-AR mini itx | <!--Chipset-->NVIDIA nForce 430 | <!--ACPI--> | <!--IDE-->1 | <!--SATA-->2 | <!--Gfx-->GeForce 6150SE via vga or 1 pci-e slot | <!--Audio-->HD Audio with codec | <!--USB-->Nvidia | <!--Ethernet-->Nvidia | <!--Opinion-->2006 32bit - 1 pci - 2 ddr2 dimm slots non-eec - |- | <!--Name-->asus m2n68-am se2 | <!--Chipset-->nvidia 630a 630/a MCP68SE | <!--ACPI--> | <!--IDE-->1 ports | <!--SATA-->2 ports MCP61 chipset is SATA over IDE, not SATA over AHCI and reports subsystem as 0x1 IDE, not 0x6 SATA | <!--Gfx-->{{Yes|nvidia 7025 2d and 3d thru vga}} | <!--Audio-->{{Yes|hd audio with realtek alc662 codec}} | <!--USB-->{{Yes| }} | <!--Ethernet-->{{Yes|nForce chipset RTL 8201CP}} | <!--Opinion-->2007 64bit Phenom IIX2, Athlon 64 LE X2, Sempron, and Phenom FX processors - ddr2 667Mhz ram max 4Gb - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-MA770-UD3 (rev. 1.0) | <!--Chipset-->AMD 770 with SB700 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes| }} | <!--Gfx-->pci-e | <!--Audio-->{{yes|ALC888 codec }} | <!--USB-->{{yes|USB2}} | <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}} | <!--Opinion-->Good support for AM2+ / AM2 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus M3A32-MVP Deluxe | <!--Chipset-->AMD 790FX RD790 + SB600 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{No|Marvell 88SE6121 SATA II}} | <!--Gfx-->pci-e 1.1 support | <!--Audio-->{{No|HD Audio ADI® AD1988}} | <!--USB--> | <!--Ethernet-->{{No|Marvell 88E8056}} | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->ASROCK N68-S N68C-S | <!--Chipset-->AMD based nForce 630a | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->{{yes|slimline DVD drive works}} | <!--Gfx-->{{maybe|GF 7025 use vesa}} | <!--Audio-->{{yes|HDAudio for VIA 1708S VT1705}} | <!--USB-->{{Maybe|echi usb 2.0}} | <!--Ethernet-->{{no|RTL8201EL / 8201CL - nforce}} | <!--Opinion-->2008 unbuffered 1066Mhz ddr2 ram - N68C-S may need noacpi added to grub boot line to disable pci temporarily to run as it cannot get to [PCI] Everything OK - |- | <!--Name-->Asus M2N68-AM Plus | <!--Chipset-->Athlon 64, Sempron, Athlon 64 X2, Athlon 64 FX with nvidia 630a | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->no vga, pci-e slot only | <!--Audio-->{{yes|HD Audio with ALC662 codec}} | <!--USB--> | <!--Ethernet-->{{no|RTL8211CL Gigabit LAN}} | <!--Opinion-->adding "noacpi noapic noioapic" to the GRUB options - Dual channel DDR2 1066, 800, 667 MHz - |- | <!--Name-->Gigabyte GA-M68M-S2 (1.0) S2P (2.3) S2L GA-M68SM-S2 (1.x) | <!--Chipset-->nForce 630a chipset | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->NVIDIA® GeForce 7025, vga (s2 and s2p), dvi (s2l) | <!--Audio-->ALC883 (S2), ALC888B (S2P), ALC662 (S2L), | <!--USB--> | <!--Ethernet-->RTL 8201CL (S2), 8211CL (S2P), 8211BL (S2L), | <!--Opinion-->2008 64bit possible with AMD AM2+ CPU on AM2 motherboard, the system bus speed will downgrade from HT3.0(5200MHz) to HT1.0(2000 MT/s) spec |- | <!--Name-->ASUS M2N68-VM | <!--Chipset-->nForce 630a (MCP68PVNT) | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->Nvidia GeForce ® 7050PV hdmi, dvi and vga | <!--Audio-->HD audio VIA 1708B codec | <!--USB--> | <!--Ethernet-->RTL 8211C | <!--Opinion-->2008 64bit - ddr2 800Mhz |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket AM3 White socket (2010/11)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Gigabyte GA-MA74GM-S2 GA-MA74GM-S2H | <!--Chipset-->740g with sb710 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes|bios IDE}} | <!--Gfx-->Radeon 2100 and pci-e slot | <!--Audio-->ALC888 (r1.x),ALC888b (r2.0), ALC888B (rev4.x) | <!--USB-->USB2 | <!--Ethernet-->rtl8169 Realtek 8111C later 8111D | <!--Opinion-->2010 64bit - 2 x 1.8V DDR2 DIMM sockets max 8 GB - Micro ATX Form Factor 24.4cm x 23.4cm - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->[http://www.vesalia.de/e_aresone2011.htm Aresone 2011] | <!--Chipset-->760g | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes}} | <!--Gfx-->{{Maybe|no Radeon HD3000 driver yet<br>vesa driver works<br>and add PCIe card}} | <!--Audio-->{{Yes|HD Audio}} | <!--USB-->{{Yes|USB2.0}} | <!--Ethernet-->{{yes}} | <!--Opinion-->Good support - 4 DDR3 memory sockets - |- | <!--Name-->Foxconn A76ML-K 3.0 | <!--Chipset-->AMD 760g rev3.0 | <!--ACPI--> | <!--IDE-->{{Yes|1 }} | <!--SATA-->{{Yes|4 in IDE mode }} | <!--Gfx-->HD3000 with pci-e slot | <!--Audio-->HDAudio with ALC662-GR codec | <!--USB-->USB2 | <!--Ethernet-->rtl8169 rtl8111E | <!--Opinion-->2011 64bit - 2 ddr3 slots - 2 pci slots - |- | <!--Name-->GA-MA770T-UD3P (rev. 1.0 to 1.4) | <!--Chipset-->amd 770 with sb710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|4 sata}} | <!--Gfx-->pci-e | <!--Audio-->{{yes|HDAudio with Realtek ALC888 codec}} | <!--USB-->{{yes| }} | <!--Ethernet-->{{yes|rtl8168 rtl8111c/d}} | <!--Opinion-->2011 64 - 4 ddr3 dimm slots - |- | <!--Name-->Gigabyte GA-MA770-UD3 (rev. 2.0 2.1) | <!--Chipset-->AMD 770 with SB700 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes| }} | <!--Gfx-->pci-e | <!--Audio-->{{yes|ALC888 codec }} | <!--USB-->{{yes|USB2}} | <!--Ethernet-->{{yes|rtl8169 8111C later 8111D}} | <!--Opinion-->Good support for AM3 with 4 ddr2 ram - 4 x PCI Express x1, 2 x PCI slots - firewire T.I. TSB43AB23 chip no support - |- | <!--Name-->Asus M4A785TD-M PRO | <!--Chipset-->785G and SB710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{Maybe|ide legacy}} | <!--Gfx-->{{Maybe|ATI Radeon HD 4200 - use vesa}} or pci-e 2.0 slot | <!--Audio-->{{Yes|HD Audio}} | <!--USB-->{{Yes| }} | <!--Ethernet-->{{Yes| }} | <!--Opinion-->Good support with 1366 ddr3 ram - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->ASUS M4A88T-I Deluxe ITX | <!--Chipset-->AMD 880G with AMD SB710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->Three SATA 3Gbps | <!--Gfx-->Radeon HD 4350 GPU with HDMI and DVI or One 16x PCI-Express 2.0 | <!--Audio-->HDAudio with Realtek ALC889 | <!--USB-->6 x USB 2, 2 x USB 3 | <!--Ethernet-->{{No|Realtek RTL8112L}} | <!--Opinion-->2014 64bit - 2 SODIMM DDR3 slots max 8GB |- | <!--Name-->Asus M4A88T-M Version E5907 E5826 | <!--Chipset-->AMD 880G SB710 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->Radeon 4250 | <!--Audio-->HD Audio with VIA VT 1708S codec | <!--USB--> | <!--Ethernet-->Realtek rtl8169 8111E | <!--Opinion-->2010 64bit - |- | <!--Name-->GigaByte 890GPA-UD3H | <!--Chipset-->AMD 890GX together with SB850 | <!--ACPI--> | <!--IDE--> | <!--SATA-->Yes | <!--Gfx-->use pci-e nvidia | <!--Audio-->Maybe - ALC892 rev. 1.0, ALC892 rev 2.1, ALC889 rev. 3.1 | <!--USB-->Yes | <!--Ethernet-->Yes | <!--Opinion-->works well overall |- | <!--Name-->Gigabyte GA-890FXA-UD7 | <!--Chipset-->AMD 890FX with SB850 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes|IDE }} | <!--Gfx--> | <!--Audio-->ALC889 (rev 2.x) | <!--USB-->{{Yes|AMD USB2 but limited with NEC D720200F1 USB3}} | <!--Ethernet-->2 x Realtek 8111D | <!--Opinion-->2012 64bit - XL-ATX Form Factor 32.5cm x 24.4cm - 4 ddr3 slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI 890GXM-G65 | <!--Chipset-->890GX + SB750 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{Maybe|legacy}} | <!--Gfx-->{{Maybe|ATI 4290 built-in (vesa)}} | <!--Audio-->{{Maybe|ALC889 DD GR}} HD Audio crackles | <!--USB-->{{Yes}} | <!--Ethernet-->{{Yes|RTL 8169}} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->ASRock N68-VS3 FX | <!--Chipset-->NVIDIA® GeForce 7025 / nForce 630a | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 Sata2 | <!--Gfx-->Integrated NVIDIA® GeForce 7025 | <!--Audio-->HD Audio with VIA® VT1705 Codec | <!--USB-->USB2 | <!--Ethernet-->Realtek PHY RTL8201EL | <!--Opinion-->2010 64bit - 2 x DDR3 DIMM slots - |- | <!--Name-->MSI GF615M-P35 MS-7597 | <!--Chipset-->NVIDIA® nForce 430 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->GeForce 6150SE | <!--Audio-->{{Maybe|HD Audio with Realtek® ALC888S}} | <!--USB-->{{No|freezes}} | <!--Ethernet-->{{No|Realtek 8211CL}} | <!--Opinion-->2010 64bit |- | <!--Name-->Gigabyte GA-M68MT-S2 | <!--Chipset--> nForce 630a | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->NVIDIA® GeForce 7025 vga | <!--Audio-->ALC888B (1.3), ACL887 (3.1), | <!--USB--> | <!--Ethernet-->RTL8211CL (all) | <!--Opinion-->2010 64bit possible, AMD AM3 CPU on this motherboard, the system bus speed will downgrade from HT3.0 (5200MT/s) to HT1.0 (2000 MT/s) spec |- | <!--Name-->Gigabyte GA-M68MT-S2P | <!--Chipset--> nForce 630a | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->NVIDIA® GeForce 7025 vga | <!--Audio-->ALC888B (1.x 2.x), ALC889 (3.0), ALC888B/889 (3.1), | <!--USB--> | <!--Ethernet-->RTL8211CL (all) | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus M4N78 PRO | <!--Chipset-->NVIDIA GeForce 8300 | <!--ACPI--> | <!--IDE-->1 xUltraDMA 133/100 | <!--SATA-->6 xSATA 3 Gbit/s ports | <!--Gfx-->Integrated NVIDIA® GeForce® 8 series GPU with 1 PCIe 2.0 slot | <!--Audio-->HD Audio with VIA1708S 8 -Channel codec | <!--USB-->12 USB 2.0 ports (8 ports at mid-board, 4 ports at back panel) | <!--Ethernet-->NVIDIA Gigabit | <!--Opinion-->4 x DIMM, Max. 16 GB, DDR2 1200(O.C.)/1066*/800/667 ECC,Non-ECC,Un-buffered Memory - ATX Form Factor 12 inch x 9.6 inch ( 30.5 cm x 24.4 cm ) - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} =====Socket AM3+ Black socket (2012/15)===== *095W FX-6300 FD6300WMHKBOX (bulldozer SSE4.1 AVX) 970 mobos with FX-8320E 8core Black Editions FD832EWMHKBOX FX-8370E (Vishera/Piledriver) *125W FX-6310 (bulldozer) 970 mobos with FX-8320 FX-8350 FX-8370 (Vishera/Piledriver) *220W 990FX mobos with FX-9000 FX-9370 FX-9590 {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->ASUS M5A78L-M LX3 | <!--Chipset-->AMD 760G with SB710 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{Yes|bios IDE mode}} | <!--Gfx-->HD3000 with pci-e slot | <!--Audio-->HDAudio with ALC887, V? ALC892 codecs | <!--USB-->USB2 | <!--Ethernet-->{{No|Qualcomm Atheros 8161/8171 add realtek 8111? pci-e card}} | <!--Opinion-->2012 64bit - uATX Form Factor 9.6 inch x 7.4 inch ( 24.4 cm x 18.8 cm ) - 2 x DIMM, Max. 16GB, DDR3 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-78LMT-S2P | <!--Chipset-->AMD 760G and SB710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|6 SATA2 ports}} | <!--Gfx-->GT240 and a nv7900gs, both pci-e | <!--Audio-->{{Maybe|ALC889 (r3.1), ALC??? (rev. 4.0), ALC887 (r5.x)}} | <!--USB-->4 USB2 | <!--Ethernet-->{{Maybe|Realtek 8111E (r3.1), Atheros (rev4.0), Atheros (r5.x) }} | <!--Opinion-->2012 offers very poor control over its EFI vs. BIOS booting partition features |- | <!--Name-->Gigabyte GA-78LMT-USB3 (r3.0), (r4.1 Blue board), (r5.0 dark board), (rev6 dark mobo) | <!--Chipset-->AMD 760G and SB710 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes|Bios IDE mode for SATA2 on early ones}} | <!--Gfx-->AMD HD3000, pci-e GT240 and a nv7900gs | <!--Audio-->{{Maybe|ALC??? (r3.0), ALC887 (r4.1), VIA VT2021 (r5.0), Realtek® ALC892 codec (rev6) }} | <!--USB-->{{yes|AMD USB2 but not VIA® VL805 USB3}} | <!--Ethernet-->Realtek GbE | <!--Opinion-->2013 64bit - Micro ATX Form Factor 24.4cm x 24.4cm - 4 x DDR3 DIMM sockets - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI 760GM | <!--Chipset-->ATI 760G plus SB710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{yes| }} | <!--Gfx-->HD3000 Use Vesa | <!--Audio-->{{Maybe|P33 VT1705; P34, P21 and P23 (FX) MS7641 v3.0 ALC887, E51 ALC892}} | <!--USB-->{{yes| }} | <!--Ethernet-->{{Yes|Realtek}} | <!--Opinion-->P23 issues with audio ALC887 crackles thru earphones - |- | <!--Name-->Gigayte GA-MA770T-UD3P (rev. 3.1) | <!--Chipset-->amd 770 with sb710 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata | <!--Gfx-->pci-e slot | <!--Audio-->HDaudio with Realtek ALC888/892 codec | <!--USB--> | <!--Ethernet-->rtl8169 rtl8111d/e | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->ASRock 890FX Deluxe5 Extreme3 | <!--Chipset-->AMD 890FX + AMD SB850 or SB950 (Extreme3) | <!--ACPI--> | <!--IDE-->{{Yes}} | <!--SATA-->{{Yes}} | <!--Gfx-->{{N/A}} | <!--Audio-->{{Maybe|ALC892}} | <!--USB-->{{Yes}} | <!--Ethernet-->{{Yes|RTL8111E rtl8169}} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus M5A97 R2.0 EVO | <!--Chipset-->AMD 970 and SB950 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->Asmedia SATA Controller | <!--Gfx-->n/a | <!--Audio-->HDAudio with Realtek ALC887 (LE), ALC887 (Regular), ALC892 (EVO) codec | <!--USB-->4 USB 2.0 and 2 Asmedia USB3.0 Controller | <!--Ethernet-->Realtek 8111F | <!--Opinion--> |- | <!--Name-->Gigabyte GA-970A-D3 | <!--Chipset-->AMD 970 with SB950 | <!--ACPI--> | <!--IDE-->{{Yes| }} | <!--SATA-->{{Yes|IDE mode}} | <!--Gfx-->pci-e | <!--Audio--> ALC??? (rev. 1.0/1.1), ALC887 (rev1.2), VIA VT2021 codec (rev 1.3 1.4 and rev3.0) | <!--USB-->{{yes|AMD USB2 but not Etron EJ168 chip (USB3)}} | <!--Ethernet-->Realtek GbE 8111E (all revisions), | <!--Opinion-->2015 64bit - ATX Form Factor 30.5cm x 22.4cm - 4 x 1.5V DDR3 DIMM sockets - |- | <!--Name-->MSI 970 Gaming | <!--Chipset-->970FX SB950 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->Realtek® ALC1150 Codec | <!--USB-->6 usb2 with 2 USB3 VIA VL806 Chipset | <!--Ethernet-->Killer E2205 Gigabit LAN | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus M5A99X EVO | <!--Chipset-->990X - RD980 with SB920 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->2 pci-e gen ? | <!--Audio-->HDAudio with ALC892 codec | <!--USB--> | <!--Ethernet-->rtl8169 realtek 8111e | <!--Opinion-->2012 64bit - |- | <!--Name-->Gigabyte GA-990XA-UD3 | <!--Chipset-->AMD 990 with SB950 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes| }} | <!--Gfx--> | <!--Audio-->ALC889 (rev 1.x, 3.0, 3.1), | <!--USB-->{{yes|AMD USB2 not 2 x Etron EJ168 chips for USB3}} | <!--Ethernet-->realtek rtl8169 8111e | <!--Opinion-->2012 64bit - ATX Form Factor; 30.5cm x 24.4cm - 4 ddr3 slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====AMD Fusion (2011/14)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | 1.2GHz single Bobcat Fusion C30 + Hudson M1 | ACPI | IDE | SATA | AMD 6250 | Audio | USB | Ethernet | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | Asus E35M1-M PRO uATX | 1.6GHz 18W AMD Fusion E-350 dual core + Hudson M1 | ACPI | {{N/A}} | SATA | AMD 6310 - no HD driver yet | ALC887 VD2 | USB | RTL8111E | 2011 64bit does not support AVX or SSE 4.1 - EFI bios [http://www.anandtech.com/show/4023/the-brazos-performance-preview-amd-e350-benchmarked] |- | Asus E35M1-I Deluxe miniITX | 1.6GHz dual AMD Fusion E350 + Hudson M1 + DDR3 | ACPI | {{N/A}} | SATA | AMD 6310 - no HD driver yet | ALC892 | USB | Realtek 8111E | 2011 64bit does not support AVX or SSE 4.1 - no support for Atheros AR5008 on a Mini PCI-E |- | ASRock E350M1 / USB3 (also version with USB3.0 added) | 1.6GHz dual AMD Fusion E350 + Hudson M1 | ACPI | {{N/A}} | SATA - 4 SATA3 | {{Maybe|AMD 6310 - use vesa with hdmi and dvi}} | {{Yes|Audio ALC892 playback but no HDMI output}} | USB - 4 USB2.0 and 2 USB3.0 | {{Yes|rtl8169 for Realtek 8111E 8411 ethernet chipset}} | 2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->Gigabyte GA-E350N-USB3 mini-ITX | <!--Chipset--> Hudson M1 FCH | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 SATA3 | <!--Gfx--> plus HDMI, DVI | <!--Audio-->ALC892 | <!--USB-->2 NEC USB3.0 with 4 USB2.0 | <!--Ethernet-->Realtek 8111E | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->Gigabyte GA-E350N Win8 V1.0 | <!--Chipset-->Hudson M1 FCH A45 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 SATA3 | <!--Gfx-->{{maybe|Use VESA - AMD 6310 plus HDMI, DVI}} | <!--Audio-->{{yes|ALC887 playback through headphones but not thru hdmi}} | <!--USB-->{{maybe|4 USB2.0 needs more testing}} | <!--Ethernet-->{{yes|Realtek 8111 8168B}} | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - works well but need to test with sata hard disk |- | <!--Name-->MSI E350IA-E45 | <!--Chipset-->e-350 + Hudson M1 + DDR3 | <!--ACPI-->no support | <!--IDE-->{{N/A}} | <!--SATA-->4 Sata3 ports | <!--Gfx-->AMD 6310 gpu | <!--Audio-->ALC HDA | <!--USB-->6 USB2.0 and 2 USB3.0 through NEC 720200 chipset | <!--Ethernet-->Realtek RTL8111E | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->ASUS E45M1-M PRO | <!--Chipset-->E450 APU with Hudson M1 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->ALC887 | <!--USB--> | <!--Ethernet-->Realtek | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name-->ASUS E45M1-I Deluxe | <!--Chipset-->E-450 together | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->ALC892 | <!--USB--> | <!--Ethernet-->Realtek 8111E | <!--Opinion-->2011 64bit does not support AVX or SSE 4.1 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket FM1 (2011/13)===== On board Graphic on CPU - HD6410D, HD6530D, HD6550D, {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->ASUS F1A55-M LE | <!--Chipset--> with AMD A55 FCH (Hudson D2) | <!--ACPI--> | <!--IDE--> | <!--SATA-->6 x SATA 3Gbit/s port(s), blue Support Raid 0, 1, 10, JBOD | <!--Gfx-->PCI-e 2.0 slot or Integrated AMD Radeon™ HD 6000 in Llano APU | <!--Audio-->Realtek® ALC887 Audio CODEC | <!--USB-->6 USB2.0 ports | <!--Ethernet-->Realtek 8111E rtl8169 | <!--Opinion-->2012 2011 64bit does not support AVX or SSE 4.1 - A-Series/E2- Series APUs up to 4 cores - 2 x DIMM, Max. 32GB, DDR3 2250(O.C.)/1866/1600/1333/1066 MHz Non-ECC, Un-buffered Memory Dual Channel Memory Architecture - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket FM2 White Socket (2012/13)===== Onboard Gfx on CPU - HD6570, HD7480D, HD7540D, {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset-->A75 A85X | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2012 64bit does not support AVX or SSE 4.1 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket FM2 Plus Black socket (2013/15)===== Onboard Gfx on CPU - HD6570, HD7480D, HD7540D, {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset-->A88X | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket AM1 FS1b socket (2014/1x)===== 5350 4 core Jaguar cores 2GHz with Integrated AMD Radeon R Series Graphics in the APU Kabini [Radeon HD 8400] Later Beema APU with 2/4 core Puma (slightly updated Jaguar) cores, GCN graphics and a compute capable Radeon core, along with a brand new AMD security processor and FT3 BGA packaging (probably best avoided for long term survival). {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->ASUS AM1I-A | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->HD Audio Realtek® ALC887-VD | <!--USB--> | <!--Ethernet-->Realtek 8111GR 8168 | <!--Opinion-->2011 64bit may support AVX or SSE 4.1 - |- | <!--Name-->MSI AM1I | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->HD Audio ALC887 | <!--USB--> | <!--Ethernet-->Realtek 8111G | <!--Opinion--> |- | <!--Name-->MSI AM1M | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->HD Audio ALC887 | <!--USB--> | <!--Ethernet-->Realtek 8111G | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->BGA FT3 AM1x |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket AM4 FM3 Summit Ridge Zen Zen+ (2016/22)===== Jim Keller’s group designed x86 Zen CPU - new and covering the same AM4 platform/socket for desktop Zen will also shift from Bulldozer’s Clustered Multithreading (CMT) to Simultaneous Multithreading (SMT, aka Intel’s Hyperthreading). CMT is the basis for Bulldozer’s unusual combination of multiple integer cores sharing a single FPU within a module, so the move to SMT is a more “traditional” design for improving resource usage Trusted Platform Module, or fTPM, that Windows 11 requires. Ryzen processors using a firmware TPM are causing stutters, even when doing mundane tasks. To enable TPM 2.0 on your AMD system please follow the steps below. <pre> Power on system and press DEL or F2 to get into the BIOS. Navigate to Advanced\CPU Configuration. Enable AMD fTPM switch. Press F10 to save changes. </pre> {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Asus ROG Crosshair VI Hero | <!--Chipset-->X370 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e 3.0 (1x16 or 2x8) | <!--Audio-->SupremeFX audio features an S1220 codec | <!--USB--> | <!--Ethernet-->Intel I211 | <!--Opinion-->Ryzen 7 1800X 1700X |- | <!--Name-->Biostar X370gtn Itx Am4 | <!--Chipset-->AMD X370 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio-->HDAudio with ALC892 | <!--USB--> | <!--Ethernet-->Realtek Dragon LAN RTL8118AS | <!--Opinion--> 2 ddr4 slots |- | <!--Name-->Gigabyte GA-AX370 K7 | <!--Chipset--> X370 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio-->HDAudio with 2 x Realtek® ALC1220 codec 0x10EC, 0x0295 | <!--USB--> | <!--Ethernet-->1 intel and 1 E2500 | <!--Opinion--> 4 ddr4 slots |- | <!--Name-->MSI Xpower Gaming Titanium | <!--Chipset--> X370 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio-->8-channel Realtek 1220 Codec 0x10EC, 0x0295 | <!--USB-->ASMedia® ASM2142 and amd cpu | <!--Ethernet-->1 x Intel® I211AT Gigabit LAN | <!--Opinion--> 2 ddr4 slots |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus Prime B350 Plus ATX | <!--Chipset-->B350 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> x PCIe 3.0/2.0 x16 (x16 mode) | <!--Audio-->Realtek® ALC887 8-Channel | <!--USB--> | <!--Ethernet-->Realtek® RTL8111H | <!--Opinion-->Ryzen 5 1600x 1600 1500X 1400 - 4 x DIMM Max 64GB, DDR4 up to 2666MHz ECC and non-ECC Memory - ATX 12 inch x 9.35 inch ( 30.5 cm x 23.7 cm ) - 2 pci |- | <!--Name-->Asus PRIME B350M-A/CSM Micro ATX | <!--Chipset-->AMD B350 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio-->HDaudio with | <!--USB--> | <!--Ethernet-->Realtek LAN | <!--Opinion-->Ryzen 3 1300x 1200 1100 |- | <!--Name-->AsRock Pro4 AB350 | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->2 PCIe 3.0 x16, 4 PCIe 2.0 x1 | <!--Audio-->Realtek ALC892 | <!--USB--> | <!--Ethernet-->Realtek | <!--Opinion-->2017 64bit - |- | <!--Name-->ASRock AB350 Gaming-ITX/ac | <!--Chipset--> B350 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio--> | <!--USB--> | <!--Ethernet-->Intel LAN | <!--Opinion--> |- | <!--Name-->MSI B350 Tomahawk Arctic Mortar | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->1 x PCIe 3.0 x16 (x16 mode) | <!--Audio-->Realtek ALC892 | <!--USB--> | <!--Ethernet-->Realtek RTL8111H | <!--Opinion-->white and grey colours - 2 pci-e and 2 pci slots - m.2 in middle - atx 12 in by 9.6 in and matx versions - |- | <!--Name-->Jginyue M-ATX B350M-TI | <!--Chipset-->B350 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Jginyue B350I-Plus ITX | <!--Chipset-->B350 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->ASRock A320M-ITX MINI ITX Rev1.0 Rev2 Rev2.1 | <!--Chipset-->A320 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2018 |- | <!--Name-->Asus PRIME A320M-C R2.0 rev1.1 A320M-K | <!--Chipset-->A320 A/B300 SFF | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->PCIe 3.0 | <!--Audio-->HD audio with Realtek ALC887 alc897 CODEC | <!--USB-->2 usb 3.1 gen 1 | <!--Ethernet-->Realtek 8111E | <!--Opinion-->2019 64bit - 3rd/2nd/1st Gen AMD Ryzen™ / 2nd and 1st Gen AMD Ryzen™ with Radeon™ Vega |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI A320M-A PRO MicroATX | <!--Chipset-->AMD A320 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->pci-e 3.0 | <!--Audio-->HDAudio Realtek® ALC892 | <!--USB-->USB3 | <!--Ethernet-->Realtek® 8111H | <!--Opinion-->2019 64bit - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus ROG X399 Zenith Extreme | <!--Chipset-->AMD X399 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio--> supremefx s1220 | <!--USB--> | <!--Ethernet-->intel | <!--Opinion-->Threadripper 1950X 1920X 1900X TR4 skt |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->AsRock Fatality X470 Gaming K4 mATX | <!--Chipset-->X470 | <!--ACPI--> | <!--IDE--> | <!--SATA-->nvme | <!--Gfx-->pci-e rebar possible | <!--Audio--> | <!--USB--> | <!--Ethernet-->intel | <!--Opinion--> |- | <!--Name-->Asrock Fatal1ty X470 Gaming-ITXac AMD AM4 | <!--Chipset-->AMD X470 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet-->intel | <!--Comments--> |- | <!--Name-->ASUS ROG STRIX X470-I GAMING AM4 ITX Motherboard | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus B450-I Gaming | <!--Chipset-->AMD B450 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->high VRM temps - raven ridge 14nm+ like 2200G 2400G |- | <!--Name-->AsRock B450 Gaming K4 | <!--Chipset-->B450 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> alc892 | <!--USB--> | <!--Ethernet--> | <!--Opinion--> 4 ddr4 slots - low VRM thermals 3900x 3950x |- | <!--Name-->Gigabyte B450 I Aorus Pro Wifi | <!--Chipset-->AMD B450 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->1 nvme pcie3 with 4 sata | <!--Gfx-->pcie | <!--Audio-->HDAudio with Realtek® ALC1220-VB codec | <!--USB--> | <!--Ethernet-->Intel LAN | <!--Opinion-->very high vrm temps |- | <!--Name-->Jginyue B450i Gaming ITX | <!--Chipset-->B450 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata3 - none nvme | <!--Gfx-->pcie3 | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet-->1G | <!--Opinion-->2021 64 2nd 3rd AMD - 2 ddr4 dimm slots |- | <!--Name-->MSI b450 tomahawk max | <!--Chipset--> b450 | <!--ACPI--> | <!--IDE-->{{n/A}} | <!--SATA--> | <!--Gfx-->PCIe 3.0 | <!--Audio-->HD audio with Realtek® ALC892 Codec | <!--USB--> | <!--Ethernet-->Realtek 8111H | <!--Opinion--> |- | <!--Name-->MSI B450 Pro Carbon | <!--Chipset-->B450 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> ALC codec | <!--USB--> | <!--Ethernet-->Intel LAN | <!--Opinion--> |- | <!--Name-->MSI B450-A PRO | <!--Chipset-->B450 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->ALC892 | <!--USB--> | <!--Ethernet-->rtl8169 8111h | <!--Opinion--> |- | <!--Name-->MSI B450I GAMING Plus AC ITX | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2019 - 2nd and 3rd gen AMD - 2 ddr4 slots - |- | <!--Name-->MSI B450 GAMING PLUS MAX | <!--Chipset-->B450 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->HDAudio with Realtek® ALC892/ALC897 Codec | <!--USB-->USB3 | <!--Ethernet-->rtl8169 8111H | <!--Opinion--> |- | <!--Name-->MAXSUN AMD Challenger B450M M-ATX (aka Soyo) | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->ASRock X570 PHANTOM GAMING-ITX/TB3 Mini ITX AM4 | <!--Chipset-->X570 | <!--ACPI--> | <!--IDE--> | <!--SATA-->nvme | <!--Gfx-->PCIe 4.0 | <!--Audio--> ALC1200 | <!--USB--> | <!--Ethernet-->Intel LAN | <!--Comments--> |- | <!--Name-->Asus ROG Crosshair VIII Dark Hero | <!--Chipset-->AMD X570 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> SupremeFX7.1 codec | <!--USB--> | <!--Ethernet-->Intel® I211-AT and Realtek® RTL8125-CG 2.5G LAN | <!--Opinion--> |- | <!--Name-->Asus ROG Strix X570-I Gaming Mini ITX AM4 Motherboard | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI MPG X570 Gaming Plus | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> alc1220 codec | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus ROG Strix B550-i AM4 ITX Motherboard | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2022 - |- | <!--Name-->Jginyue Jingyue B550i Gaming itx | <!--Chipset-->B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->3 with 1 nvme | <!--Gfx-->1 pci-e 4 | <!--Audio-->HDAudio alc | <!--USB--> | <!--Ethernet-->1G | <!--Comments-->2022 64bit max of Ryzen 5500 (c t), 5600, 5600g (6c12t) - 2 ddr4 |- | <!--Name-->Asrock B550 PHANTOM GAMING ITX/AX | <!--Chipset-->AMD B550 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> alc1220 | <!--USB--> | <!--Ethernet-->intel 2.5G | <!--Comments--> |- | <!--Name-->AsRock B550M-ITX/ac | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> Realtek ALC887/897 Audio Codec | <!--USB--> | <!--Ethernet-->Realtek Gigabit LAN | <!--Opinion-->2022 - 2 ddr4 slots |- | <!--Name-->Asus ROG STRIX B550-A GAMING | <!--Chipset-->B550 | <!--ACPI--> | <!--IDE--> | <!--SATA-->PCIe Gen4 x4 & SATA3 | <!--Gfx-->pci-e 4 | <!--Audio--> supremefx S1220A | <!--USB--> | <!--Ethernet-->Intel® I225-V 2.5Gb | <!--Opinion--> |- | <!--Name-->Gigabyte AMD B550I AORUS PRO AX Mini-ITX rev 1.0 | <!--Chipset-->AMD B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 nvme pci-e3 with 4 sata3 | <!--Gfx-->pci-e | <!--Audio-->Realtek® ALC1220-VB codec | <!--USB--> | <!--Ethernet-->Realtek® 2.5GbE LAN | <!--Opinion-->2021 2 x DDR4 DIMM sockets 1Rx8/2Rx8/1Rx16 - |- | <!--Name-->Gigabyte B550 AORUS ELITE AX V2 ATX | <!--Chipset-->B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->PCI-e 4.0 DP and hdmi | <!--Audio-->HDAudio ALC1200 | <!--USB-->USB3 USB 3.2 Gen1 Type-C | <!--Ethernet-->2.5GbE LAN | <!--Opinion-->2022 64bit- finer tuning than A520's - AMD Ryzen 5000 Series/ 3rd Gen Ryzen and 3rd Gen Ryzen with Radeon Graphics CPU - Dual Channel ECC/ Non-ECC Unbuffered DDR4, 4 DIMMs - |- | <!--Name-->Gigabyte B550M DS3H mATX | <!--Chipset--> B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 NVMe | <!--Gfx-->PCI-e 4.0 | <!--Audio-->HDaudio ALC887 | <!--USB-->USB3 | <!--Ethernet-->realtek rtl8118 | <!--Opinion-->2021 64bit - 4 ddr4 dimms - |- | <!--Name-->MSI MPG B550 GAMING PLUS ATX | <!--Chipset--> B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->PCI-e 4.0 | <!--Audio-->HDAudio ALC892 | <!--USB-->USB 3 | <!--Ethernet-->rtl8169 Realtek 8111H | <!--Opinion-->2022 64bit - 3rd Gen AMD Ryzen Processors - 4 dimm ddr4 - |- | <!--Name-->MSI MAG B550 TOMAHAWK ATX | <!--Chipset--> B550 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (up to Type 22110) and 1 x M.2, Socket 3, M Key (Type 2242/2260/2280) | <!--Gfx-->PCI-e 4.0 with dp and hdmi | <!--Audio-->HDaudio ALC1200 | <!--USB-->USB3 1 x USB 3.1 Type-C and 1 x USB 3.1 Type-A | <!--Ethernet-->Realtek RTL8125B and Realtek RTL8111H | <!--Opinion-->2022 64bit - 4 Dimm slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Jginyue A520M-H mATX | <!--Chipset-->A520 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> old bios with random issues with APU ryzens - |- | <!--Name-->Gigabyte A520M S2H mATX | <!--Chipset-->AMD A520 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet-->Realtek 1GbE | <!--Opinion-->2022 64bit Zen3 65W and up - 2 ddr4 - |- | <!--Name-->Gigabyte A520I AC mITX mini-itx | <!--Chipset-->AMD A520 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2022 64bit Zen3 65W and up 5600G (6c12t) or 5700G (8c16t) - 2 ddr4 dimm slots - |- | <!--Name-->MSI A520M-A PRO mATX | <!--Chipset-->A520 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe 1 x M.2, Socket 3, M Key (Type 2242/2260/2280) | <!--Gfx-->PCI-e 3.0 | <!--Audio-->HDAudio ALC892 | <!--USB-->USB3 | <!--Ethernet-->rtl8169 rtl8111H | <!--Opinion-->2022 64bit - 2 ddr4 dimm slots - 3rd Gen AMD Ryzen Desktop and AMD Ryzen 4000 G-Series CPU |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} ===== (Socket AM5 LGA1718 Zen4 Zen5 Zen6 2022/27)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Asrock Steel Legend | <!--Chipset-->x670e | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->PCI-e rnda2 | <!--Audio-->HD audio | <!--USB-->USB3 | <!--Ethernet--> | <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips) 64Gb @ 6000Mhz or 128GB @ 4800Mhz - |- | <!--Name-->Asrock TaiChi | <!--Chipset-->x670e | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->PCI-e rnda2 | <!--Audio-->HD Audio | <!--USB-->USB4 with Thunderbolt 4 equivalent | <!--Ethernet-->{{No|Realtek killer E3000 2.5GbE}} | <!--Opinion-->2022 64bit - ddr5 ecc (10 chip) and non-ecc (8 chips) |- | <!--Name-->Asus ROG Crosshair Hero | <!--Chipset-->x670e | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe rnda2 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2022 64bit |- | <!--Name--> | <!--Chipset-->x670e | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->rnda3 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2022 64bit 7950x3d 120W, 7900 7800 7600 90W |- | <!--Name--> | <!--Chipset-->x670e | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->rnda3 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2022 64bit |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus B650E-I | <!--Chipset-->B650 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->pci-e 5 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2023 - better sound with an actual AMP, PCIe 5, USB-C display outs - |- | <!--Name--> | <!--Chipset-->x650 B650 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->x650 B650 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->x650 B650 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MAXSUN AMD Challenger B650M WIFI M-ATX (aka Soyo) | <!--Chipset-->B650 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI b650i mini itx | <!--Chipset-->B650 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->NVMe | <!--Gfx-->pci-e 4 | <!--Audio--> | <!--USB--> | <!--Ethernet-->Realtek | <!--Opinion-->2023 - front panel connectors at the back of the board - dead rear nvme slot and a drained CMOS battery as the CMOS button being pressed during shipping - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset-->A620M Zen4 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->A620M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->A620M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->A620M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> Zen5 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> Zen6 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP8 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU - |- | <!--Name--> || <!--Chipset--> || <!--ACPI--> || <!--IDE--> || <!--SATA--> || <!--Gfx--> || <!--Audio--> || <!--USB--> || <!--Ethernet--> || <!--Opinion-->2026 FP10 Zen 6 Medusa Point 4bigC, 4 econC, 2lpC, 8coreGPU - |- |} ===== (Zen7 AM6 2027/3x)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} ===== (Zen AM 203x/3x)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} ====Intel Sockets==== [[#top|...to the top]] =====Socket 370 (2000/2)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Intel D815EEA | <!--Chipset-->866Mhz P3 and i815 chipset | <!--ACPI--> | <!--IDE-->{{Yes}} | <!--SATA-->{{N/A}} | <!--Gfx-->{{Yes|Nvidia AGPx8 6200LE added}} | <!--Audio-->{{N/A}} | <!--USB-->{{Yes|2 USB1.1}} | <!--Ethernet-->{{N/A}} | <!--Opinion-->Tested AspireOS 1.7, simple basic board with useful 5 PCI slots |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} =====Socket 478 (2002/4)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->[http://translate.google.co.uk/translate?hl=en&sl=zh-CN&u=http://detail.zol.com.cn/motherboard/index46381.shtml&prev=/search%3Fq%3Dc.865pe.l%2Bmotherboard%26client%3Dfirefox-a%26hs%3DsZB%26rls%3Dorg.mozilla:en-US:official Colorful Technology C.865PE-L Silver Fighter Warrior V2.3] | <!--Chipset-->865PE | <!--ACPI-->{{dunno| }} | <!--IDE-->{{Yes|tested with CDROM}} | <!--SATA-->{{dunno| }} | <!--Gfx-->{{Maybe|AGP slot}} | <!--Audio-->{{Yes|ALC650 AC97}} | <!--USB-->{{Yes|USB 1.1 and 2.0}} | <!--Ethernet-->{{Yes|RTL 8100 8139}} | <!--Opinion-->Still testing with NB (Nightly Build) May 2013 |- | <!--Name-->Intel 845 | <!--Chipset-->865P | <!--ACPI--> | <!--IDE-->{{Yes}} | <!--SATA--> | <!--Gfx-->{{No|intel 800}} | <!--Audio-->{{No|AC97 AD1985}} | <!--USB-->{{Yes|USB1.1 and USB2.0}} | <!--Ethernet-->{{No|e1000}} | <!--Opinion-->Tested ICAROS 1.3 |- | <!--Name-->Intel 845 | <!--Chipset-->865GC | <!--ACPI--> | <!--IDE-->{{Yes}} | <!--SATA--> | <!--Gfx-->{{No|intel 865 Extreme Graphics 2}} | <!--Audio-->{{No|AC97 AD1985}} | <!--USB-->{{Yes|USB1.1 and USB2.0}} | <!--Ethernet-->{{No|e1000}} | <!--Opinion-->Tested ICAROS 1.3 |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA775 s775 (2005/8)===== an industry standard DDR2 module could in theory contain fallback JEDEC, intel XMP and AMD EPP configuration data Intel PC CL5 ram modules but an "AMD" CL5 ram module the BIOS cannot read the AMD EPP info on the SPD (Serial Presence Detect) but can recognize the CL5 timing info in the JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally. an AMD PC CL6 ram modules but an "INTEL" CL6 ram module the BIOS cannot read the INTEL XMP info on the SPD but can recognize the CL6 timing info in JEDEC data table. PC BIOS auto configures for the AMD ram module and boots normally. an INTEL PC needs CL6 ram modules but have an "AMD" CL4 ram module. INTEL BIOS cannot read the AMD EPP info on the SPD but can recognize the CL4 timing info in JEDEC data table. PC BIOS recognizes module timings as incompatible an refuses to boot. entirely separate issue if the RAM module timing specs are incompatible.(i.e. CL4 RAM in a "CL6 only" PC) {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Abit AG8 | <!--Chipset-->P915 + ICH6R | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 ports SATA1 | <!--Gfx-->1 PCIe x16 Slot | <!--Audio-->Realtek ALC658 AC97 | <!--USB-->4 USB2.0 | <!--Ethernet-->Realtek 8110S-32 | <!--Opinion-->2004 32bit - Firewire TI 4200R7T no |- | <!--Name-->MSI 915 Neo2 | <!--Chipset-->P915 + ICH6R | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 ports SATA1 | <!--Gfx-->1 PCIe x16 Slot | <!--Audio-->CMI 9880L HD Audio | <!--USB-->4 USB2.0 | <!--Ethernet-->{{no|Broadcomm BCM5751 PCIe}} | <!--Opinion-->Firewire VIA VT6306 no |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus P5GC P5GC-MX | <!--Chipset-->P945GC Lakeport-GC + ICH7R northbridge | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 SATA1 3.0 Gbit/s ports | <!--Gfx-->1 PCIe 1.1 slot | <!--Audio-->HD Audio with ALC662 codec | <!--USB-->{{yes|2 usb2.0}} | <!--Ethernet-->{{no|atheros L2}} | <!--Opinion-->2005 32bit - 3 pci slots - 4 x 240-pin DIMM Sockets max. 4GB DDR2 667/533 non-ECC - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Foxconn PC45CM-SA 45CM-S | <!--Chipset-->945GC with ICH7 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 sata2 ports | <!--Gfx-->{{Yes|pcie 1.0 slot with gma950 integrated}} | <!--Audio-->{{Yes|HD audio with aLC883 codec playback}} | <!--USB-->{{Yes|}} | <!--Ethernet-->{{Yes|realtek 8139 8100sc}} | <!--Opinion-->2 dimm slots 667mhz max 4gb - can be found in Advent desktops - 2 pci-e and 2 pci - core 2 duo only e6xxx - Micro ATX (9.6” x 8.8”) - |- | <!--Name-->Gigabyte GA-81945GM MFY-RH | <!--Chipset-->Intel® 945GM Express with ICH7M-DH | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{Yes|GMA950 VGA15 and PCI-e 1.0 slot}} | <!--Audio-->{{Yes|HD Audio with ALC880 codec playback only rear port}} | <!--USB-->{{Yes|4 usb 2.0}} | <!--Ethernet-->{{No|Intel PRO1000PL 82573L Gigabit Ethernet}} | <!--Opinion-->2006 MoDT term “Mobile on DeskTop.”, low TDP CPUs to work on desktop form-factor motherboards. mATX Micro ATX 24.4cm x 24.4cm - 2 DDR2 dimm 1.8v slots with 4Gb max - will not boot if PCI2 slot occupied - |- | <!--Name-->Gigabyte GA-945 GCM S2C | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->{{yes|ALC662 (1.x)}} | <!--USB--> | <!--Ethernet-->{{yes|8101E Rtl 8169 (1.x)}} | <!--Opinion--> |- | <!--Name-->Gigabyte GA945-GCM S2L | <!--Chipset-->945GC with ICH7 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 SATA1 ports | <!--Gfx-->PCi-E slot | <!--Audio-->{{Maybe|Intel HD Audio with ALC662 codec 2/4/5.1-channel (1.x)}} | <!--USB-->{{Yes|4 USB2.0}} | <!--Ethernet-->{{Yes|Realtek 8111c 8169 (1.x)}} | <!--Opinion-->2 x 1.8V DDR2 DIMM 4GB DDR2 memory max - 2 PCI-e and 2 PCI - Micro ATX form factor; 24.4cm x 19.3cm - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI 945P Neo-F rev 1.0 | <!--Chipset-->P945 + ICH7 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 SATA1 ports | <!--Gfx-->PCie 1.0 slot | <!--Audio-->ALC662 HDA | <!--USB-->4 USB2.0 | <!--Ethernet-->8110SC (rtl8169) | <!--Opinion--> |- | <!--Name-->MSI 945P Neo2-F rev 1.2 | <!--Chipset-->P945 + ICH7 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 SATA1 ports | <!--Gfx-->PCie 1.0 slot | <!--Audio-->ALC850 AC97 | <!--USB-->4 USB2.0 | <!--Ethernet-->8110SC (rtl8169) | <!--Opinion--> |- | <!--Name-->Gigabyte GA-P31-DS3L | <!--Chipset-->P31 with ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCI Express x16 | <!--Audio-->HD Audio with ALC888 codec | <!--USB-->4 USB 2.0 | <!--Ethernet-->Realtek 8111B | <!--Opinion-->DDR2 800Mhz up to 4Gb 4 x 240 pin - 3 PCI - ATX 12.0" x 8.3" - |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus P5KPL-AM /PS | <!--Chipset-->G31 with ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA-->4 xSATA 3 Gbit/s ports | <!--Gfx-->PCIe 1.1 with integrated Intel® GMA 3100 | <!--Audio-->HD Audio with VIA VT1708B with ALC662 codec | <!--USB--> | <!--Ethernet-->Realtek RTL8102EL 100/10 LAN with Realtek RTL8111C Gigabit LAN | <!--Opinion-->2 x 2 GB DDR2 Non-ECC,Un-buffered DIMMs with 2 PCI - Intel Graphics Media Accelerator - |- | <!--Name-->Asus P5KPL/EPU | <!--Chipset-->G31 with ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->Pci-e 1.0 slot | <!--Audio-->{{Yes|HD audio with ALC887 codec}} | <!--USB--> | <!--Ethernet-->{{Yes|RTL8169 Realtek 8111C}} | <!--Opinion-->Tested - 4 240-pin DIMM, Max. 4 GB - 4 pci-e and 3 pci - ATX Form Factor 12 inch x 8.2 inch ( 30.5 cm x 20.8 cm ) - |- | <!--Name-->Gigabyte GA-G31M ES2L | <!--Chipset-->G31 plus ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{Yes|Intel GMA 3100 2d}} | <!--Audio-->{{Maybe|ALC883 (1.x), ALC883/888B (2.x)}} | <!--USB--> | <!--Ethernet-->{{Maybe|RTL8111C (1.x), Atheros 8131 (2.x)}} | <!--Opinion-->reduces DRAM capacity to 4GB |- | <!--Name-->ASRock G31M-S r1.0 G31M-GS | <!--Chipset-->G31 + ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{maybe|4 sata2}} | <!--Gfx-->{{maybe|GMA 3100 2d not 3d}} | <!--Audio-->{{yes|ALC662}} | <!--USB-->{{yes|4 USB2.0}} | <!--Ethernet-->{{partial|rtl8169 RTL8111DL 8169 (for -GS) RTL8102EL (for -S)}} | <!--Opinion-->2007 64bit Core2 - 2 DDR2 800 max 8Gig AMI bios MicroATX - |- | <!--Name-->ASRock G31M-S r2.0 | <!--Chipset-->G31 + ICH7 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{maybe|4 sata2}} | <!--Gfx-->{{maybe|GMA 3100 2d not 3d}} | <!--Audio-->{{yes|ALC662}} | <!--USB-->{{yes|4 USB2.0}} | <!--Ethernet-->{{yes|RTL 8111DL 8169}} | <!--Opinion-->2008 64bit core2 - 2 DDR2 800 max 8Gig MicroATX |- | <!--Name-->[http://www.intel.com/cd/channel/reseller/apac/eng/products/desktop/bdb/dg31pr/feature/index.htm Intel DG31PR] | <!--Chipset-->iG31 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->{{maybe|3100 but can use PCIe 1.1 slot}} | <!--Audio-->{{yes|ALC888 playback}} | <!--USB--> | <!--Ethernet-->{{yes|RTL8111B Rtl 8169}} | <!--Opinion-->good support |- | <!--Name--> | <!--Chipset-->Intel G33 Express Chipset with ich9 southbridge | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->Intel 3100 powervr tile based | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2008 64bit - embedded on Core 2 Quad, Core 2 Duo, Pentium Dual-Core CPUS with Integrated GPU Intel GMA 3100 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->ASUS P5G41T-M LX | <!--Chipset-->G41 + ICH8 + DDR3 | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->{{maybe}} | <!--Gfx-->{{yes|X4500 some 2d only)}} | <!--Audio-->ALC887 | <!--USB-->3 USB2.0 | <!--Ethernet-->{{no|Atheros L1c AR8131}} | <!--Opinion-->reduces maximum supported memory ddr3 from 16 to 8GB 2 dimm slots non-EEC - demotes the PCIe controller mode from revision 2.0 (5.0GT/s) to revision 1.1 (2.5GT/s |- | <!--Name-->Gigabyte GA-G41MT S2 | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->VT1708S (1.3), ALC887-VD2 (1.4), ALC887 (2.1), | <!--USB--> | <!--Ethernet-->Atheros AR8151 l1c (1.x 2.x), | <!--Opinion--> |- | <!--Name-->Gigabyte GA-G41MT S2PT | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->ALC887 (1.0), VIA (2.0), ALC887 (2.1) | <!--USB--> | <!--Ethernet-->RTL8111E (1.x), Atheros AR8151 l1c (2.1), | <!--Opinion--> |- | <!--Name-->Gigabyte GA-G41MT D3 | <!--Chipset-->G41 + ICH7 | <!--ACPI--> | <!--IDE-->1 Port | <!--SATA-->4 Ports | <!--Gfx-->{{yes|GMA X4500 2d only and pci-e 1.1 slot}} | <!--Audio-->{{yes|ALC888B}} | <!--USB-->4 ports + headers | <!--Ethernet-->{{yes|RTL8111 D/E}} | <!--Opinion--> |- | <!--Name-->Gigabyte GA-P41T D3P | <!--Chipset-->G41 + ICH7 with Intel Core 2 Duo (E6xxx) CPU | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4ports | <!--Gfx-->GMA X4500 2d | <!--Audio-->ALC888 889/892 | <!--USB-->4 ports | <!--Ethernet-->RTL 8111C or D/E | <!--Opinion--> |- | <!--Name-->Intel DG41AN Classic | <!--Chipset-->iG41 + | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 ports | <!--Gfx-->X4500 2d | <!--Audio-->ALC888S ALC888VC | <!--USB-->4 ports | <!--Ethernet-->8111E | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->AsRock P5B-DE | <!--Chipset-->P965 + ICH8 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{Maybe|works ide legacy}} |<!--Gfx-->{{Yes|with PCI-E 1.1 slot}} | <!--Audio-->{{Yes|HD Audio via VT1708S}} | <!--USB-->{{Yes}} | <!--Ethernet-->{{Yes|RTL8169}} | <!--Opinion-->2006 works well |- | <!--Name-->Asus P5B SE | <!--Chipset-->965 intel | <!--ACPI--> | <!--IDE-->{{Yes| }} | <!--SATA-->{{Yes| }} | <!--Gfx-->{{N/A}} | <!--Audio-->{{Yes|HD Audio ALC662 codec}} | <!--USB-->{{Yes}} | <!--Ethernet-->{{No| }} | <!--Opinion-->works well except ethernet |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus P5W DH Deluxe P5WDG2 WS PRO | <!--Chipset-->975X | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->2 ports | <!--Gfx-->2 PCIe x16 slots | <!--Audio-->ALC882 AND LATER ADI 1988B | <!--USB-->2 USB2.0 | <!--Ethernet-->{{No|Marvell 88E8052 88E8053}} | <!--Opinion-->Firewire TI TSB43AB22A no |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Abit IP35 | <!--Chipset-->P35 Express + ICH9R | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 ports | <!--Gfx--> | <!--Audio-->ALC888 HDA | <!--USB-->4 USB2.0 | <!--Ethernet-->two RTL8110SC | <!--Opinion-->Firewire Texas TSB43 AB22A no |- | <!--Name-->MSI P35 Neo F FL MS-7630 rev 1 | <!--Chipset-->Intel P35 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->pci-e 1.1 support | <!--Audio-->HD Audio ALC888 | <!--USB--> | <!--Ethernet-->Realtek | <!--Opinion-->Base model of this range of P35 mobos |- | <!--Name-->GA-P35-DS3 | <!--Chipset-->P35 and ICH9 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->4 ports | <!--Gfx--> | <!--Audio-->HDAudio with Realtek ALC889A codec | <!--USB--> | <!--Ethernet-->rtl8169 Realtek 8111B | <!--Opinion-->2008 - 4 x 1.8V DDR2 DIMM sockets max 8 GB - |- | <!--Name-->GA-EP35-DS3 (rev. 2.1) | <!--Chipset-->Intel® P35 + ICH9 Chipset | <!--ACPI--> | <!--IDE-->{{unk|}} | <!--SATA-->{{unk|4 }} | <!--Gfx-->pci-e | <!--Audio-->{{unk|Realtek ALC889A codec }} | <!--USB-->{{yes | }} | <!--Ethernet-->{{yes|rtl8169 Realtek 8111B}} | <!--Opinion-->good |- | <!--Name-->Abit IX38 Quad GT | <!--Chipset-->X38 / ICH9R Chipset | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 ports | <!--Gfx-->PCI-E 2.0 slot | <!--Audio--> HD Audio ALC888 | <!--USB-->4 USB2.0 | <!--Ethernet-->Realtek RTL 8110SC 8169SC | <!--Opinion-->Firewire Texas TSB 43AB22A no |- | <!--Name-->Gigabyte X38-DQ6 | <!--Chipset-->X38 / ICH9R Chipset | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 ports | <!--Gfx-->PCI-E 2.0 slot | <!--Audio-->ALC889A HDA | <!--USB-->4 USB2.0 | <!--Ethernet-->twin 8111B 8169 | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Gigabyte GA-EP45 DS3 (2008) | <!--Chipset-->P45 + ICH9 or ICH10 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 x SATA 3Gbit/s (SATAII0, SATAII1, SATAII2, SATAII3, SATAII4, SATAII5) | <!--Gfx-->two PCI-E v2.0 x16 slots support splitting its 16 PCIe 2.0 lanes across two cards at x8 transfers | <!--Audio-->HD Audio with ALC888 or ALC889A codec | <!--USB-->6 USB2.0 | <!--Ethernet-->2 x Realtek 8111C chips (10/100 /1000 Mbit) | <!--Opinion-->4 x 1.8V DDR2 DIMM sockets non-EEC |- | <!--Name-->MSI P45 Platinum (2008) | <!--Chipset-->P45 + ICH9 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 sata2 ports | <!--Gfx-->two PCI-E x16 v2.0 slots | <!--Audio-->ALC888 HD Audio | <!--USB-->6 USB2.0 | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->G45 + | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->adds Intel’s GMA X4500HD graphics engine to P45 Express features | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->G43 + | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->GMA X4500 2d | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->removes HD video acceleration from the G45’s features |- | <!--Name-->Asus P5E Deluxe | <!--Chipset--> X48 with ICH9 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->HD Audio with ADI 1988B codec | <!--USB--> | <!--Ethernet-->Marvell 88E8001 | <!--Opinion--> |- | <!--Name-->GigaByte GA-X48 DQ6 | <!--Chipset-->X48 plus ICH9R | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->8 ports | <!--Gfx-->two PCI-E x16 v2.0 slots | <!--Audio-->ALC889A | <!--USB-->8 USB2.0 | <!--Ethernet-->RTL 8111B 8169 | <!--Opinion-->Firewire TSB43AB23 no - ICH9 pairs with Intel’s 3-series (X38, P35, etc.) chipsets, in addition to the X48 Express, but excluding the G35 Express |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Gigabyte EP43-DS3L and Gigabyte GA-EP43-UD3L | <!--Chipset-->P43 with ICH10 | <!--ACPI--> | <!--IDE-->1 port | <!--SATA-->6 x SATA 3Gbit/s connectors | <!--Gfx-->1 x PCI Express x16 slot PCI Express 2.0 standard | <!--Audio-->HD Audio with ALC888 codec | <!--USB--> | <!--Ethernet-->realtek 8111C | <!--Opinion-->4 x 1.8V DDR2 DIMM sockets - 4 pcie x1 - 2 pci - ATX Form Factor; 30.5cm x 21.0cm |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Gigabyte 73-pvm-s2h rev.1.0 | <!--Chipset-->NVIDIA GeForce 7100 nForce 630i | <!--ACPI--> | <!--IDE-->{{Yes|1 port}} | <!--SATA-->{{yes|3 ports SATA2}} | <!--Gfx-->{{Maybe|Vesa 2d GeForce 7100 (vga /hdmi/dvi), 1 PCIe x16 Slot }} | <!--Audio-->{{Yes|Realtek ALC889A MCP73}} | <!--USB-->{{Yes|7 USB2.0}} | <!--Ethernet-->{{no|RTL 8211B MCP73}} | <!--Opinion-->Firewire Not, tested with Icaros Desktop 2.0.3 MCP73 is a single chip solution in three different versions |- | <!--Name-->Nvidia 7150 630i | <!--Chipset-->intel based nForce 630i (MCP73) | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->{{maybe|ide legacy}} | <!--GFX-->GF 7150 | <!--Audio-->{{yes|HD AUDIO ALC883}} | <!--USB-->{{yes|ohci echi}} | <!--Ethernet-->{{no|RTL8201C}} | <!--Opinion-->being tested |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->pci-e 2.0 x16 | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> the MCP73PV or the GeForce 7050/nForce 630i |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->the MCP73S or the GeForce7025/nForce 630i |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->the MCP73V or the GeForce 7025/nForce 610i |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Atom SOC (2008/2x)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->D945CLF | <!--Chipset-->N230 single core | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA--> | <!--Gfx-->{{yes|GMA945}} | <!--Audio-->{{yes|ALC662}} Skt 441 | <!--USB-->{{yes|uhci and ehci}} | <!--Ethernet-->{{yes|rtl8169}} | <!--Opinion-->works very well |- | <!--Name-->[http://www.clusteruk.com iMica D945GCKF2 mobo] | <!--Chipset-->Intel Atom N330 Dual Core | <!--ACPI-->wip | <!--IDE-->{{yes|IDE}} | <!--SATA-->{{maybe}} | <!--Gfx-->{{yes|gma}} | <!--Audio-->{{yes|HD AUDIO}} | <!--USB-->{{yes|uhci ehci}} | <!--Ethernet-->{{yes|rtl8169}} | <!--Opinion--> |- | <!--Name-->D945GSEJT + Morex T1610 | <!--Chipset-->Atom 230 with 945GSE | <!--ACPI--> | <!--IDE-->{{yes}} | <!--SATA-->{{maybe}} | <!--Gfx-->{{yes|GMA900 vga but issues with DVI output}} | <!--Audio-->{{yes|HDAudio with ALC662 codec}} | <!--USB-->{{yes| }} | <!--Ethernet-->{{yes|RTL8169 8111DL}} | <!--Opinion-->small size, runs off 12V |- | <!--Name-->ASUS AT3N7A-I | <!--Chipset-->Atom N330 Nvidia ION | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{maybe|3 ports legacy IDE}} | <!--Gfx-->{{yes|nouveau cube cube 2 45 quake 3 }} | <!--Audio-->{{yes|HD Audio with VIA 1708S codec playback}} | <!--USB-->{{yes}} | <!--Ethernet-->{{yes|RTL8169 device}} | <!--Opinion--><ref>http://www.youtube.com/watch?v=EAiJpvu73iw</ref> good but can freeze randomly at times |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->D410PT 45nm pinetrail | <!--Chipset-->D410 and NM10 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{maybe|ide legacy}} | <!--Gfx-->{{maybe|GMA3150}} | <!--Audio-->{{yes|ALC262 or ALC66x odd clicks}} | <!--USB-->{{yes}} | <!--Ethernet-->{{yes|RTL8111DL}} | <!--Opinion-->some support |- | <!--Name-->45nm pinetrail | <!--Chipset-->D510 and NM10 + GMA3150 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->GMA3150 | <!--Audio-->ALC888B or ALC66x | <!--USB-->{{yes}} | <!--Ethernet-->RTL8111DL | <!--Opinion-->some support |- | <!--Name-->Gigabyte GA-D525TUD (rev. 1.0 1.2 1.5) | <!--Chipset-->D525 NM10 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->gma 3150 | <!--Audio-->HDAudio ALC887 | <!--USB--> | <!--Ethernet-->rtl8169 rtl8111f | <!--Opinion-->2012 64 - 2 ddr3 dimm slots max 8g - Mini-ITX Form Factor; 17.0cm x 17.0cm - |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- |} =====Socket 1366 (2009/10)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Asus P6T DELUXE | <!--Chipset-->x58 + ICH10 and Intel 1st gen. (Nehalem/Lynnfield) Core i7 (8xx) CPU | <!--ACPI--> | <!--IDE-->{{yes|1 port}} | <!--SATA-->4 ports | <!--Gfx-->2 PCIe x16 (r2.0) slots | <!--Audio-->ADI AD2000B HD Audio | <!--USB-->{{yes|4 USB2.0}} | <!--Ethernet-->{{no|Marvell 88E8056 Gigabit}} | <!--Opinion-->Firewire VIA VT6308 no |- | <!--Name-->gigabyte ex58 ds | <!--Chipset--> x58 + ICH10 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet-->Realtek 8111D rtl8169 | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket 1156 (2010)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->Acer Aspire M3910 | <!--Chipset-->i3 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{unk| }} | <!--Gfx-->{{maybe|VESA intel HD}} | <!--Audio-->{{unk|HDAudio with Realtek ALC}} | <!--USB-->{{yes| }} | <!--Ethernet-->{{unk| Realtek}} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-H55M-S2H | <!--Chipset-->H55 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->PCIe slot | <!--Audio-->{{Yes|ALCxxx playback}} ALC888B (Rev1.x) | <!--USB-->{{Yes| }} | <!--Ethernet-->{{Yes|RTL8111D}} (Rev 1.x) | <!--Opinion-->Tested but no support for WLAN Realtek 8188su |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI H55M-E33 v1.0 | <!--Chipset-->E7636 M7636 H55 chipset so older i3/i5/i7 system | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->{{yes|HD Audio ALC889}} | <!--USB--> | <!--Ethernet-->{{Yes|PCI-E Realtek 8111DL}} | <!--Opinion-->Works well |- | <!--Name-->Asus P7P55D | <!--Chipset-->P55 | <!--ACPI--> | <!--IDE-->{{unk| }} | <!--SATA-->{{unk| }} | <!--Gfx-->pci-e | <!--Audio-->{{maybe | via codec}} | <!--USB-->{{unk| }} | <!--Ethernet-->{{maybe |rtl8169 Realtek RTL8111B/C RTL8112L }} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA 1155 H2 (2010/13)===== {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->ASUS P8H61-I LX R2.0 | <!--Chipset-->H61 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata | <!--Gfx-->1 pci-e slot | <!--Audio-->HDAudio | <!--USB-->USB3 | <!--Ethernet-->rtl8169 8111f | <!--Opinion-->2013 - up to ivybridge cpus - 2 ddr3 dimm slots - |- | <!--Name-->Asus P8H61-I/RM/SI mini-itx | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 sata | <!--Gfx-->pci-e 2 | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2012 64 up to i3-2010 - OEM board from an RM machine but not ivybridge as the Asus BIOS isn't compatible with these, 0909 hacked one might work - |- | <!--Name-->asus p8h61-i lx r2.0/rm/si mini itx | <!--Chipset-->h61 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e 2.0 | <!--Audio-->HDaudio with VIA codec | <!--USB--> | <!--Ethernet-->rtl8169 rtl8111e | <!--Opinion-->2012 sandy and ivy - oem from rm machine 2 x 240-Pin DDR3 DIMM sockets max DDR3 1333MHz - |- | <!--Name-->‎Bewinner 63q9c7omvs V301 ITX | <!--Chipset-->H61 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata with nvme | <!--Gfx-->pci-e 4 | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet-->Realtek 8106E 100M Network Card | <!--Opinion-->2022 64 |- | <!--Name-->Biostar H61 H61MHV2 H61MHV3 Ver. 7.0 | <!--Chipset-->H61 with Intel Pentium G 2xxx series CPU | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->Realtek ALC662 later ALC897 | <!--USB-->4 usb2 | <!--Ethernet-->rtl8169 Realtek RTL8111H | <!--Opinion-->2014 - 2 ddr3 dimm slots - |- | <!--Name-->Gigabyte GA-H61M-D2-B3 | <!--Chipset-->H61 + Sandybridge | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 ports sata2 | <!--Gfx--> | <!--Audio-->ALC889 | <!--USB-->2 ports | <!--Ethernet-->Realtek RTL8111E | <!--Opinion--> |- | <!--Name-->Gigabyte GA-H61MA-D3V | <!--Chipset-->H61 + | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 ports sata2 | <!--Gfx--> | <!--Audio-->Maybe No Realtek ALC887 (Rev 2.0) ALC887 (Rev2.1) | <!--USB-->2 ports | <!--Ethernet-->Realtek RTL8111E | <!--Opinion--> |- | <!--Name-->GA-H61M-S2PV | <!--Chipset-->H61 with 2400k 2500k 2600k 2700k | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx-->pci-e 2.0 slot | <!--Audio-->ALC887 (rev 1.0 2.0 2.1 2.2 2.3) | <!--USB-->4 USB 2.0 | <!--Ethernet-->Rtl811E (1.0) 8151 (2.0) Rtl8111F (2.1 2.2 2.3) | <!--Opinion-->Micro ATX Form Factor; 24.4cm x 20cm with 2 pci-e and 2 pci - |- | <!--Name-->Intel Classic Series DH61CR Desktop | <!--Chipset-->H61 + | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 ports | <!--Gfx--> | <!--Audio-->Intel HD with ALC892 | <!--USB-->4 ports | <!--Ethernet-->{{no|Intel 82579V}} | <!--Opinion--> |- | <!--Name-->MSI H61M-P20 (G3) MS-7788 *retail MSI board *OEM Advent, etc | <!--Chipset-->H61 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|four SATAII ports}} | <!--Gfx-->1 PCI Express gen3 (retail) gen2 (oem) x16 slot | <!--Audio-->{{yes|HDAudio ALC887 codec}} | <!--USB-->{{yes|}} | <!--Ethernet-->{{yes|Realtek 8105E 100M Network Card}} | <!--Opinion-->2012 64bit - 2 ddr3 slots - 22.6cm(L) x 17.3cm(W) M-ATX Form Factor - BIOS - [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=6009#post_6007 works well], |- | <!--Name-->MSI H61I-E35 (B3) MS-7677 Ver.1.2 | <!--Chipset-->H61 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->{{maybe|VESA 2d for hdmi}} | <!--Audio-->{{yes|https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1149&rowstart=140&pid=5861#post_5861 works}} | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus P8H67-M | <!--Chipset-->H67 + | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 sata3 - 4 sata2 | <!--Gfx--> | <!--Audio-->Intel HD with ALC887 | <!--USB-->6 USB2.0 | <!--Ethernet-->Realtek® 8111E | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus P8Z68-V LX | <!--Chipset-->Z68 + Intel 2nd generation (Sandy Bridge) Core i7 (2xxx) CPU and possibly ivybridgev | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{yes|2 sata3 - 4 sata2}} | <!--Gfx-->pci-e slot | <!--Audio-->{{yes|HDAudio Intel HD with ALC887 codec}} | <!--USB-->{{yes|2 USB3.0 - 4 USB2.0}} | <!--Ethernet-->{{yes|rtl8169 Realtek® 8111E}} | <!--Opinion-->2011 64bit SSE 4.1 and AVX - EFI bios - 4 ddr3 dimm slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte Z68AP-D3 (B3) | <!--Chipset-->Z68 + Ivybridge | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 sata3 - 4 sata2 | <!--Gfx--> | <!--Audio-->Intel HD with ALC889 | <!--USB-->2 USB3.0 - 4 USB2.0 | <!--Ethernet-->Realtek® 8111E | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus B75M-A | <!--Chipset-->B75 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes| }} | <!--Gfx-->pci-e | <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD codec}} | <!--USB-->{{maybe| }} | <!--Ethernet-->{{yes|rtl8169 Realtek ® 8111F-VB-CG }} | <!--Opinion-->2013 64bit - 2 ddr3 slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->H77 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-H77-D3H 1.0 1.1 | <!--Chipset-->H77 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata 3.0 | <!--Gfx-->pci-e | <!--Audio-->{{No|HDAudio VIA VT2021 codec}} | <!--USB--> | <!--Ethernet-->{{No|Atheros GbE LAN chip}} | <!--Opinion-->2013 64bit i5 3550 7 3770 - 4 DDR3 slots - 2 full pci-e 2 pci slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Gigabyte GA Z77 D3H with i3 3225 dual | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->{{No|HDAudio VIA VT2021 codec}} | <!--USB--> | <!--Ethernet-->{{No|Atheros GbE LAN chip}} | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA 1150 H3 (2013/2016)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->[https://theretroweb.com/motherboards/s/asus-b85m-e-rev-1-02 Asus B85M-E] | <!--Chipset-->B85 | <!--ACPI--> | <!--IDE-->{{yes| }} | <!--SATA-->{{yes| }} | <!--Gfx-->pci-e | <!--Audio-->{{maybe|HDAudio with Realtek ® ALC887-VD2 codec}} | <!--USB-->{{no| }} | <!--Ethernet-->{{yes|rtl8169 Realtek 8111F}} | <!--Opinion-->2014 64bit - 4 ddr3 slots - |- | <!--Name-->Gigabyte GA-H87N-WIFI mITX | <!--Chipset-->H87 and Intel 4th generation (Haswell) Core i5 (4xxx) CPU | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->Intel HD with ALC892 | <!--USB--> | <!--Ethernet-->Intel Atheros | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus H81M-C H81M-P-SI | <!--Chipset-->H81 with 4th generation (Haswell) Core i7 (4xxx) CPU | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2x3g 2x6g | <!--Gfx-->pci-e slot | <!--Audio-->hdaudio alc887 vd | <!--USB--> | <!--Ethernet-->realtek 8111gr | <!--Opinion-->2013 skt 1150 - 2 ddr3 max 16g - mini atx - |- | <!--Name-->Asus H81T | <!--Chipset-->H81 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 sata | <!--Gfx-->HD4000 igpu only | <!--Audio-->HDAudio ALC887-VD | <!--USB-->Intel USB3 | <!--Ethernet-->rtl8169 realtek 8111G | <!--Opinion-->2013 64bit intel 4th gen mini itx - external dc brick with 19v rare barrel pin 7.4MM x 5.0MM - 2 ddr3 laptop sodimm slots - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-H81M-S2V | <!--Chipset-->H81 | <!--ACPI--> | <!--IDE-->{{N/A|}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->HDAudio ALC887 | <!--USB-->USB3 | <!--Ethernet-->Realtek® GbE LAN chip | <!--Opinion-->2014 64bit up to i7 4790K - 2 DDR3 slots - |- | <!--Name-->Gigabyte GA-H81M-D3V (rev. 1.0) | <!--Chipset-->H81 | <!--ACPI--> | <!--IDE-->{{N/A| }} | <!--SATA-->{{yes|2 sata2 2 sata3 }} | <!--Gfx-->pci-e | <!--Audio-->{{unk| HDAudio Realtek® ALC887 codec}} | <!--USB-->{{unk|intel and VIA® VL805}} | <!--Ethernet-->{{unk|rtl8169 Realtek }} | <!--Opinion--> |- | <!--Name-->MSI H81M-E34 (MS-7817) | <!--Chipset-->H81 | <!--ACPI--> | <!--IDE--> | <!--SATA-->{{yes| }} | <!--Gfx-->PCIe 2.0 x16 | <!--Audio-->HDAudio with ALC887 codec | <!--USB-->USB3 | <!--Ethernet-->{{yes|rtl8169 RTL8111G}} | <!--Opinion-->2013 64bit - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus Z87-K | <!--Chipset-->Z87 with 4th generation (Haswell) Core i7 4c8t i5 4c4t CPU | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->Intel HD with ALC | <!--USB--> | <!--Ethernet-->Realtek lan | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-Z87X-UD3H | <!--Chipset-->Z87 Express | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->Intel HD with Realtek® ALC898 codec | <!--USB--> | <!--Ethernet-->intel | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA H97M D3H r1.0 r1.1 with i3 4360 or 4370 dual | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->pci-e | <!--Audio-->Intel HD with ALC892 | <!--USB--> | <!--Ethernet-->Realtek lan | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus Z97 A with i7 4790K | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx-->750, 960, 970 and 980 nvidia GTX cards | <!--Audio-->Intel HD with ALC | <!--USB--> | <!--Ethernet-->intel lan ethernet | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA Z97X UD3H rev1.0 1.1 1.2 | <!--Chipset-->Z97 with i5 4690K | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio-->HDaudio with ALC1150 | <!--USB--> | <!--Ethernet-->intel lan | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI GAMING 5 Z97 | <!--Chipset-->Z97 with 4th generation (Haswell) Core i7 4c8t CPU | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->ASUS Q87M-E | <!--Chipset-->Q87 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2014 64bit - 4 DDR3 slots - |- | <!--Name--> | <!--Chipset-->H99 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA2011V2 s2011-2 (2012/15)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset-->x79 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2013 Xeon e5-???? W TDP, e5-2667V2 W TDP, e5-????V2 W TDP, Sandybridge and Ivybridge V2 |- | <!--Name-->Asus | <!--Chipset-->X79 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA2011V3 s2011-3 (2015/18)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset-->x99 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2016 Xeon e5-1620v3 130W TDP, e5-1650V3 (i7-5930K) 140W TDP, e5-2640V3 90W TDP, Haswell-EP |- | <!--Name-->Asus | <!--Chipset-->X99 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->most cheap Ryzens are better nowadays |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Huananzhi X99-CD4 | <!--Chipset-->Intel C612 and X99 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata 3 connectors and 1 m.2 nvme slot | <!--Gfx-->pcie slot | <!--Audio-->HDaudio with ALC897 codec | <!--USB-->{{No|USB3}} | <!--Ethernet-->{{maybe|rtl8169}} | <!--Opinion-->2024 quality might not be great outside of a simple setup - 2 ddr4 dimms - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Keyiyou X99 XD4 | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Machinist MR9A Pro | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2023 |- | <!--Name-->Machinist MR9A Pro | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2023 |- | <!--Name-->Mogul | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Qiyida X99 H9S | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2023 |- | <!--Name-->Soyo | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA 1151 Socket H4 (2015/2018)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->Skylake CPUs have TPM 2.0 imbedded |- | <!--Name-->Asus H110 Plus H110M-A/DP | <!--Chipset--> with 6th Gen Core and 7th with bios update | <!--ACPI--> | <!--IDE--> | <!--SATA-->Sunrise Point-H SATA [AHCI mode] [8086 a102] | <!--Gfx-->{{No|Skylake Integrated HD Graphics use PIC-E slot}} | <!--Audio-->Intel HD Audio with Realtek ALC887 Audio CODEC | <!--USB-->Sunrise Point-H USB 3.0 xHCI [8086: a12f] no usb2.0 fallback | <!--Ethernet-->{{Yes|Realtek 8111GR or 8111H RTL8111 8168 8411}} | <!--Opinion-->ATX with 3 pci-e and 2 DDR4 slots - uatx version smaller - turn off TLSF as it was causing AHI driver to corrupt. Turned off ACPI for errors but works fine once booted - |- | <!--Name-->ASUS H110M-R M-ATX | <!--Chipset-->H110 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 x SATA 6Gb/s | <!--Gfx-->pci-e | <!--Audio-->HDAudio Realtek® ALC887 codec | <!--USB-->Intel USB3 | <!--Ethernet-->Realtek® RTL8111H | <!--Opinion-->2016 64bit 6th Gen Skylake Core™ i7/Core™ 6950X i7-6970HQ i7-6700K 4c8t hyperthreading, i5/Core™ i5-6600K 4c4t i3/Pentium® / Celeron® - 2 DDR4 DIMMS Max 32GB 2133MHz - 1 full pci-e and 2 pci-e 1 - |- | <!--Name-->Asus H110T | <!--Chipset-->H110 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->2 sata | <!--Gfx-->intel igpu only | <!--Audio-->HDaudio | <!--USB--> | <!--Ethernet-->Dual Intel/Realtek GbE languard | <!--Opinion-->2016 - mini itx 12v / 19v laptop type rare barrel pin 7.4MM x 5.0MM - 2 sodimm ddr4 slots - no pci-e slot - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte GA-H110M-S2H MATX Rev1.0 | <!--Chipset-->H110 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata | <!--Gfx-->pci-e 3.0 | <!--Audio-->Realtek® ALC887 codec | <!--USB-->2 (USB 3.1 Gen 1) ports with 4 us2 | <!--Ethernet-->Realtek® GbE LAN | <!--Opinion--> 2 ddr4 slots |- | <!--Name-->Gigabyte ga-h110n | <!--Chipset-->H110 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->{{Yes| sata}} | <!--Gfx-->{{maybe|Vesa 2d for Intel or PCI-e slot}} | <!--Audio-->{{Maybe|HDaudio for ALC887 codec}} | <!--USB-->{{Maybe| }} | <!--Ethernet-->{{maybe|RTL8169}} | <!--Opinion-->2016 mini-itx 6th gen |- | <!--Name-->Msi H110M-PRO-VH | <!--Chipset--> | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 x SATA 6Gb/s | <!--Gfx-->pci-e 3.0 | <!--Audio--> Realtek® ALC887 Codec | <!--USB--> | <!--Ethernet-->rtl8169 rtl8111h | <!--Opinion--> 6th gen intel - 2 ddr4 slots |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus H170 Pro Gaming | <!--Chipset-->H170 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sata | <!--Gfx-->pci-e | <!--Audio-->HDAudio | <!--USB-->Asmedia USB3.1/3.0 | <!--Ethernet-->intel lan | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->MSI Z170A TOMAHAWK | <!--Chipset-->Z170 | <!--ACPI--> | <!--IDE-->{{N/A}} | <!--SATA-->4 sara, 1 x 2280 Key M(PCIe Gen3 x4/SATA), 1 x 2230 Key E(Wi-Fi) | <!--Gfx-->pci-e | <!--Audio-->HDAudio | <!--USB--> | <!--Ethernet-->intel lan | <!--Opinion-->2016 64bit up to i7 7700k - 2 DDR4 - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->GIGABYTE GA-B250M-DS3H HD3P D3H D2V | <!--Chipset-->B250 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2018 coffee lake intel 8th gen |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus | <!--Chipset--> with Kaby Lake X Intel 7th Gen | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> up to 16 pcie lanes |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus | <!--Chipset--> Z390 with Kaby Lake X | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> up to 16 pcie lanes |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> Q370M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> H370M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> B360M | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Asus Rampage | <!--Chipset-->x299 with i9 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> - up to 24 to 44 pcie lanes |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name-->Gigabyte | <!--Chipset--X299 > | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} =====Socket LGA 1200 (2020/2022)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->MSI H510M-A PRO (MS-7D22) | <!--Chipset--> with 10th gen Comet Lake X | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2021 64bit - up to 16 pcie lanes rebar possible |- | <!--Name-->Asus PRIME H410M-E Asrock H470M-HDV/M.2 | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus | <!--Chipset--> with 11th gen Rocket Lake X | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> up to 16 pcie lanes |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} =====Socket LGA 1700 (2023/ )===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset-->Alder Lake / 14th gen Raptor Lake | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2021 2022 64bit - QoS work to 2 level cpus, P down to E cores - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset-->Meteor Lake ultra 5 7 1xxH series 1 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2023 2024 64bit 10nm - 3 level cpus, Low Power Island (SOC tile) to E onto P cores - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> 15th gen Arrow Lake | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset-->Lunar lake ultra 5 7 2xxV series 2 | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2025 64bit 7nm - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->Nova Lake | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2026 64bit - |- | <!--Name--> | <!--Chipset-->Panther Lake | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2026 64bit - either 44, 484, or 448 tiled cores 18A process - core ultra x9 288h, x7 358H, - |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- |} =====Socket LGA 1954 (2027/ )===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name--> | <!--Chipset-->Nova Lake-S | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset-->Serpent Lake, Titan Lake, and Razer Lake | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion-->2027 |- |} =====Socket LGA (203x/203x)===== [[#top|...to the top]] {| class="wikitable sortable" width="90%" ! width="10%" |Name ! width="5%" |Chipset ! width="5%" |ACPI ! width="5%" |IDE ! width="5%" |SATA ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |USB ! width="10%" |Ethernet ! width="30%" |Opinion |- | <!--Name-->MSI | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- style="background:lightgrey; text-align:center; font-weight:bold;" | Name || Chipset || ACPI || IDE || SATA || Gfx || Audio || USB || Ethernet || Opinion |- | <!--Name-->Asus | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |- | <!--Name--> | <!--Chipset--> | <!--ACPI--> | <!--IDE--> | <!--SATA--> | <!--Gfx--> | <!--Audio--> | <!--USB--> | <!--Ethernet--> | <!--Opinion--> |} ===Chromebooks=== For most (EOL) cromebooks, the recommended UEFI path forward is to: *put the device into Developer Mode *disable firmware write protection *flash MrChromebox's UEFI Full ROM firmware *install ChromeOS Flex, Linux, etc See [https://mrchromebox.tech/#home MrChrome], [https://mrchromebox.tech MrChrome] and the [https://www.reddit.com/r/chrultrabook/ chrultrabook subreddit] for more info ChromeOS has several different boot modes, which are important to understand in the context of modifying your device to run an alternate OS: *Normal/Verified Boot Mode Can only boot Google-signed ChromeOS images Full verification of firmware and OS kernel No root access to the system, no ability to run Linux or boot other OSes Automatically enters Recovery Mode if any step of Verified Boot fails Default / out-of-the-box setting for all ChromeOS devices *Recovery Mode User presented with Recovery Mode boot screen (white screen with 'ChromeOS is missing or damaged') Boots only USB/SD with signed Google recovery image Automatically entered when Verified Boot Mode fails Can be manually invoked: On Chromebooks, via keystroke: [ESC+Refresh+Power] On Chromeboxes, by pressing a physical recovery button at power-on On Convertibles/Tablets, by holding the Power, Vol+, and Vol- buttons for 10s and then release Allows for transition from Verified Boot Mode to Developer Mode On Chromebooks/Chromeboxes, via keystroke: [CTRL+D] On Convertibles/Tablets, via button press: Vol+/Vol- simultaneously Booting recovery media on USB/SD will repartition/reformat internal storage and reload ChromeOS Note: The ChromeOS recovery process does not reset the firmware boot flags (GBB Flags), so if those are changed from the default, they will still need to be reset for factory default post-recovery. *Developer Mode "Jailbreak" mode built-in to every ChromeOS device Loosened security restrictions, allows root/shell access, ability to run Linux via crouton Verified Boot (signature checking) disabled by default, but can be re-enabled Enabled via [CTRL+D] on the Recovery Mode boot screen Boots to the developer mode boot screen (white screen with 'OS verification is off' text), The user can select via keystroke <pre> ChromeOS (in developer mode) on internal storage ( [CTRL+D] ) ChromeOS/ChromiumOS on USB ( [CTRL+U] ) Legacy Boot Mode ( [CTRL+L] ) </pre> Boot screen displays the ChromeOS device/board name in the hardware ID string (eg, PANTHER F5U-C92, which is useful to know in the context of device recovery, firmware support, or in determining what steps are required to install a given alternate OS on the device. *Legacy Boot Mode Unsupported method for booting alternate OSes (Linux, Windows) via the SeaBIOS RW_LEGACY firmware Accessed via [CTRL+L] on the developer mode boot screen Requires explicit enabling in Developer Mode via command line: sudo crossystem dev_boot_legacy=1 Most ChromeOS devices require a RW_LEGACY firmware update first Boots to the (black) SeaBIOS splash screen; if multiple boot devices are available, prompt shows the boot menu Note: If you hear two beeps after pressing [CTRL+L], then either your device doesn't have a valid Legacy Boot Mode / RW_LEGACY firmware installed, or legacy boot capability has not been been enabled via crossystem. https://www.howtogeek.com/278953/how-to-install-windows-on-a-chromebook/ Chromebooks don’t officially support other OSs. You normally can’t even install as Chromebooks ship with a special type of BIOS designed for Chrome OS. But there are ways to install, if you’re willing to get your hands dirty and potentially ruin everything [https://mrchromebox.tech/#devices Firmware Compatibility] [https://wiki.galliumos.org/Hardware_Compatibility Here is the list of hardware that the GalliumOS supports and information on getting Gallium OS on to those devices] Development on GalliumOS has been discontinued, and for most users, GalliumOS is not the best option for running Linux due to lack of hardware support or a kernel that's out of date and lacking important security fixes. Meet Eupnea and Depthboot, the successors to Galliumos and Breath [https://eupnea-linux.github.io This is the bleeding edge] Most older Chromebooks need the write-protect screw removed in order to install MrChromebox's firmware that allows you to install other operating systems. Most newer Chromebooks don't work in the same way as there is no write-protect screw on them. Very rough guide to '''total''' (i.e. all cores / threads) processor performance (AROS usually uses only the [https://gmplib.org/gmpbench one core]) [[#top|...to the top]] <pre> 060000 AMD Ryzen 9 7900X (AM5 170W), 056000 AMD Ryzen 9 5950X, 055000 AMD Ryzen 9 5900X3D, 053000 AMD Ryzen 9 5900X (AM4 105W), AMD Ryzen 9 3950X (105W), 044000 AMD Ryzen 7 5800X3D, 042000 AMD Ryzen 9 6900HX, AMD Ryzen 5 5600X3D (AM4 95W), AMD Ryzen 7 PRO 5750GE (AM4 35W), 039000 AMD Ryzen 9 5900HS, Intel Core i7-12700T, AMD Ryzen 7 7735HS (8c16t 45W), AMD 8840U, 038000 AMD Ryzen 7 5800H (FP6 45W), AMD Ryzen 7 6800U, Intel Core i5-12490F, Intel Core i5-12500E, 037000 AMD Ryzen 7 5800HS (FP6 35W), AMD Ryzen 5 8500G 8600GE (AM5 6c12t 35W), AMD Ryzen Z2 (8c16t), 036500 AMD Ryzen 7 5700G (AM4 8c16t 65W), AMD Ryzen 9 6900HS, Intel Core i7-12800H, 036200 AMD Ryzen 7 5700GE (AM4 8c16t 35W), AMD Ryzen Z1 Extreme (top TDP), AMD Ryzen 5 8600G (AM5 65W), 036000 AMD Ryzen 5 3600X (Am4 95W), AMD Ryzen 5 5500 (AM4 65W), AMD Ryzen 5 5600 (65W), 035000 AMD Ryzen 5 6600H, Intel Core i5-12400F, 031000 AMD Ryzen™ 9 8945HS, Ryzen™ 7 8845HS, AMD Ryzen 7 7840U, 030000 AMD Ryzen 7 4800U, AMD Ryzen 4800H, Intel Core i5-11400F, Intel Zeon E5-2697A V4, 029500 AMD Ryzen 5 4500 (AM4 65W), AMD Ryzen 5 3600 (65W), Apple M3 Pro 12c, 029000 AMD Ryzen 5 4600G (AM4 65W), AMD Ryzen 5 PRO 4650GE (AM4 35W), AMD Ryzen 7 PRO 1700X (AM4 95W), 028500 AMD Ryzen 5 PRO 5675U, AMD Ryzen 7 1700 (AM4 65W), AMD Ryzen 7 2700 (65W), Ryzen 3 7540U, 028000 AMD Ryzen 5 PRO 5650U, 5 5560U (FP6 25W 6c12t Zen3), Intel Core i5-13500H, AMD Ryzen 7 4800HS, 027700 AMD Ryzen 9 PRO 7940HS (FP8 65W), AMD 8745HS, AMD Ryzen H255 AI, AMD Ryzen 3 7545U, 027500 AMD Ryzen 3 7736U, AMD Ryzen 5 7640U, 027400 AMD Ryzen 5 8540U, AMD Ryzen 5 PRO 5650GE (AM4 6c12t 35W), AMD Ryzen 5 PRO 4650G (AM4 45W), 027300 AMD Ryzen 7 PRO 4750GE, AMD Ryzen 5 5600H, AMD Ryzen 7 5825U (FP6 8c16t 15W), 027200 AMD Ryzen 5 6600U, AMD Ryzen 7 2700X, AMD Ryzen 5 5600GE (AM4 35W), AMD Ryzen Z1, 027100 AMD Ryzen 7 7730U (FP6 15W 8c16t), AMD Ryzen 7 5800U (FP6 25W 8c16t), Ryzen 9 4900H, 027000 AMD Ryzen 7 PRO 4750U (8c16t), Ryzen 5 7430U (FP6 6c12t), Ryzen 5 PRO 6650U, Intel 10500H, 026500 AMD Ryzen 7 PRO 7840HS (FP7 65W), AMD Ryzen 7 8840HS, AMD Ryzen Z2 Extreme, 025000 AMD Ryzen 5 5600U (FP6 25W hot 6c12t Zen3), AMD Ryzen 5 2600 (65W), Ryzen 5 7530U, 024500 AMD Ryzen 5 4600HS (FP6 35W 6c12t), Apple M1 Pro, AMD Ryzen 5 5625U (FP6 15W 6c12t), 023700 AMD Ryzen 3 PRO 5350GE (AM4 35W), AMD Ryzen 5 3500X (AM4 95W), Intel Core i7-9700, 023500 AMD Ryzen 5 1600X (95W), AMD Ryzen 3 5300GE (AM4 4c8t 35W), AMD Ryzen 7 5700U (FP6 25W 8c16t Zen2), 023200 AMD Ryzen 3 7330U (FP6 15W 4c8t), AMD Ryzen 7 4700U (FP6 25W 8c8t), AMD Ryzen 5 4400G, 023000 Intel Core i7-1255U, Intel Core i7 13700H, Ryzen 7640HS, 022000 AMD Ryzen Z2 Go (4c8t), AMD Ryzen 5 5500U (FP6 25W 6c12t Zen2), Snapdragon 8 Elite, 020500 AMD Ryzen 3 4300G (AM4 65W), AMD Ryzen 3 5450U 5425U, AMD Ryzen 5 PRO 4650U (6c12t), 019500 Intel Core i5-1135G7, AMD Ryzen 5 5500H, AMD Ryzen 5 4600U (FP6 25W 6c), AMD Ryzen 5 2600 (65W), 019250 Intel Core i5-1145G7, 019000 AMD Ryzen 5 3400G (AM4 65W), AMD Ryzen 5 2500X, AMD Ryzen 5 7520U, AMD Ryzen V3C18I (? 15W), 017750 AMD Ryzen 5 3400GE (AM4 35W), Intel Core i5-8400, AMD Ryzen 5 1500X (AM4 65W), Xbox One Series X, 017500 Intel Core i7-6700K, Intel i5-10400, AMD Ryzen 5 4500U (FP6 25W 6c6t), AMD Ryzen 3 5400U, 017000 AMD Ryzen 3 PRO 4350GE (AM4 35W), AMD Ryzen 3 5300U (FP6 25W 4c8t), Intel Core i5-11300H, 016500 AMD Ryzen 7 3750H, AMD Ryzen Embedded V1756B (FP5 45W), AMD Ryzen 3 PRO 4200GE, SD G3 Gen3, 016250 Intel Core i5-1035G7, intel core i5 7600 (4c4t 65W), 016000 AMD Ryzen 5 2400G (AM4 65W), AMD Ryzen 5 3550H, Ryzen 5 PRO 3350GE (4c 8t), Intel Core i5-8500T, 015000 AMD Ryzen 3 7320U, Ryzen 7 3700U, Ryzen 3200G (AM4 65W), Intel Core i7-8550U, Intel Core i5-1035G1, 014000 AMD Ryzen 5 2400GE (AM4 35W), Intel Core i7-6700T, AMD Ryzen 5 3550U, 013500 AMD Ryzen 5 3500U (FP5 15W 4c8t), AMD Ryzen 3 4300U, AMD Athlon Gold 4150GE, AMD Ryzen 5 3450U, 013250 AMD Ryzen 3 3200GE (AM4 45W), AMD Ryzen 3 1300X (65W), AMD Ryzen 3 2200G, Xbox One Series S, 013000 AMD Ryzen Embedded V1605B (FP5 25W), AMD Ryzen 2700U, AMD Ryzen R2514, 012500 AMD Ryzen 5 2500U (FP5 25W 4c8t), Intel Core i3-8300T, Intel Xeon X5680, Intel i3-1115G4 (2c4t), 012300 Intel Core i7-8565U, Intel Core i5-8350U, Intel Core i7-8700, Allwinner A733 (2 A76, 6 A55), 012200 ARM Cortex-X3 Prime Snapdragon SD8G2 Gen2 4nm 64-bit Kryo CPU, i5-8250U (4c8t), 012000 AMD Ryzen 3 2200GE, AMD Ryzen 3 1200 (65W), AMD Ryzen 5 3500C, 011500 AMD Ryzen 3 3300U, Intel Core i3-8100T, Intel Core i5-8265U, Intel i5-10210U, CORE i5-10310U, 010500 AMD Ryzen 3 2300U (FP5 25W 4c4t), Allwinner A527 (8 A55), 010300 Intel Core i7-3630QM, Intel Core i5-6600T, Intel Core i5-4670K, 010200 Intel Core i5-6440HQ, Intel Core i7-3610QM, Snapdragon SD865, 010000 AMD FX-8320E (AM3+ 125W 8c8t), Intel Core i5-7500T, Intel Core i5-4690, 009000 Spectrum Unisoc Tiger T7280 (T620), Cortex-X2, MediaTek Dimensity 1300 (4 A78, 4 A55), 008700 AMD FX-6130 (AM3+ 90W 6c6t), Intel Core i5-7400T, Intel Core i5-4590T, 008500 Intel Core i5-6500T, AMD Athlon 300GE (AM4, 35W), AMD Athlon Gold 7220U, 008000 AMD Ryzen R1606G (FP5 15W), AMD FX-6300 (AM3 65W 6c6t), Intel Core i5-2500K, 007500 AMD Ryzen 3 3200U, AMD Ryzen 3 3250U, Intel Alderlake ULX N100 / N95, 007200 AMD Ryzen 3 2200U (FP5 25W 2c4t), Intel Core i3-7100T, Intel Twinlakes N150 N200, Xbox(TM) One S, 007100 AMD Ryzen R1505G (FP5, 15W), RK3576 4 A72, 4 A53, Snapdragon XR2 Gen 1, 006600 Qualcomm Snapdragon 888 5G, AMD Athlon 300U (FP5 2c4t 15W), Intel i7-7600U, AMD V1202B, 006500 Intel Core i7-6500U, AMD Athlon Gold 3150U, Intel Celeron N5105 (FCBGA1338 15W), SD 685, 006300 Intel Core i3-8130U (15W), Intel Celeron N5095 (FCBGA1338 15W), Intel Core i3-6100T, 006100 Intel Core i5-6300U, Intel Core i5-7200U (2c4t), Intel i7-5500U, Intel Core i7-6600U (2c4t), 006000 Intel Core i5-6200U (2c4t), Intel Core i3-7130U, Intel i7-4500U, Qualcomm Snapdragon 888 4G, 005950 Intel Core i5-4570T, Intel Core i5-5257U, Rockchip RK3588 (4 A76, 4 A55), Snapdragon 7325, 005900 Intel Xeon X5550, Intel Core i5-4300M, MediaTek Dimensity 1200 (4 A78, 4 A55), Unisoc 7255 (T616), 005800 Intel Celeron J4125 J4105 (FCBGA1090 15W), Intel Core i5-3470T, AMD A8-6600K APU, AMD 3015E (2c4t), 005600 Intel Core i5-3360M, Intel Core i7-3520M, Intel Core i5-4210M, Intel Pentium G4600T, 005400 MediaTek Dimensity 900 (2 A78, 6 A55), AMD Athlon Silver 7120U, Snapdragon 860, 005300 AMD PRO A12-9800B 7th Gen APU (FP4 15W), AMD FX-4300 4c4t, AMD Ryzen R1305G, 005250 Intel Core i5-3230M, AMD FX-7600P, Intel Pentium G4400, Unisoc T7200 (Unisoc T606 2 A76, 6 A55), 005200 AMD PRO A10-8770E, AMD A10-9700E, AMD PRO A10-9700B (FP4 15W), Intel Core i3-4130T, 005100 AMD RX-427BB (FP3 15W), AMD A10-9620P, AMD A12-9720P, Intel Core i3-8145U, AMD A12-9830B, 005050 AMD A8-5500 (FM2 65W), AMD A10 PRO-7800B APU, Intel Pentium Silver N5000, Intel Core i7-5500U, 005000 Intel Core i5-5300U, Intel Core i5-3320M (2c4t), Intel Core i5-5350U, Unisoc T618 (2 A73 6 A53), 004900 Intel Core i5-4300U, Intel Core i5-5200U, Intel Core i3-4100M, Snapdragon 662 (SM6115), 004860 Intel Core i7-2620M, Intel Core i7-2640M, AMD Athlon Silver 3050U 3050e, Intel i3-7020U, 004650 Intel Core i5-2520M (2c4t), Intel Core i5-3210M, AMD A10-9600P (FP4 4c 15W), Pentium 4415U, 004625 Intel Core i3-7100U (FCBGA1356 15W), ARM A76 RK3588S, AMD A10-6800B APU, 004600 AMD PRO A8-9600B, AMD PRO A12-8830B, AMD PRO A10-8730B, AMD A12-9700P, Intel Core i3-6100U, 004400 AMD A10-8700P A8-8600P, Intel Core i5-4200U, Intel Core i5-2540M, Intel i3-6006U, 004000 Intel Core i5-2430M, AMD PRO A8-8600B, AMD 3020e, Intel Core i3-5005U, Mediatek MT6797 Helio X20, 003850 Intel Core i5-2410M (2c4t), Intel Core i3-2120 (LGA1155 65W), Mediatek MT8786, 003800 AMD A10-4600M APU, AMD A10 PRO-7350B APU, AMD A10-5750M APU, Rockchip RK3399, 003600 AMD A8-6500T APU, AMD A8-7410 APU, AMD PRO A6-8550B, AMD A8-5550M (4c4t), 003500 AMD GX-424CC SOC (FT3b 25W 4c4t), ARM A75 Unisoc Tiger T610 (Spreadtrum) (8c 5W), 003400 AMD A10-7300 APU, AMD A6-7310 APU, AMD A8-6410, AMD A10-5745M APU, Intel Core i3-4000M, 003350 Intel Pentium G2020, Intel Core i3-3120M (G2 2c4t), AMD R-464L APU, Intel® Core m5-6Y57 (2c4t), 003300 AMD GX-420CA SOC (FT3 BGA769 25W), AMD A6-9500E, Intel Celeron N4200, AMD A6-5200 ( 25W 2c2t), 003200 AMD A6-6310 APU, AMD A6-6400B APU, AMD A6-8570E, AMD A8-4500M APU, AMD A6-7400K APU 003000 AMD A8-7150B, AMD A9-9410 / A9-9425, AMD A6-8500B (FP4 15W), AMD A8-7100, 002900 AMD PRO A6-8530B, AMD A6-8500P, AMD A8-3500M APU, Intel Core i3-2120T, 002700 AMD Embedded GX-420GI (FP4 15W), AMD PRO A6-9500B, AMD GX-415GA, AMD A4-6210 APU, 002600 AMD A6-9225, AMD A8-4555M APU, AMD A4-5000 APU (FT3 15W), AMD A6-9220, AMD A6-3420M APU, 002450 Intel Celeron 2950M, Intel Pentium N3700, Intel Core i3-2350M, Allwinner A523 (8 A55), 002400 Intel Celeron N3150, Intel Core i3-2330M, Intel Xeon W3505, AMD A6-9210, Allwinner H618 (4 A53), 002300 Intel Celeron N3350, AMD A4-9120, AMD A4-9125, Intel Core i3-2310M, Intel Celeron 3865U, 002200 AMD A9-9420e, AMD A6-5350M APU, AMD E2-6110 APU, AMD E2-9000e, Celeron N4500, 002000 AMD GX-412HC, AMD A4-4300M APU, AMD A6 PRO-7050B APU, AMD A6-4400M APU, AMD A6-7000, 001925 Intel Core2 Duo E6700, Intel Pentium Extreme Edition 965, Intel Core i3-370M, Celeron N4020, 001750 Intel Core i3-2365M 2375M, AMD A4-9120C, Intel Core2 Duo T8300, Qualcomm MSM8939, 001600 AMD GX-222GC (BGA769 FT3b 15W), AMD A4-9120e, AMD Embedded GX-215JJ, AMD A4-4355M APU, 001550 Intel Core2 Duo SL9400 T7600 T6600, AMD E2-3200, AMD A6-9220e, Mediatek MT8783, AMD E2-3800, 001500 AMD GX-218GL SOC, AMD A6-4455M, AMD A4-5150M APU, ARM A55 RK3566 (4c 3W), Intel Core2 Duo T8100, 001400 AMD GX-217GA SOC, ARM Cortex-A53 4c4t H700, AMD A4-3300M APU, Allwinner A133P A64 (4 A53), 001300 AMD Turion 64 X2 Mobile TL-64 TL-62, Intel Core2 Duo T7300, Intel Core2 Duo T5600, AMD RX-216TD, 001250 AMD GX-412TC SOC, AMD A4-3320M APU, AMD Athlon 64 X2 QL-66, Intel Core2 Duo T7200 001200 AMD Athlon 64 X2 2c TK-57, AMD Turion 64 X2 Mobile TL-60 RM-74, AMD E1-2500, AMD E2-7015, 001150 Intel Core2 Duo T5550, Intel Core2 Duo L7500, AMD E2-3000M APU, ARM A35 RK3266, AMD E2-7110, 001100 Intel Core2 Duo T5300, AMD Athlon 64 X2 3800, Intel Core2 Duo E4300, Mediatek MT8127, 001050 AMD E1-6010 APU, Intel Pentium T4300, Intel Celeron N2840, 001050 AMD Athlon 64 FX-57, AMD Athlon 64 X2 Dual-Core TK-55, AMD Turion 64 X2 Mobile TL-52 001000 Intel Core2 Duo T5500, Intel Core2 Duo L7300, Intel Core2 Duo SU9400, 000950 AMD G-T56N, AMD Athlon 64 3100+, AMD E2-2000 APU, 000950 AMD Turion 64 X2 Mobile TL-50, AMD E1-2200 APU, Intel Celeron U3400, 000925 AMD TurionX2 Dual Core Mobile RM-72, AMD Sempron 140 000920 Intel Celeron SU2300, Intel Core2 Duo T5200, AMD Turion 64 X2 Mobile TL-56 000890 AMD E2-1800 APU, AMD Turion 64 X2 Mobile TL-58 000880 AMD G-T56E, AMD G-T48E, 000860 AMD E-450 APU, AMD E-350 APU, AMD Athlon LE-1620 000820 AMD A4-1250 APU, AMD Athlon LE-1600, 000810 AMD E1-2100 APU, Intel Core Duo T2500, 000810 Intel Atom D510, Intel Core2 Duo U7500, 000800 AMD Geode NX 2400+, AMD Turion 64 Mobile ML-42, AMD Athlon II Neo K325, 000760 AMD V140, AMD E1-1200 APU, AMD Athlon 64 3300+, 000730 Intel Core Duo T2400, AMD Turion 64 Mobile MK-38, AMD Sempron 3600+, 000700 Intel Core2 Duo U7600 U7700, AMD Sempron LE-1200, AMD V120 000680 AMD GX-212JC SOC, AMD E-300 APU, AMD A4-1200 APU, 000670 AMD Turion 64 Mobile MK-36 ML-37 ML-40, Mobile AMD Sempron 3800+ 000640 Intel Atom N2600, Intel Atom N570, Mobile AMD Athlon 64 3200+ 000640 Intel Core Duo T2300, Intel Core Duo T2050, 000630 VIA Eden X2 U4200, AMD Sempron LE-1100, AMD Sempron 3100+ 3600+, 000620 AMD C-70 C70 APU, Intel Atom 330, AMD G-T40N, AMD Athlon Neo MV-40, 000610 Intel Core2 Duo U7300, AMD Athlon II Neo K125 K145, 000600 Intel Atom N550, Intel Pentium 4, AMD Athlon 64 2800+, 000580 AMD C-60 C60, AMD G-T40E, AMD Sempron LE-1250 000530 AMD C-50 C50, Intel Celeron M 723, AMD Sempron 210U, 000490 AMD GX-210JA SOC, PowerPC 970 G5 IBM's 970 server CPU (2c), 000470 Mobile AMD Sempron 3500+, Mobile AMD Athlon XP-M 2200+, 000460 AMD Athlon XP 2500+, AMD Sempron 3500+, Mobile Intel Pentium 4, 000440 Intel Atom D425, Intel Atom N470, POWER 4 PPC, 000410 Intel Pentium M, Intel Celeron M, AMD Sempron 2300+ 000400 Intel Atom N450, AMD Sempron 2400+, 000340 Intel Atom D410, AMD G-T52R, AMD C-30, AMD Sempron 2200+ 000330 Intel Atom N455, Intel Atom N280, Intel Atom N270 (1c1t 2W), Intel P3, 000320 Freescale NXP QorIQ P1022 000310 PowerPC G4 7447 1Ghz (1c1t 15W), PPC440 core, 000230 PowerPC PPC G3/PPC 750, 000160 Pentium II, Motorola 68060 000080 Intel 80486, Motorola 68030, 000040 Intel 80386, 000030 Motorola 68020 000008 Motorola 68000 </pre> === Recommended hardware (32-bit) === [[#top|...to the top]] Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release. If in future decision will be made to drop any of the recommended hardware from the list (for example due to it no longer being available for purchase), such hardware will move to list of legacy supported systems and will have an indicated end of life date so that users have time to switch to other hardware. {| class="wikitable sortable" width="100%" | <!--OK-->{{Yes|'''Works well'''}} || <!--Not working-->{{No|'''Does not work'''}} || <!--Not applicable-->{{N/A|'''N/A not applicable'''}} |- |} ==== Virtual Hardware ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | VirtualBox 7.x (Other/Unknown template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments--> |- | VMware 16+ (Other32 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments--> |- | QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || <!--Comments--> |- |} ==== Laptops ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | ACER Aspire One ZG5 || {{Yes|IDE<br/>SATA(IDE)}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || {{Yes|ATHEROS}} || NOT APPLICABLE || <!--Comments--> |- | Dell Latitude D520 || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}} || {{Yes|BCM4400}} || {{No|}} || {{Yes|Atheros AR5BXB63}} || * select Intel Core 2 64-bit version, not Celeron 32-bit version <br/> * replace WiFi card to get wireless working |- |} ==== Desktop Systems ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | Fujitsu Futro S720 || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}} || {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * no 2D/3D acceleration<br/> * use USB ports at back |- |} ==== Motherboards ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance |- | Gigabyte GA-MA770T UD3/UD3P || {{Yes|IDE<br/>SATA(AHCI)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * requires external PCIe video card |- | ASUS M2N68-AM SE2 || {{Yes|IDE}} || {{Yes|NVIDIA}} || {{Yes|HDAudio}}|| {{Yes|NVNET}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * connecting a disk via SATA connector is not supported at this time <br/> * add external PCIe video card for better performance |- | Gigabyte GA-H55M-S2H || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || * add external PCIe video card for better performance |- |} ==== Legacy supported hardware ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="10%" |EOL ! width="35%" |Comments |- | iMica || {{Yes|IDE}} || {{Yes|GMA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || 2026-12-31 || |- | Gigabyte GA-MA770 UD3 || {{Yes|IDE<br/>SATA(IDE)}} || NOT APPLICABLE || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || {{Yes|GeForce 8xxx/9xxx}} || 2026-12-31 || * requires external PCIe video card |- |} === Recommended hardware (64-bit) === [[#top|...to the top]] Recommended hardware is hardware that has been tested with latest release of AROS and is relatively easy to purchase second hand (ie. ebay). This hardware also comes with commitment that compatibility will be maintained with each future release. ==== Virtual Hardware ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | VirtualBox 7.x (Other/Unknown (64-bit) template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|HDAudio}} || {{Yes|PCNET32<br/>E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support |- | VMware 16+ (Other64 template) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VMWARESVGA}} || {{Yes|SB128}} || {{Yes|E1000}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support |- | QEMU 8.x ("pc" and "q35" machines) || {{Yes|IDE<br/>SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|SB128}} || {{Yes|PCNET32}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support |- |} ==== Motherboards ==== {| class="wikitable" width="100%" ! width="20%" |Name ! width="5%" |Storage ! width="5%" |Gfx ! width="5%" |Audio ! width="5%" |Ethernet ! width="5%" |Wireless ! width="10%" |Additional hardware ! width="45%" |Comments |- | ASUS P8Z68V LX || {{Yes|SATA(AHCI)}} || {{Yes|VESA}} || {{Yes|HDAudio}}|| {{Yes|RTL8169}} || NOT APPLICABLE || NOT APPLICABLE || * No accelerated 3D support |- |} ==References== [[#top|...to the top]] {{reflist}} {{BookCat}} 3bhl2zvbaz97uaiiexxl3ep4p5kbo1r Aros/User/Applications 0 237399 4635383 4634673 2026-05-12T08:28:38Z Jeff1138 301139 4635383 wikitext text/x-wiki ==Introduction== [[#Graphical Image Editing Art]] [[#Office Application]] [[#Audio]] [[#Misc Application]] [[#Games & Emulation]] [[#Application Guides]] [[#top|...to the top]] [[#top|...to the top]] Most apps can be opened on the Workbench (aka publicscreen pubscreen) which is the default display option but can offer a custom one set to your configurations (aka custom screen mode promotion). These custom ones tend to stack so the possible use of A-M/A-N method of switching between full screens and the ability to pull down screens as well If you are interested in creating or porting new software, see [http://en.wikibooks.org/wiki/Aros/Developer/Docs here] {| class="wikitable sortable" |- !width:30%;|Internet Applications !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Web Online Browser [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/browser Odyssey 2.0], [https://www.arosworld.org/infusions/forum/viewthread.php?thread_id=1175&highlight=odyssey&rowstart=100 Odyssey 3.0], |<!--Amiga OS-->[https://blog.alb42.de/programs/amifox/ amifox] with [https://github.com/alb42/wrp wrp server], IBrowse*, Voyager*, [ AWeb], [https://github.com/matjam/aweb AWeb Src], [http://aminet.net/package/comm/www/NetSurf-m68k-sources Netsurf], [], |<!--AmigaOS4-->[ Odyssey OWB], [ Timberwolf (Firefox port 2011)], [http://amigaworld.net/modules/newbb/viewtopic.php?forum=32&topic_id=32847 OWB-mui], [http://strohmayer.org/owb/ OWB-Reaction], IBrowse*, [http://os4depot.net/index.php?function=showfile&file=network/browser/aweb.lha AWeb], Voyager, [http://www.os4depot.net/index.php?function=browse&cat=network/browser Netsurf], |<!--MorphOS-->Wayfarer, [http://fabportnawak.free.fr/owb/ Odyssey OWB], [ Netsurf], IBrowse*, AWeb, [], |- |<!--Sub Menu-->YouTube Viewing and downloading videos |<!--AROS-->Odyssey 2.0 can show Youtube webpage, [https://blog.alb42.de/amitube/ Amitube], |[https://blog.alb42.de/amitube/ Amitube], [https://github.com/YePpHa/YouTubeCenter/releases or this one], |[https://blog.alb42.de/amitube/ Amitube], getVideo, Tubexx, [https://github.com/walkero-gr/aiostreams aiostreams], |[ Wayfarer], [https://blog.alb42.de/amitube/ Amitube],Odyssey (OWB), [http://morphos.lukysoft.cz/en/vypis.php?kat=5 getVideo], Tubexx |- |<!--Sub Menu-->E-mailing SMTP POP3 IMAP based |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/email SimpleMail], [http://sourceforge.net/projects/simplemail/files/ src], [https://github.com/jens-maus/yam YAM] |<!--Amiga OS-->[http://sourceforge.net/projects/simplemail/files/ SimpleMail], [https://github.com/jens-maus/yam YAM] |<!--AmigaOS4-->SimpleMail, YAM, |<!--MorphOS--> SimpleMail, YAM |- |<!--Sub Menu-->IRC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat WookieChat], [https://sourceforge.net/projects/wookiechat/ Wookiechat src], [http://archives.arosworld.org/index.php?function=browse&cat=network/chat AiRcOS], Jabberwocky, |<!--Amiga OS-->Wookiechat, AmIRC |<!--AmigaOS4-->Wookiechat |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Wookiechat], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 AmIRC], |- |<!--Sub Menu-->Instant Messaging IM like [https://github.com/BlitterStudio/amidon Hollywood Mastodon client], BlueSky AT protocol, Facebook(TM), Twitter (TM) and others |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/chat jabberwocky], Bitlbee IRC Gateway |<!--Amiga OS-->[http://amitwitter.sourceforge.net/ AmiTwitter], CLIMM, SabreMSN, jabberwocky, |<!--AmigaOS4-->[http://amitwitter.sourceforge.net/ AmiTwitter], SabreMSN, |<!--MorphOS-->[http://amitwitter.sourceforge.net/ AmiTwitter], [http://morphos.lukysoft.cz/en/vypis.php?kat=5 PolyglotNG], SabreMSN, |- |<!--Sub Menu-->Torrents |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/p2p ArTorr], |<!--Amiga OS--> |<!--AmigaOS4-->CTorrent, Transmission |<!--MorphOS-->MLDonkey, Beehive, [http://morphos.lukysoft.cz/en/vypis.php?kat=5 Transmission], CTorrent, |- |<!--Sub Menu-->FTP |<!--AROS-->Plugin included with Dopus Magellan, MarranoFTP, |<!--Amiga OS-->[http://aminet.net/package/comm/tcp/AmiFTP AmiFTP], AmiTradeCenter, ncFTP, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=5 Pftp], [http://aminet.net/package/comm/tcp/AmiFTP-1.935-OS4 AmiFTP], |- |<!--Sub Menu-->WYSIWYG Web Site Editor |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Internet Radio Streaming Audio [http://www.gnu.org/software/gnump3d/ gnump3d], [http://www.icecast.org/ Icecast2] Server (Broadcast) and Client (Listen), [ mpd], [http://darkice.sourceforge.net/ DarkIce], [http://www.dyne.org/software/muse/ Muse], |<!--AROS-->Mplayer (Icecast Client only), |<!--Amiga OS-->[https://github.com/sandlbn/TuneFinder TuneFinder C Src], [https://github.com/sandlbn/TuneFinderMUI TuneFinderMUI], [http://amigazeux.net/anr/ AmiNetRadio], [], [], |<!--AmigaOS4-->[http://www.tunenet.co.uk/ Tunenet], |<!--MorphOS-->Mplayer, AmiNetRadio, |- |<!--Sub Menu-->VoIP (Voice over IP) with SIP Client (Session Initiation Protocol) or Asterisk IAX2 Clients Softphone (skype like) |<!--AROS--> |<!--Amiga OS-->AmiPhone with Speak Freely, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Weather Forecast |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ WeatherBar], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench AWeather], [] |<!--Amiga OS-->[http://amigazeux.net/wetter/ Wetter], [https://github.com/emartisoft/AmiWeatherForecasts AmiWeatherForecasts src], |<!--AmigaOS4-->[http://os4depot.net/?function=showfile&file=utility/workbench/flipclock.lha FlipClock], |<!--MorphOS-->[http://amigazeux.net/wetter/ Wetter], |- |<!--Sub Menu-->Street Road Maps Route Planning GPS Tracking |<!--AROS-->[https://blog.alb42.de/programs/muimapparium/ MuiMapparium] [https://build.alb42.de/ Build of MuiMapp versions], |<!--Amiga OS-->AmiAtlas*, UKRoutePlus*, [http://blog.alb42.de/ AmOSM], |<!--AmigaOS4--> |<!--MorphOS-->[http://blog.alb42.de/programs/mapparium/ Mapparium], |- |<!--Sub Menu-->Clock and Date setting from the internet (either ntp or websites) [https://www.timeanddate.com/worldclock/ World Clock], [http://www.time.gov/ NIST], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=network/misc ntpsync], |<!--Amiga OS-->ntpsync |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Newsgroups |<!--AROS--> |<!--Amiga OS-->[http://newscoaster.sourceforge.net/ Newscoaster], [https://github.com/jens-maus/newsrog NewsRog], [ WorldNews], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->IP-based video production workflows with High Dynamic Range (HDR), 10-bit color collaborative NDI, |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Blogging like Lemmy or kbin |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR face recognition for Vtubers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting Live 2D models with Cubism type editor <pre> Model data (cmo3) Basic motions (can3) Background image (png) Set of files for embedding (runtime folder) • Model data (moc3) • Motion data (motion3.json) • Model settings file (model3.json) • Physics settings file (physics3.json) • Display auxiliary file (cdi3.json) </pre> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->VR chatting chatters .VRML models - standardized 3D file format for VR avatars |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->V-tubers V-tubing like Vseeface with Openseeface tracker or Vpuppr (virtual puppet project) for 2d / 3d art models rigging rigged LIV |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Graphical Image Editing Art== {| class="wikitable sortable" |- !width:30%;|Image Editing !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Pixel Raster Artwork [https://github.com/LibreSprite/LibreSprite LibreSprite based on GPL aseprite], [https://github.com/abetusk/hsvhero hsvhero], [], |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/ZunePaint/ ZunePaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit LunaPaint], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit GrafX2], [ LodePaint needs OpenGL], |<!--Amiga OS-->[http://www.amigaforever.com/classic/download.html PPaint], GrafX2, [https://github.com/grovdata/Amiga_Sources/blob/master/software.md DeluxePaint], [http://www.amiforce.de/perfectpaint/perfectpaint.php PerfectPaint], Zoetrope, Brilliance2*, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/edit LodePaint], GrafX2, |<!--MorphOS-->Sketch, Pixel*, GrafX2, [http://morphos.lukysoft.cz/en/vypis.php?kat=3 LunaPaint] |- |<!--Sub Menu-->Image viewing |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LookHere], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer LoView], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer PicShow] , [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--Amiga OS-->PicShow, PicView, Photoalbum, |<!--AmigaOS4-->WarpView, PicShow, flPhoto, Thumbs, [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], [http://amigaworld.net/modules/newbb/viewtopic.php?mode=viewtopic&topic_id=31400&forum=32&start=80&viewmode=flat&order=0#583458 Picture Album] |- |<!--Sub Menu-->Photography retouching / Image Manipulation like Photoshop(tm) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOEffects], [https://sourceforge.net/projects/zunetools/files/ ZunePaint], [http://sourceforge.net/projects/zunetools/files/ ZuneView], |<!--Amiga OS-->[ Tecsoft Video Paint aka TVPaint], Photogenics*, ArtEffect*, ImageFX*, XiPaint, fxPaint, ImageMasterRT, Opalpaint, |<!--AmigaOS4-->WarpView, flPhoto, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit Photocrop] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 ShowGirls], ImageFX*, |- |<!--Sub Menu-->Manage RAW picture folder galleries like Darktable, RAWtherapy, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Graphic Format Converter - ICC profile support sRGB, Adobe RGB, XYZ and linear RGB |<!--AROS--> |<!--Amiga OS-->GraphicsConverter, ImageStudio, [http://www.coplabs.org/artpro.html ArtPro] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Thumbnail Generator [], |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/ ZuneView], [http://archives.arosworld.org/index.php?function=browse&cat=utility/shell Thumbnail Generator] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Icon Editor |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/iconedit Archives], [http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench Icon Toolbox], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=graphics/iconedit IconEditor] |<!--MorphOS--> |- |<!--Sub Menu-->2D Pixel Art Animation |<!--AROS-->Lunapaint |<!--Amiga OS-->PPaint, AnimatED, Scala*, GoldDisk MovieSetter*, Walt Disney's Animation Studio*, ProDAD*, [https://github.com/historicalsource/DeluxePaint DeluxePaint src], Brilliance |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=3 Titler] |- |<!--Sub Menu-->2D SVG based MovieSetter type |<!--AROS--> |<!--Amiga OS-->MovieSetter*, Fantavision* |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Morphing |<!--AROS-->[ GLMorph] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->2D Cad (qcad->LibreCAD, etc.) |<!--AROS--> |<!--Amiga OS-->Xcad, MaxonCAD |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Cad like FreeCad, BRL-CAD, OpenSCAD, AvoCADo, etc. using dxf, obj (vertices), blend, |<!--AROS--> |<!--Amiga OS-->XCad3d*, DynaCADD*, Cycas, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->3D Model Rendering of glft (json) gbl (png jpg), usdz (USD files with materials, textures, and animations), FBX Filmbox is a proprietary Autodesk format, |<!--AROS-->POV-Ray |<!--Amiga OS-->[http://www.discreetfx.com./amigaproducts.html CINEMA 4D]*, POV-Ray, Lightwave3D*, Real3D*, Caligari24*, Reflections/Monzoom*, [https://github.com/privatosan/RayStorm Raystorm src], Tornado 3D |<!--AmigaOS4-->Blender, POV-Ray, Yafray |<!--MorphOS-->Blender, POV-Ray, Yafray |- |<!--Sub Menu-->3D Format Converter [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=showfile&file=graphics/convert/ivcon.lha IVCon] |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen grabbing display |<!--AROS-->[ Screengrabber], [http://archives.arosworld.org/index.php?function=browse&cat=utility/misc snapit], [http://archives.arosworld.org/index.php?function=browse&cat=video/record screen recorder], [] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Grab graphics music from apps [https://github.com/Malvineous/ripper6 ripper6], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Office Application== {| class="wikitable sortable" |- !width:30%;|Office !width:10%;|AROS (x86) !width:10%;|[http://en.wikipedia.org/wiki/Amiga_software Commodore-Amiga OS 3.1] (68k) !width:10%;|[http://en.wikipedia.org/wiki/AmigaOS_4 Hyperion OS4] (PPC) !width:10%;|[http://en.wikipedia.org/wiki/MorphOS MorphOS] (PPC) |- |<!--Sub Menu-->Word-processing |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=office/wordprocessing Cinnamon Writer], [https://finalwriter.godaddysites.com/ Final Writer 7*], [https://github.com/sodero/MUI-Vim/releases MUI-Vim], [ ], |<!--AmigaOS-->[ Softwood FinalCopy II*], Haage AmigaWriter*, Digita WordWorth*, Softwood FinalWriter*, Micro-Systems Excellence 3*, Arnor Protext, Rashumon, [ InterWord], [ KindWords], [WordPerfect], [ New Horizons Flow], [ CygnusEd Pro], [ Micro-systems Scribble], |<!--AmigaOS4-->AbiWord, [ CinnamonWriter] |<!--MorphOS-->[ Cinnamon Writer], [http://www.meta-morphos.org/viewtopic.php?topic=1246&forum=53 scriba], [http://morphos.lukysoft.cz/en/index.php Papyrus Office], |- |<!--Sub Menu-->Spreadsheets |<!--AROS-->[https://blog.alb42.de/programs/leu/ Leu], [https://archives.arosworld.org/index.php?function=browse&cat=office/spreadsheet], |<!--AmigaOS-->[https://aminet.net/package/biz/spread/ignition-src Ignition Src 1.3], [MaxiPlan 500 Plus], [OXXI Plan/IT v2.0 Speadsheet], [ Superplan], [ Creative Developments TurboCalc], [ ProCalc], [ InterSpread], [Digita DGCalc], [ Gold Disk Advantage], [ Micro-systems Analyze!] |<!--AmigaOS4-->Gnumeric, [https://ignition-amiga.sourceforge.net/ Ignition], |<!--MorphOS-->[ ignition], [http://morphos.lukysoft.cz/en/vypis.php Papyrus Office], |- |<!--Sub Menu-->Presentations |<!--AROS-->[http://www.hollywoood-mal.com/ Hollywood]*, |<!--Amiga OS-->[http://www.hollywoood-mal.com/ Hollywood]*, MediaPoint, PointRider, Scala*, |<!--Amiga OS4-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |<!--MorphOS-->[http://www.hollywoood-mal.com/ Hollywood]*, PointRider |- |<!--Sub Menu-->Databases |<!--AROS-->[http://sdb.freeforums.org/ SDB], [http://archives.arosworld.org/index.php?function=browse&cat=office/database BeeBase], |<!--Amiga OS-->Precision Superbase 4 Pro*, Arnor Prodata*, BeeBase, Datastore, FinalData*, AmigaBase, Fiasco, Twist2*, [Digita DGBase], [], |<!--AmigaOS4-->BeeBase, SQLite, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=6 BeeBase], |- |<!--Sub Menu-->PDF Viewing and editing digital signatures |<!--AROS-->[http://sourceforge.net/projects/arospdf/ ArosPDF via splash], [https://github.com/wattoc/AROS-vpdf vpdf wip], |<!--Amiga OS-->APDF |<!--AmigaOS4-->AmiPDF |<!--MorphOS-->APDF, vPDF, |- |<!--Sub Menu-->Printing |<!--AROS-->Postscript 3 laser printers and Ghostscript internal, [ GutenPrint], |<!--Amiga OS-->[http://www.irseesoft.de/tp_what.htm TurboPrint]* |<!--AmigaOS4-->(some native drivers), |<!--MorphOS-->early TurboPrint included, |- |<!--Sub Menu-->Note Taking Rich Text support like joplin, OneNote, EverNote Notes, xournalpp, etc |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->PIM Personal Information Manager - Day Diary Planner Calendar App |<!--AROS-->[ ], [ ], [ ], |<!--Amiga OS-->Digita Organiser*, On The Ball, Everyday Organiser, [ Contact Manager], |<!--AmigaOS4-->AOrganiser, |<!--MorphOS-->[http://polymere.free.fr/orga_en.html PolyOrga], |- |<!--Sub Menu-->Accounting |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=office/misc ETB], LoanCalc, [ ], [ ], [ ], |[ Digita Home Accounts2], Accountant, Small Business Accounts, Account Master, [ Amigabok], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Project Management |<!--AROS--> |<!--Amiga OS-->SuperGantt, SuperPlan, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System Wide Dictionary - multilingual [http://sourceforge.net/projects/babiloo/ Babiloo], [http://code.google.com/p/stardict-3/ StarDict], |<!--AROS-->[ ], |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System wide Thesaurus - multi lingual |<!--AROS-->[ ], |Kuma K-Roget*, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Sticky Desktop Notes (post it type) |<!--AROS-->[http://aminet.net/package/util/wb/amimemos.i386-aros AmiMemos], [https://aminet.net/package/util/wb/amimemos.src-aros AmiMemos Src], [], |<!--Amiga OS-->[http://aminet.net/package/util/wb/StickIt-2.00 StickIt v2], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DTP Desktop Publishing |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit RNOPublisher], |<!--Amiga OS-->[http://pagestream.org/ Pagestream]*, Professional Pro Page*, Saxon Publisher, Pagesetter, PenPal, |<!--AmigaOS4-->[http://pagestream.org/ Pagestream]* |<!--MorphOS-->[http://pagestream.org/ Pagestream]* |- |<!--Sub Menu-->Scanning |<!--AROS-->[ SCANdal], [], |<!--Amiga OS-->FxScan*, ScanQuix* |<!--AmigaOS4-->SCANdal (Sane) |<!--MorphOS-->SCANdal |- |<!--Sub Menu-->OCR |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/convert gOCR] |<!--AmigaOS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos-files.net/categories/office/text Tesseract] |- |<!--Sub Menu-->Text Editing |<!--AROS-->Jano Editor (already installed as Editor), [http://archives.arosworld.org/index.php?function=browse&cat=development/edit EdiSyn], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit Annotate], [https://archives.arosworld.org/index.php?function=browse&cat=development/edit Vim], [http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd] [https://github.com/vidarh/FrexxEd src], [ NoWinEd], |<!--Amiga OS-->Annotate, MicroGoldED/CubicIDE*, CygnusED*, Turbotext, Protext*, NoWinED, |<!--AmigaOS4-->Notepad, Annotate, CygnusED*, NoWinED, |<!--MorphOS-->MorphOS ED, NoWinED, GoldED/CubicIDE*, CygnusED*, Annotate, |- |<!--Sub Menu-->Office Fonts [http://sourceforge.net/projects/fontforge/files/fontforge-source/ Font Designer] |<!--AROS-->[ ], [ ], |<!--Amiga OS-->TypeSmith*, SaxonScript (GetFont Adobe Type 1), |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Drawing Vector |<!--AROS-->[http://sourceforge.net/projects/amifig/ ZuneFIG previously AmiFIG] |<!--Amiga OS-->Drawstudio*, ProVector*, ArtExpression*, Professional Draw*, AmiFIG, MetaView, [https://gitlab.com/amigasourcecodepreservation/designworks Design Works Src], [], |<!--AmigaOS4-->MindSpace, [http://www.os4depot.net/index.php?function=browse&cat=graphics/edit amifig], |<!--MorphOS-->SteamDraw, [http://aminet.net/package/gfx/edit/amifig amiFIG], |- |<!--Sub Menu-->video conferencing (jitsi) |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->source code hosting |<!--AROS-->Gitlab, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Remote Desktop (server) |<!--AROS-->[http://sourceforge.net/projects/zunetools/files/VNC_Server ArosVNCServer], |<!--Amiga OS-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC], [http://dspach.free.fr/amiga/avnc/index.html AVNC] |<!--AmigaOS4-->[http://s.guillard.free.fr/AmiVNC/AmiVNC.htm AmiVNC] |MorphVNC, vncserver |- |<!--Sub Menu-->Remote Desktop (client) |<!--AROS-->[https://sourceforge.net/projects/zunetools/files/VNC_Client/ ArosVNC], [http://archives.arosworld.org/index.php?function=browse&cat=network/misc rdesktop], |<!--Amiga OS-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://dspach.free.fr/amiga/vva/index.html VVA], [http://www.hd-zone.com/ RDesktop] |<!--AmigaOS4-->[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |[http://twinvnc.free.fr/index.php?menu=01&lang=eng TwinVNC], [http://www.hd-zone.com/ RDesktop] |- |<!--Sub Menu-->notifications |<!--AROS--> |<!--Amiga OS-->Ranchero |<!--AmigaOS4-->Ringhio |<!--MorphOS-->MagicBeacon |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Audio== {| class="wikitable sortable" |- !width:30%;|Audio !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing playback Audio like MP3, [https://github.com/chrg127/gmplayer NSF], [https://github.com/kode54/lazyusf miniusf .usflib], [], etc |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer], [ HarmonyPlayer hp], [http://www.a500.org/downloads/audio/index.xhtml playcdda] CDs, [ WildMidi Player], [https://bszili.morphos.me/ UADE mod player], [], [RNOTunes ], [ mp3Player], [], |<!--Amiga OS-->AmiNetRadio, AmigaAmp, playOGG, |<!--AmigaOS4-->TuneNet, SimplePlay, AmigaAmp, TKPlayer |AmiNetRadio, Mplayer, Kaya, AmigaAmp |- |<!--Sub Menu-->Editing Audio |<!--AROS-->[ Audio Evolution 4] |<!--Amiga OS-->[ Samplitude Opus Key], [https://sourceforge.net/projects/hd-rec/ HD-Rec Src], [http://www.sonicpulse.de/eng/news.html SoundFX], |<!--AmigaOS4-->[https://sourceforge.net/projects/hd-rec/ HD-Rec], AmiSoundED, [http://os4depot.net/?function=showfile&file=audio/record/audioevolution4.lha Audio Evolution 4] |[http://www.hd-rec.de/HD-Rec/index.php?site=home HD-Rec], |- |<!--Sub Menu-->Editing Tracker Music |<!--AROS-->[https://github.com/hitchhikr/protrekkr Protrekkr], [ Schism Tracker], [http://archives.arosworld.org/index.php?function=browse&cat=audio/tracker MilkyTracker], [http://www.hivelytracker.com/ HivelyTracker], [ Radium in AROS already], [http://www.a500.org/downloads/development/index.xhtml libMikMod], |<!--Amiga OS-->MilkyTracker, HivelyTracker, DigiBooster, Octamed SoundStudio, |<!--AmigaOS4-->MilkyTracker, HivelyTracker, GoatTracker |MilkyTracker, GoatTracker, DigiBooster, |- |<!--Sub Menu-->Editing Music [], [https://github.com/kmatheussen/camd CAMD] and/or staves and notes manuscript |<!--AROS-->[http://bnp.hansfaust.de/ Bars and Pipes for AROS], [ Audio Evolution], [], |<!--Amiga OS-->[http://bnp.hansfaust.de/ Bars'n'Pipes], MusicX* David "Talin" Joiner & Craig Weeks (for Notator-X), Deluxe Music Construction 2*, [https://github.com/timoinutilis/midi-sequencer-amigaos Horny c Src], HD-Rec, [https://aminet.net/package/mus/midi/dominatorV1_51 Dominator], |<!--AmigaOS4-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Rockbeat, [http://bnp.hansfaust.de/download.html Bars'n'Pipes], [http://os4depot.net/index.php?function=browse&cat=audio/edit Horny], Audio Evolution 4, |<!--MorphOS-->Bars'n'Pipes, |- |<!--Sub Menu-->Sound Sampling |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/record Audio Evolution 4], [http://www.imica.net/SitePortalPage.aspx?siteid=1&did=162 Quick Record], [https://archives.arosworld.org/index.php?function=browse&cat=audio/misc SOX to get AIFF 16bit files], [https://github.com/aros-development-team/AROS/tree/master/workbench/tools/AHIRecord AHIRecord], |<!--Amiga OS-->[https://aminet.net/package/mus/edit/AudioEvolution3_src Audio Evolution 3 c src], [ Samplitude-MS Opus Key], Audiomaster IV*, |<!--AmigaOS4-->[https://github.com/timoinutilis/phonolith-amigaos phonolith c src], HD-Rec, Audio Evolution 4, |<!--MorphOS-->[https://sourceforge.net/p/hd-rec/code/HEAD/tree/ HD-Rec Src], Audio Evolution 4, |- |<!--Sub Menu-->Live Looping or Audio Misc - Groovebox like |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->CD/DVD burn |[https://code.google.com/p/amiga-fryingpan/ FryingPan], |<!--Amiga OS-->FryingPan, [http://www.estamos.de/makecd/#CurrentVersion MakeCD], |<!--AmigaOS4-->FryingPan, AmiDVD, |[http://www.amiga.org/forums/printthread.php?t=58736 FryingPan], Jalopeano, |- |<!--Sub Menu-->CD/DVD audio rip |Lame, [http://www.imica.net/SitePortalPage.aspx?siteid=1&cfid=0&did=167 Quick CDrip], |<!--Amiga OS-->Lame, |<!--AmigaOS4-->Lame, |Lame, |- |<!--Sub Menu-->MP3 v1 and v2 Tagger |<!--AROS-->id3ren (v1), [http://archives.arosworld.org/index.php?function=browse&cat=audio/edit mp3info], |<!--Amiga OS--> |<!--AmigaOS4--> | |- |<!--Sub Menu-->Audio Convert |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=audio/misc Sox], [], |<!--Amiga OS-->[http://aminet.net/package/mus/misc/SoundBox SoundBox], [http://aminet.net/package/mus/misc/SoundBoxKey SoundBox Key], [http://aminet.net/package/mus/edit/SampleE SampleE], sox |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->DJ mixing jamming |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Radio Automation Software [http://www.rivendellaudio.org/ Rivendell], [http://code.campware.org/projects/livesupport/report/3 Campware LiveSupport], [http://www.sourcefabric.org/en/airtime/ SourceFabric AirTime], [http://www.ohloh.net/p/mediabox404 MediaBox404], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speakers Audio Sonos Mains AC networked wired controlled *2005 ZP100 with ZP80 *2008 Zoneplayer ZP120 (multi-room wireless amp) ZP90 receiver only with CR100 controller, *2009 ZonePlayer S5, *2010 BR100 wireless Bridge (no support), *2011 Play:3 *2013 Bridge (no support), Play:1, *2016 Arc, Play:1, *Beam (Gen 2), Playbar, Ray, Era 100, Era 300, Roam, Move 2, *Sub (Gen 3), Sub Mini, Five, Amp S2 |<!--AROS-->SonosController |<!--Amiga OS-->SonosController |<!--AmigaOS4-->SonosController |<!--MorphOS-->SonosController |- |<!--Sub Menu-->Smart Speakers |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Video Creativity and Production== {| class="wikitable sortable" |- !width:30%;|Video !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Playing Video |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/play Mplayer VAMP], [http://www.a500.org/downloads/video/index.xhtml CDXL player], [http://www.a500.org/downloads/video/index.xhtml IffAnimPlay], [], |<!--Amiga OS-->Frogger*, AMP2, MPlayer, RiVA*, MooViD*, |<!--AmigaOS4-->DvPlayer, MPlayer |<!--MorphOS-->MPlayer, Frogger, AMP2, VLC |- |<!--Sub Menu-->Streaming Video and game streaming like OBS studio, Parsec, etc |<!--AROS-->Mplayer, |<!--Amiga OS--> |<!--AmigaOS4-->Mplayer, Gnash, Tubexx |<!--MorphOS-->Mplayer, OWB, Tubexx |- |<!--Sub Menu-->Playing DVD |<!--AROS-->[http://a-mc.biz/ AMC]*, Mplayer |<!--Amiga OS-->AMP2, Frogger |<!--AmigaOS4-->[http://a-mc.biz/ AMC]*, DvPlayer*, AMP2, |<!--MorphOS-->Mplayer |- |<!--Sub Menu-->Screen Recording |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=video/record Screenrecorder], [ ], [ ], [ ], [ ], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Screenrecorder, |- |<!--Sub Menu-->Create and Edit Individual Video NLE |<!--AROS-->[ Mencoder], [ Quick Videos], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/edit AVIbuild], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/misc FrameBuild], FFMPEG, |<!--Amiga OS-->[ MainConcept Mainactor Broadcast*], [http://en.wikipedia.org/wiki/Video_Toaster Video Toaster*], MacroSystem MovieShop 4.3*, proDAD Adorage*, [ IOSpirit VHI studio]*, [Gold Disk ShowMaker], [], |<!--AmigaOS4-->FFMpeg/GUI |<!--MorphOS-->Blender, Mencoder, FFmpeg |- |<!--Sub Menu-->Subtitle editor |<!--AROS-->[https://aminet.net/package/text/edit/Slarti_Arosx86ABIv0 Slarti_Arosx86ABIv0], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. [[#top|...to the top]] ==Misc Application== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1 (68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->File Management |<!--AROS-->DOpus4, [https://github.com/BlitterStudio/dopus5 DOpus Magellan aka DOpus 5], [ Scalos], [ ], |<!--Amiga OS-->DOpus2, DOpus 4, [http://sourceforge.net/projects/dopus5allamigas/files/?source=navbar DOpus Magellan DOpus5], ClassAction, FileMaster, [http://www.amiga.org/forums/showthread.php?t=4897 DirWork 2]*, [https://github.com/RudolphRiedel/DiskMaster2 DiskMaster2 src], |<!--AmigaOS4-->DOpus4, DOpus5, Filer, AmiDisk |<!--MorphOS-->DOpus4, DOpus5 |- |<!--Sub Menu-->File Verification / Repair |<!--AROS-->md5 (works in linux compiling shell), [http://archives.arosworld.org/index.php?function=browse&cat=utility/filetool workpar2] (PAR2), [http://zakalwe.fi/~shd/foss/cksfv/files/ compile cksfv from website], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->Par2, |- |App Installer |<!--AROS-->[], [ InstallerNG], |<!--Amiga OS-->InstallerNG, Grunch, |<!--AmigaOS4-->Jack |<!--MorphOS-->Jack |- |<!--Sub Menu-->Compression archiver [https://github.com/FS-make-simple/paq9a paq9a], [], |<!--AROS-->XAD system is a toolkit designed for handling various file and disk archiver |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->C/C++ IDE |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/text/edit FrexxEd], [https://github.com/vidarh/FrexxEd FrexxEd src], Annotate, Murks, |<!--Amiga OS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Annotate, |<!--AmigaOS4-->CodeBench , [https://gitlab.com/boemann/codecraft CodeCraft], |<!--MorphOS-->[http://devplex.awardspace.biz/cubic/index.html Cubic IDE]*, Anontate, |- |<!--Sub Menu-->Gui Creators |<!--AROS-->[ MuiBuilder], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[ MuiBuilder], |- |<!--Sub Menu-->Catalog .cd .ct Editors |<!--AROS-->FlexCat |<!--Amiga OS-->[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |<!--AmigaOS4-->[http://aminet.net/package/dev/misc/simplecat SimpleCat], FlexCat |[http://www.geit.de/deu_simplecat.html SimpleCat], FlexCat |- |<!--Sub Menu-->Binary Hexadecimal Editor |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=development/edit Zaphod], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Repository |<!--AROS-->[ Git] |<!--Amiga OS--> |<!--AmigaOS4-->Git |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Backup |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Filesystem Repair |<!--AROS-->ArSFSDoctor, |<!--Amiga OS--> Quarterback Tools, [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Multiple File renaming |<!--AROS-->DOpus 4 or 5, |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Anti Virus |<!--AROS--> |<!--Amiga OS-->VChecker, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Random Wallpaper Desktop changer [ DOpus5], [ Scalos], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Alarm Clock, Timer, Stopwatch, Countdown |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/workbench DClock], [http://aminet.net/util/time/AlarmClockAROS.lha AlarmClock], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Digital Signage |<!--AROS-->Hollywood, Hollywood Designer |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Fortune Cookie Quotes Sayings |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/misc AFortune], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Languages |<!--AROS--> |<!--Amiga OS-->Fun School, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Mathematics ([http://www-fourier.ujf-grenoble.fr/~parisse/install_en.html Xcas], etc.), |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/scientific mathX] |<!--Amiga OS-->Maple V, mathX, Fun School, GCSE Maths, [ ], [ ], [ ], |<!--AmigaOS4-->Yacas |<!--MorphOS-->Yacas |- |} <nowiki>*</nowiki> Commercial product. ==Misc Application 2== {| class="wikitable sortable" |- !width:30%;|Misc Application !width:10%;|AROS(x86) !width:10%;|Commodore-Amiga OS 3.1(68k) !width:10%;|Hyperion OS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->BASIC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/language Basic4SDL], [ Ace Basic], [ X-AMOS], [SDLBasic], [ Alvyn], |<!--Amiga OS-->[http://www.amiforce.de/main.php Amiblitz 3], [http://amos.condor.serverpro3.com/AmosProManual/contents/c1.html Amos Pro], [http://aminet.net/package/dev/basic/ace24dist ACE Basic], |<!--AmigaOS4--> |<!--MorphOS-->sdlBasic |- |<!--Sub Menu-->OSK On Screen Keyboard |<!--AROS-->[], |<!--Amiga OS-->[https://aminet.net/util/wb/OSK.lha OSK] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Magnifier Magnifying Glass Magnification |<!--AROS-->[http://www.onyxsoft.se/files/zoomit.lha ZoomIT], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Comic Book CBR CBZ format reader viewer |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comics], [http://archives.arosworld.org/index.php?function=browse&cat=graphics/viewer comicon], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Reader |<!--AROS-->[https://blog.alb42.de/programs/#legadon Legadon EPUB],[] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Ebook Converter |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Text to Speech tts [https://github.com/JonathanFly/bark-installer Bark], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=audio/misc flite], |<!--Amiga OS-->[http://www.text2speech.com translator], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=search&tool=simple FLite] |<!--MorphOS-->[http://se.aminet.net/pub/aminet/mus/misc/ FLite] |- |<!--Sub Menu-->Speech Voice Recognition Dictation - [http://sourceforge.net/projects/cmusphinx/files/ CMU Sphinx], [http://julius.sourceforge.jp/en_index.php?q=en/index.html Julius], [http://www.isip.piconepress.com/projects/speech/index.html ISIP], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Speech Voice Changer [], [], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Fractals |<!--AROS--> |<!--Amiga OS-->ZoneXplorer, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Landscape Rendering |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=graphics/raytrace WCS World Construction Set], |<!--Amiga OS-->[ Vista Pro], [http://en.wikipedia.org/wiki/World_Construction_Set World Construction Set] |<!--AmigaOS4-->[ WCS World Construction Set], |<!--MorphOS-->[ WCS World Construction Set], |- |<!--Sub Menu-->Astronomy |<!--AROS-->[ Digital Almanac (ABIv0 only)], |<!--Amiga OS-->[http://aminet.net/search?query=planetarium Aminet search], [http://aminet.net/misc/sci/DA3V56ISO.zip Digital Almanac], [https://aminet.net/package/misc/sci/da3sourceV58 Src c V58], [ Galileo renamed to Distant Suns]*, [http://www.syz.com/DU/ Digital Universe]*, |<!--AmigaOS4-->[http://sourceforge.net/projects/digital-almanac/ Digital Almanac], Distant Suns*, [http://www.digitaluniverse.org.uk/ Digital Universe]*, |<!--MorphOS-->[http://www.aminet.net/misc/sci/da3.lha Digital Almanac], [http://www.aminet.net/package/misc/sci/da3-mos-src Src c V56], |- |<!--Sub Menu-->PCB design |<!--AROS--> |<!--Amiga OS-->[ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Genealogy History Family Tree Ancestry Records (FreeBMD, FreeREG, and FreeCEN file formats or GEDCOM GenTree) |<!--AROS--> |<!--Amiga OS--> [ Origins], [ Your Family Tree], [ ], [ ], [ ], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Screen Display Blanker screensaver |<!--AROS-->Blanker Commodity (built in), [https://archives.arosworld.org/index.php?function=browse&cat=graphics/screenblanker GarshneBlanker], [http://sourceforge.net/projects/gblanker/ GBlanker Src], [], |<!--Amiga OS-->MultiCX, |<!--AmigaOS4--> |<!--MorphOS-->ModernArt Blanker, |- |<!--Sub Menu-->Maths Graph Function Plotting |<!--AROS-->[https://blog.alb42.de/programs/#MUIPlot MUIPlot], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->App Utility Launcher Dock toolbar |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=utility/docky BoingBar], [], |<!--Amiga OS-->[https://github.com/adkennan/DockBot Dockbot], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Classroom Aids |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Assessments |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Reference |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Training |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Courseware |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Skills Builder |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->System |<!--AROS-->[ SysExplorer], [ SysMon], [ Scout], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} <nowiki>*</nowiki> Commercial product. ==Games & Emulation== Some emulators/games require OpenGL to function and to adjust ahi prefs channels, frequency and unit0 and unit1 and [http://aros.sourceforge.net/documentation/users/shell/changetaskpri.php changetaskpri -1] Rom patching https://www.marcrobledo.com/RomPatcher.js/ https://www.romhacking.net/patch/ (ips, ups, bps, etc) and this other site supports the latter formats https://hack64.net/tools/patcher.php Free public domain roms for use with emulators can be found [http://www.pdroms.de/ here] as most of the rest are covered by copyright rules. If you like to read about old games see [http://retrogamingtimes.com/ here] and [http://www.armchairarcade.com/neo/ here] and a [http://www.vintagecomputing.com/ blog] about old computers. Possibly some of the [http://www.answers.com/topic/list-of-best-selling-computer-and-video-games best selling] of all time. [http://en.wikipedia.org/wiki/List_of_computer_system_emulators Wiki] with emulated systems list. [https://archive.gamehistory.org/ Archive of VGHF], [https://library.gamehistory.org/ Video Game History Foundation Library search] {| class="wikitable sortable" |- !width:10%;|Games [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Emulation] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- |<!--Sub Menu-->Games Emulation Amstrad CPC |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [ Caprice32 (OpenGL & pure SDL)], [ Arnold], [https://retroshowcase.gr/cpcbox-master/], |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2], |- |<!--Sub Menu-->Games Emulation Apple2 and 2GS |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Arcade |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Mame], [ SI Emu (ABIv0 only)], |<!--Amiga OS-->Mame, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem xmame], amiarcadia, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 Mame], |- |<!--Sub Menu-->Games Emulation Atari 2600 [], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Stella], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 5200 [https://github.com/wavemotion-dave/A5200DS A5200DS], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 7800 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari 400 800 130XL [https://github.com/wavemotion-dave/A8DS A8DS], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Atari800], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Lynx |<!--AROS-->[http://myfreefilehosting.com/f/6366e11bdf_1.93MB Handy (ABIv0 only)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Atari Jaguar |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Bandai Wonderswan |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation BBC Micro and Acorn Electron [http://beehttps://bem-unix.bbcmicro.com/download.html BeebEm], [http://b-em.bbcmicro.com/ B-Em], [http://elkulator.acornelectron.co.uk/ Elkulator], [http://electrem.emuunlim.com/ ElectrEm], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Dragon 32 and Tandy CoCo [http://www.6809.org.uk/xroar/ xroar], [], |<!--AROS-->[], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C16 Plus4 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Commodore C64 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Vice (ABIv0 only)], [], |<!--Amiga OS-->Frodo, |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem viceplus], |<!--MorphOS-->Vice, |- |<!--Sub Menu-->Games Emulation Commodore Amiga |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Janus UAE], Emumiga, |<!--Amiga OS--> |<!--AmigaOS4-->[http://os4depot.net/index.php?function=browse&cat=emulation/computer UAE], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=2 UAE], |- |<!--Sub Menu-->Games Emulation Japanese MSX MSX2 |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Intelivision |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Mattel Colecovision and Adam |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Milton Bradley (MB) Vectrex [ Vectrex OpenGL], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation PICO8 Pico-8 fantasy video game console [https://github.com/egordorichev/pemsa-sdl/ pemsa-sdl], [https://github.com/jtothebell/fake-08 fake-08], [https://github.com/Epicpkmn11/fake-08/tree/wip fake-08 fork], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo Gameboy |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem vba no sound], [], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem vba] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo NES |<!--AROS-->[ EmiNES], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Fceu], [https://github.com/takahirox/nes-js?tab=readme-ov-file nes-js], [https://github.com/bfirsh/jsnes jsnes], [https://github.com/angelo-wf/NesJs NesJs], |<!--Amiga OS-->AmiNES, [http://www.dridus.com/~nyef/darcnes/ darcNES], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem amines] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Nintendo SNES |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Zsnes], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem warpsnes] |<!--MorphOS-->[http://fabportnawak.free.fr/snes/ Snes9x], |- |<!--Sub Menu-->Games Emulation Nintendo N64 *HLE and plugins [ mupen64], [https://github.com/ares-emulator/ares ares], [https://github.com/N64Recomp/N64Recomp N64Recomp], [https://github.com/rt64/rt64 rt64], [https://github.com/simple64/simple64 Simple64], *LLE [], |<!--AROS-->[http://code.google.com/p/mupen64plus/ Mupen64+], |<!--Amiga OS-->[http://code.google.com/p/mupen64plus/ Mupen64+], [http://aminet.net/package/misc/emu/tr-981125_src TR64], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Gamecube Wii] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Nintendo Wii U] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/yuzu-emu Nintendo Switch] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation NEC PC Engine |<!--AROS-->[], [], [https://github.com/yhzmr442/jspce js-pce], |[http://www.hugo.fr.fm/ Hugo], [http://mednafen.sourceforge.net/ Mednafen], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem tgemu] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Master System (SMS) |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem Dega], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem sms], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem osmose] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Genesis/Megadrive |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem gp no sound], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem DGen], |<!--Amiga OS-->[http://code.google.com/p/genplus-gx/ Genplus], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem genesisplus] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Saturn *HLE [https://mednafen.github.io/ mednafen], [http://yabause.org/ yabause], [], *LLE [], [], |<!--AROS-->? |<!--Amiga OS-->[http://yabause.org/ Yabause], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sega Dreamcast *HLE [https://github.com/flyinghead/flycast flycast], [https://code.google.com/archive/p/nulldc/downloads NullDC], *LLE [], [], |<!--AROS-->? |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair ZX80 and ZX81 |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair Spectrum |[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Fuse (crackly sound)], [http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer SimCoupe], [ FBZX slow], [https://jsspeccy.zxdemo.org/ jsspeccy], [http://torinak.com/qaop/games qaop], |<!--Amiga OS-->[http://www.lasernet.plus.com/ Asp], [http://www.zophar.net/sinclair.html Speculator], [http://www.worldofspectrum.org/x128/index.html X128], |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/computer] |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sinclair QL |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], [], |<!--Amiga OS-->[http://aminet.net/package/misc/emu/QDOS4amiga1 QDOS4amiga] |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation SNK NeoGeo Pocket |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem gngeo], NeoPop, |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation Sony PlayStation |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/gamesystem FPSE], |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem FPSE] |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS2] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[ Sony PS3] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://vita3k.org/ Sony Vita] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->[https://github.com/shadps4-emu/shadPS4 PS4] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation [http://en.wikipedia.org/wiki/Tangerine_Computer_Systems Tangerine] Oric and Atmos |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer Oricutron] |<!--Amiga OS--> |<!--AmigaOS4-->[http://www.os4depot.net/index.php?function=browse&cat=emulation/gamesystem Oricutron] |<!--MorphOS-->[http://aminet.net/package/misc/emu/oricutron Oricutron] |- |<!--Sub Menu-->Games Emulation TI 99/4 99/4A [https://github.com/wavemotion-dave/DS994a DS994a], [], [https://js99er.net/#/ js99er], [], [http://aminet.net/package/misc/emu/TI4Amiga TI4Amiga], [http://aminet.net/package/misc/emu/TI4Amiga_src TI4Amiga src in c], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=emulation/computer], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation HP 38G 40GS 48 49G/50G Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Emulation TI 58 83 84 85 86 - 89 92 Graphing Calculators |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu--> |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |} {| class="wikitable sortable" |- !width:10%;|Games [https://www.rockpapershotgun.com/ General] !width:10%;|AROS(x86) !width:10%;|AmigaOS3(68k) !width:10%;|AmigaOS4(PPC) !width:10%;|MorphOS(PPC) |- style="background:lightgrey; text-align:center; font-weight:bold;" | Games [https://www.trackawesomelist.com/michelpereira/awesome-open-source-games/ Open Source and others] || AROS || Amiga OS || Amiga OS4 || Morphos |- |<!--Sub Menu-->Games Action like [https://github.com/BSzili/OpenLara/tree/amiga/src source of openlara SDL2], [https://github.com/opentomb/OpenTomb opentomb], [https://github.com/LostArtefacts/TRX TRX formerly Tomb1Main], [https://github.com/TombEngine TombEngine], [http://archives.arosworld.org/index.php?function=browse&cat=game/action Thrust], [https://github.com/fragglet/sdl-sopwith sdl sopwith], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/action], [https://archives.arosworld.org/index.php?function=browse&cat=game/action BOH], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Adventure like [http://dotg.sourceforge.net/ DMJ], [https://github.com/kromenak/gengine Gabriel Knight 3], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/adventure], [https://archives.arosworld.org/?function=browse&cat=emulation/misc ScummVM], [http://www.toolness.com/wp/category/interactive-fiction/ Infocom], [http://www.accardi-by-the-sea.org/ Zork Online]. [http://www.sarien.net/ Sierra Sarien], [http://www.ucw.cz/draci-historie/index-en.html Dragon History for ScummVM], [] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Board like [https://github.com/aperture-software/colditz-escape escape from colditz], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/board], [http://amigan.1emu.net/releases Africa] |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Cards like |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/card ], [], |<!--AmigaOS-->[http://home.arcor.de/amigasolitaire/e/welcome.html Reko], [https://github.com/samskivert/beschei-en beschei Src], |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Misc [https://github.com/michelpereira/awesome-open-source-games Awesome open], [https://github.com/bobeff/open-source-games General Open Source], [https://github.com/SAT-R/sa2 Sonic Advance 2], [https://github.com/velorek1/cwordle Wordle type], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/misc], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games FPS like [https://aminet.net/package/game/shoot/D1X_Rebirth_AGA Descent D1X src], [https://github.com/DescentDevelopers/Descent3 Descent 3], [https://github.com/Fewnity/Counter-Strike-Nintendo-DS Counter-Strike-Nintendo-DS], [https://github.com/Aleph-One-Marathon/alephone Bungie Marathon 1994], [https://bszili.morphos.me/ gzdoom skulltag], |<!--AROS-->Doom, Quake, [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Quake 3 Arena (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Assault Cube (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Cube 2 Sauerbraten (OpenGL)], [http://fodquake.net/test/ FodQuake QuakeWorld], [ Duke Nukem 3D], [ Darkplaces Nexuiz Xonotic], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Doom 3 SDL (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/fps Hexenworld and Hexen 2], [ Aliens vs Predator Gold 2000 (openGL)], [ Odamex (openGL doom)], |<!--Amiga OS-->Doom, Quake, AB3D, Fears, Breathless, |<!--AmigaOS4-->Doom, Quake, |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12 Doom], Quake, Quake 3 Arena, [https://github.com/OpenXRay/xray-16 S.T.A.L.K.E.R Xray] |- |<!--Sub Menu-->Games MMORG like |<!--AROS-->[ Eternal Lands (OpenGL)], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Platform like |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/platform], [ Maze of Galious], [ Gish]*(openGL), [ Mega Mario], [http://www.gianas-return.de/ Giana's Return], [http://www.sqrxz.de/ Sqrxz], [.html Aquaria]*(openGL), [http://www.sqrxz2.de/ Sqrxz 2], [http://www.sqrxz.de/sqrxz-3/ Sqrxz 3], [http://www.sqrxz.de/sqrxz-4/ Sqrxz 4], [http://archives.arosworld.org/index.php?function=browse&cat=game/platform Cave Story], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Puzzle [https://github.com/mariopartyrd/marioparty4/tree/port Party], [], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle], [ Cubosphere (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/puzzle Candy Crisis], [http://bszili.morphos.me/ TailTale], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Racing [ Trigger Rally], [ VDrift], [http://www.ultimatestunts.nl/index.php?page=2&lang=en Ultimate Stunts], [http://maniadrive.raydium.org/ Mania Drive], [https://github.com/plowteam/donut Simpsons Hit and Run], [], |<!--AROS-->[ Super Tux Kart (OpenGL)], [http://www.dusabledanslherbe.eu/AROSPage/F1Spirit.30.html F1 Spirit (OpenGL)], [http://bszili.morphos.me/index.html MultiRacer], |<!--AmigaOS--> |<!--AmigaOS4-->[http://bszili.morphos.me/index.html Speed Dreams], |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12], [http://bszili.morphos.me/index.html TORCS], |- |<!--Sub Menu-->Games 1st first person DRPG [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/OpenEnroth/OpenEnroth OpenEnroth MM], [] |<!--AROS-->[https://github.com/BSzili/aros-stuff Arx Libertatis], [http://www.playfuljs.com/a-first-person-engine-in-265-lines/ js raycaster], [https://github.com/Dorthu/es6-crpg webgl], [https://github.com/sonountaleban/AmiShockolate System Shock], [], [], |<!--AmigaOS-->Phantasie, Faery Tale, Dungeon Master, |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 3rd third person action CRPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/alexbatalov/fallout1-ce fallout ce], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games isometric RPG [https://sourceforge.net/projects/sumwars/ Summoning Wars], [https://www.solarus-games.org/ Solarus], [https://wiki.rpg.net/index.php/Open_Game_Systems Misc], [https://github.com/topics/dungeon?l=javascript Dungeon], [], [https://github.com/clintbellanger/heroine-dusk JS Dusk], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying nethack], [https://archives.arosworld.org/index.php?function=browse&cat=game/roleplaying GemRB], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games card based RPG [https://github.com/open-duelyst/duelyst Duelyst], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Rhythm, Beat, Step [], [], [https://clonehero.net/ clonehero], [https://github.com/MatteoGodzilla/Dj-Engine Dj-Engine], |<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/misc Frets on Fire], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Shoot Em Ups [http://www.mhgames.org/oldies/formido/ Formido], [http://code.google.com/p/violetland/ Violetland], ||<!--AROS-->[https://archives.arosworld.org/index.php?function=browse&cat=game/action Open Tyrian], [http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], [ Alien Blaster], [https://github.com/OpenFodder/openfodder OpenFodder], |<!--AmigaOS--> |<!--AmigaOS4-->[http://www.parallelrealities.co.uk/projects/starfighter.php Starfighter], |<!--MorphOS--> |- |<!--Sub Menu-->Games Simulations [http://scp.indiegames.us/ Freespace 2], [http://www.heptargon.de/gl-117/gl-117.html GL117], [http://code.google.com/p/corsix-th/ Theme Hospital], [http://code.google.com/p/freerct/ Rollercoaster Tycoon], [http://hedgewars.org/ Hedgewars], [https://github.com/raceintospace/raceintospace raceintospace], [https://github.com/Return-To-The-Roots RTTR Settlers 2], [https://github.com/OoliteProject/oolite oolite elite], [https://github.com/fesh0r/newkind newkind elite], [], |<!--AROS--> |<!--Amiga OS-->SimCity, SimAnt, Sim Hospital, Theme Park, |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Life Sim [https://github.com/ACreTeam/forest Animal Crossing], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Strategy [http://rtsgus.org/ RTSgus], [http://wargus.sourceforge.net/ Wargus], [http://stargus.sourceforge.net/ Stargus], [https://github.com/KD-lab-Open-Source/Perimeter Perimeter], [https://matty77.itch.io/conflict-3049 conflict-3049], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=game/strategy MegaGlest (OpenGL)], [http://archives.arosworld.org/index.php?function=browse&cat=game/strategy UFO:AI (OpenGL)], [http://play.freeciv.org/ FreeCiv], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS-->[http://morphos.lukysoft.cz/en/vypis.php?kat=12] |- |<!--Sub Menu-->Games Horror [https://github.com/Mikompilation/MikuPan Fatal Frame], [ ], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Sandbox Voxel Open World Exploration [https://github.com/UnknownShadow200/ClassiCube Classicube],[http://www.michaelfogleman.com/craft/ Craft], [https://github.com/tothpaul/DelphiCraft DelphiCraft],[https://www.minetest.net/ Luanti formerly Minetest], [ infiniminer], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Battle Royale [https://bruh.io/ Play.Bruh.io], [https://www.coolmathgames.com/0-copter Copter Royale], [https://surviv.io/ Surviv.io], [https://nuggetroyale.io/#Ketchup Nugget Royale], [https://miniroyale2.io/ Miniroyale2.io], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Tower Defense [https://chriscourses.github.io/tower-defense/ HTML5], [https://github.com/SBardak/Tower-Defense-Game TD C++], [https://github.com/bdoms/love_defense LUA and LOVE], [https://github.com/HyOsori/Osori-WebGame HTML5], [https://github.com/PascalCorpsman/ConfigTD ConfigTD Pascal], [https://github.com/GloriousEggroll/wine-ge-custom Wine], [] |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Visual Novel Engines [https://github.com/Kirilllive/tuesday-js Tuesday JS], [ Lua + LOVE], [https://github.com/weetabix-su/renpsp-dev RenPSP], [https://github.com/Galladite27/ONScripter-EN ONScripter-EN], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Reality VR [https://gitlab.com/madsbuvi/openmw openmw vr], [https://github.com/Team-Beef-Studios/BeefRaiderXR BeefRaiderXR], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Table Top VTT [ Roll20], [https://www.owlbear.rodeo/ owlbear rodeo], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Computer assisted TableTop TTRPG OSR [https://www.rpgsolo.com/play.php RPGSolo], [https://github.com/fpsvogel/solo-ttrpgs Solo TTRPG], [], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games 2D 3D Engines [https://github.com/fegennari/3DWorld 3DWorld], [https://github.com/GarageGames/Torque3D Torque3D], [https://github.com/gameplay3d/GamePlay GamePlay 3D], [https://www.babylonjs.com/ BabylonJS ], [ Godot], [ Ogre], [ Crystal Space], [], [], [], |<!--AROS-->[https://www.arkhamdev.net/wiki.htm?id=agx Arkham Development antiryadgx 8.9 lts with register], [], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games C based game frameworks [https://github.com/orangeduck/Corange Corange], [https://github.com/scottcgi/Mojoc Mojoc], [https://orx-project.org/ Orx], [https://github.com/ioquake/ioq3 Quake 3], [https://www.mapeditor.org/ Tiled], [https://www.raylib.com/ 2d Raylib], [https://github.com/Rabios/awesome-raylib other raylib], [https://github.com/MrFrenik/gunslinger Gunslinger], [https://o3de.org/ o3d], [http://archives.aros-exec.org/index.php?function=browse&cat=development/library GLFW], [], |<!--AROS-->[http://archives.arosworld.org/index.php?function=browse&cat=development/library Raylib 5], |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |- |<!--Sub Menu-->Games Virtual Pinball [https://github.com/vpinball/vpinball vpinball], [], |<!--AROS--> |<!--Amiga OS--> |<!--AmigaOS4--> |<!--MorphOS--> |} ==Application Guides== [[#top|...to the top]] ===Web Browser=== OWB is now at version 2.0 (which got an engine refresh, from July 2015 to February 2019) and 3.0. This latest version has a good support for many/most web sites, even YouTube web page now works. This improved compatibility comes at the expense of higher RAM usage (now 1GB RAM is the absolute minimum). Also, keep in mind that the lack of a JIT (Just-In-Time) JS compiler on the 32 bit version, makes the web surfing a bit slow. Only the 64 bit version of OWB 2.0 will have JIT enabled, thus benefitting of more speed. There are tooltypes that can be added to the icon to provide further features JIT, MSE etc Please make sure you have [https://easylist.to/easylist/easylist.txt easylist.txt] in PROGDIR:Conf before starting browser with enabled AdBlock. and possibly [https://curl.se/docs/caextract.html ca certs] OWB speed is much better when running from RAM Disk, the best way is to add the below into your S:User-Startup which copies OWB drawer from Extras:Internet/OWB to RAM Disk: So add this : <pre> copy Extras:Internet/OWB Ram:OWB/ ALL CLONE >NIL: copy Extras:Internet/OWB.info Ram: >NIL: </pre> Open RAM Disk and open OWB drawer and double click on OWB icon so that the above icon tooltypes are activated Problems are that the copy time is long (around 20 seconds added in the background), but we can make it faster if we delete useless files from the OWB drawer (docs, …) If you don’t copy the drawer back onto the HD, you won’t save your cache, cookies, passwords… So you need a script for it. Error messages SSL error "cant verify with ca-certificates", check bios clock time date is correct Error 6, try checking networking prefs settings and Save / Use preferences again or a '''few times''' otherwise the network chipset may not be compatible with Aros [https://www.google.com/search?q=%s&udm=14 Google search without AI overview] ===E-mail=== YAM does not support SSL and most mail providers now switched to encrypted SMTP/POP3 connections ====SimpleMail==== SimpleMail supports IMAP and appears to work with GMail, but it's never been reliable enough, it can crash with large mailboxes. Please read more on this [http://www.freelists.org/list/simplemail-usr User list] GMail Be sure to activate the pop3 usage in your gmail account setup / configuration first. pop3: pop.gmail.com Use SSL: Yes Port: 995 smtp: smtp.gmail.com (with authentication) Use Authentication: Yes Use SSL: Yes Port: 465 or 587 Hotmail/MSN/outlook/Microsoft Mail mid-2017, all outlook.com accounts will be migrated to Office 365 / Exchange Most users are currently on POP which does not allow showing folders and many other features (technical limitations of POP3). With Microsoft IMAP you will get folders, sync read/unread, and show flags. You still won't get push though, as Microsoft has not turned on the IMAP Idle command as at Sept 2013. If you want to try it, you need to first remove (you can't edit) your pop account (long-press the account on the accounts screen, delete account). Then set it up this way: 1. Email/Password 2. Manual 3. IMAP 4. * Incoming: imap-mail.outlook.com, port 993, SSL/TLS should be checked * Outgoing: smtp-mail.outlook.com, port 587, SSL/TLS should be checked * POP server name pop-mail.outlook.com, port 995, POP encryption method SSL Yahoo Mail On April 24, 2002 Yahoo ceased to offer POP access to its free mail service. Introducing instead a yearly payment feature, allowing users POP3 and IMAP server support, along with such benefits as larger file attachment sizes and no adverts. Sorry to see Yahoo leaving its users to cough up for the privilege of accessing their mail. Understandable, when competing against rivals such as Gmail and Hotmail who hold a large majority of users and were hacked in 2014 as well. Incoming Mail (IMAP) Server * Server - imap.mail.yahoo.com * Port - 993 * Requires SSL - Yes Outgoing Mail (SMTP) Server * Server - smtp.mail.yahoo.com * Port - 465 or 587 * Requires SSL - Yes * Requires authentication - Yes Your login info * Email address - Your full email address (name@domain.com) * Password - Your account's password * Requires authentication - Yes Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a subscription subs fee to have access to SMTP and POP3 * Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. * “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. * “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com * “Password” – Your Yahoo Mail password. Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. * Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. ====YAM Yet Another Mailer==== YAM does not support SSL and most mail providers have now switched to encrypted SMTP/POP3 connections This email client is POP3 only if the SSL library is available [http://www.freelists.org/list/yam YAM Freelists] One of the downsides of using a POP3 mailer unfortunately - you have to set an option not to delete the mail if you want it left on the server. IMAP keeps all the emails on the server. Possible issues Sending mail issues is probably a matter of using your ISP's SMTP server, though it could also be an SSL issue. getting a "Couldn't initialise TLSv1 / SSL error Use of on-line e-mail accounts with this email client is not possible as it lacks the OpenSSL AmiSSl v3 compatible library GMail Incoming Mail (POP3) Server - requires SSL: pop.gmail.com Use SSL: Yes Port: 995 Outgoing Mail (SMTP) Server - requires TLS: smtp.gmail.com (use authentication) Use Authentication: Yes Use STARTTLS: Yes (some clients call this SSL) Port: 465 or 587 Account Name: your Gmail username (including '@gmail.com') Email Address: your full Gmail email address (username@gmail.com) Password: your Gmail password Anyway, the SMTP is pop.gmail.com port 465 and it uses SSLLv3 Authentication. The POP3 settings are for the same server (pop.gmail.com), only on port 995 instead. Outlook.com access <pre > Outlook.com SMTP server address: smtp.live.com Outlook.com SMTP user name: Your full Outlook.com email address (not an alias) Outlook.com SMTP password: Your Outlook.com password Outlook.com SMTP port: 587 Outlook.com SMTP TLS/SSL encryption required: yes </pre > Yahoo Mail <pre > “POP3 Server” – Set the POP server for incoming mails as pop.mail.yahoo.com. You will have to enable “SSL” and use 995 for Port. “SMTP Server” – Set the SMTP server for outgoing mails as smtp.mail.yahoo.com. You will also have to make sure that “SSL” is enabled and use 465 for port. you must also enable “authentication” for this to work. “Account Name or Login Name” – Your Yahoo Mail ID i.e. your email address without the domain “@yahoo.com”. “Email Address” – Your Yahoo Mail address i.e. your email address including the domain “@yahoo.com”. E.g. myname@yahoo.com “Password” – Your Yahoo Mail password. </pre > Yahoo! Mail Plus users may have to set POP server as plus.pop.mail.yahoo.com and SMTP server as plus.smtp.mail.yahoo.com. Note that you need to enable “Web & POP Access” in your Yahoo Mail account to send and receive Yahoo Mail messages through any other email program. You will have to enable “Allow your Yahoo Mail to be POPed” under “POP and Forwarding”, to send and receive Yahoo mails through any other email client. Cannot be done since 2002 unless the customer pays Yahoo a monthly fee to have access to SMTP and POP3 Microsoft Outlook Express Mail 1. Get the files to your PC. By whatever method get the files off your Amiga onto your PC. In the YAM folder you have a number of different folders, one for each of your folders in YAM. Inside that is a file usually some numbers such as 332423.283. YAM created a new file for every single email you received. 2. Open up a brand new Outlook Express. Just configure the account to use 127.0.0.1 as mail servers. It doesn't really matter. You will need to manually create any subfolders you used in YAM. 3. You will need to do a mass rename on all your email files from YAM. Just add a .eml to the end of it. Amazing how PCs still rely mostly on the file name so it knows what sort of file it is rather than just looking at it! There are a number of multiple renamers online to download and free too. 4. Go into each of your folders, inbox, sent items etc. And do a select all then drag the files into Outlook Express (to the relevant folder obviously) Amazingly the file format that YAM used is very compatible with .eml standard and viola your emails appear. With correct dates and working attachments. 5. If you want your email into Microsoft Outlook. Open that up and create a new profile and a new blank PST file. Then go into File Import and choose to import from Outlook Express. And the mail will go into there. And viola.. you have your old email from your Amiga in a more modern day format. ===FTP=== Magellan has a great FTP module. It allows transferring files from/to a FTP server over the Internet or the local network and, even if FTP is perceived as a "thing of the past", its usability is all inside the client. The FTP thing has a nice side effect too, since every Icaros machine can be a FTP server as well, and our files can be easily transferred from an Icaros machine to another with a little configuration effort. First of all, we need to know the 'server' IP address. Server is the Icaros machine with the file we are about to download on another Icaros machine, that we're going to call 'client'. To do that, move on the server machine and 1) run Prefs/Services to be sure "FTP file transfer" is enabled (if not, enable it and restart Icaros); 2) run a shell and enter this command: ifconfig -a Make a note of the IP address for the network interface used by the local area network. For cabled devices, it usually is net0:. Now go on the client machine and run Magellan: Perform these actions: 1) click on FTP; 2) click on ADDRESS BOOK; 3) click on "New". You can now add a new entry for your Icaros server machine: 1) Choose a name for your server, in order to spot it immediately in the address book. Enter the IP address you got before. 2) click on Custom Options: 1) go to Miscellaneous in the left menu; 2) Ensure "Passive Transfers" is NOT selected; 3) click on Use. We need to deactivate Passive Transfers because YAFS, the FTP server included in Icaros, only allows active transfers at the current stage. Now, we can finally connect to our new file source: 1) Look into the address book for the newly introduced server, be sure that name and IP address are right, and 2) click on Connect. A new lister with server's "MyWorkspace" contents will appear. You can now transfer files over the network choosing a destination among your local (client's) volumes. Can be adapted to any FTP client on any platform of your choice, just be sure your client allows Active Transfers as well. ===IRC Internet Relay Chat=== Jabberwocky is ideal for one-to-one social media communication, use IRC if you require one to many. Just type a message in ''lowercase''' letters and it will be posted to all in the [ AROS irc channel]. Please do not use UPPER CASE as it is a sign of SHOUTING which is annoying. Other things to type in - replace <message> with a line of text and <nick> with a person's name <pre> /help /list /who /whois <nick> /msg <nick> <message> /query <nick> <message>s /query /away <message> /away /quit <going away message> </pre> [http://irchelp.org/irchelp/new2irc.html#smiley Intro guide here]. IRC Primer can be found here in [http://www.irchelp.org/irchelp/ircprimer.html html], [http://www.irchelp.org/irchelp/text/ircprimer.txt TXT], [http://www.kei.com/irc/IRCprimer1.1.ps PostScript]. Issue the command /me <text> where <text> is the text that should follow your nickname. Example: /me slaps ajk around a bit with a large trout /nick <newNick> /nickserv register <password> <email address> /ns instead of /nickserv, while others might need /msg nickserv /nickserv identify <password> Alternatives: /ns identify <password> /msg nickserv identify <password> ==== IRC WookieChat ==== WookieChat is the most complete internet client for communication across the IRC Network. WookieChat allows you to swap ideas and communicate in real-time, you can also exchange Files, Documents, Images and everything else using the application's DCC capabilities. add smilies drawer/directory run wookiechat from the shell and set stack to 1000000 e.g. wookiechat stack 1000000 select a server / server window * nickname * user name * real name - optional Once you configure the client with your preferred screen name, you'll want to find a channel to talk in. servers * New Server - click on this to add / add extra - change details in section below this click box * New Group * Delete Entry * Connect to server * connect in new tab * perform on connect Change details * Servername - change text in this box to one of the below Server: * Port number - no need to change * Server password * Channel - add #channel from below * auto join - can click this * nick registration password, Click Connect to server button above <pre> Server: irc.freenode.net Channel: #aros </pre> irc://irc.freenode.net/aros <pre> Server: chat.amigaworld.net Channel: #amigaworld or #amigans </pre> <pre> On Sunday evenings USA time usually starting around 3PM EDT (1900 UTC) Server:irc.superhosts.net Channel #team*amiga </pre> <pre> BitlBee and Minbif are IRCd-like gateways to multiple IM networks Server: im.bitlbee.org Port 6667 Seems to be most useful on WookieChat as you can be connected to several servers at once. One for Bitlbee and any messages that might come through that. One for your normal IRC chat server. </pre> [http://www.bitlbee.org/main.php/servers.html Other servers], <pre> #Amiga.org - irc.synirc.net eu.synirc.net dissonance.nl.eu.synirc.net (IPv6: 2002:5511:1356:0:216:17ff:fe84:68a) twilight.de.eu.synirc.net zero.dk.eu.synirc.net us.synirc.net avarice.az.us.synirc.net envy.il.us.synirc.net harpy.mi.us.synirc.net liberty.nj.us.synirc.net snowball.mo.us.synirc.net - Ports 6660-6669 7001 (SSL) </pre> <pre> Multiple server support "Perform on connect" scripts and channel auto-joins Automatic Nickserv login Tabs for channels and private conversations CTCP PING, TIME, VERSION, SOUND Incoming and Outgoing DCC SEND file transfers Colours for different events Logging and automatic reloading of logs mIRC colour code filters Configurable timestamps GUI for changing channel modes easily Configurable highlight keywords URL Grabber window Optional outgoing swear word filter Event sounds for tabs opening, highlighted words, and private messages DCC CHAT support Doubleclickable URL's Support for multiple languages using LOCALE Clone detection Auto reconnection to Servers upon disconnection Command aliases Chat display can be toggled between AmIRC and mIRC style Counter for Unread messages Graphical nicklist and graphical smileys with a popup chooser </pre> ====IRC Aircos ==== Double click on Aircos icon in Extras:Networking/Apps/Aircos. It has been set up with a guest account for trial purposes. Though ideally, choose a nickname and password for frequent use of irc. ====IRC and XMPP Jabberwocky==== Servers are setup and close down at random You sign up to a server that someone else has setup and access chat services through them. The two ways to access chat from jabberwocky <pre > Jabberwocky -> Server -> XMPP -> open and ad-free Jabberwocky -> Server -> Transports (Gateways) -> Proprietary closed systems </pre > The Jabber.org service connects with all IM services that use XMPP, the open standard for instant messaging and presence over the Internet. The services we connect with include Google Talk (closed), Live Journal Talk, Nimbuzz, Ovi, and thousands more. However, you can not connect from Jabber.org to proprietary services like AIM, ICQ, MSN, Skype, or Yahoo because they don’t yet use XMPP components (XEP-0114) '''but''' you can use Jabber.com's servers and IM gateways (MSN, ICQ, Yahoo etc.) instead. The best way to use jabberwocky is in conjunction with a public jabber server with '''transports''' to your favorite services, like gtalk, Facebook, yahoo, ICQ, AIM, etc. You have to register with one of the servers, [https://list.jabber.at/ this list] or [http://www.jabberes.org/servers/ another list], [http://xmpp.net/ this security XMPP list], Unfortunately jabberwocky can only connect to one server at a time so it is best to check what services each server offers. If you set it up with separate Facebook and google talk accounts, for example, sometimes you'll only get one or the other. Jabberwocky open a window where the Jabber server part is typed in as well as your Nickname and Password. Jabber ID (JID) identifies you to the server and other users. Once registered the next step is to goto Jabberwocky's "Windows" menu and select the "Agents" option. The "Agents List" window will open. Roster (contacts list) [http://search.wensley.org.uk/ Chatrooms] (MUC) are available File Transfer - can send and receive files through the Jabber service but not with other services like IRC, ICQ, AIM or Yahoo. All you need is an installed webbrowser and OpenURL. Clickable URLs - The message window uses Mailtext.mcc and you can set a URL action in the MUI mailtext prefs like SYS:Utils/OpenURL %s NEWWIN. There is no consistent Skype like (H.323 VoIP) video conferencing available over Jabber. The move from xmpp to Jingle should help but no support on any amiga-like systems at the moment. [http://aminet.net/package/dev/src/AmiPhoneSrc192 AmiPhone] and [http://www.lysator.liu.se/%28frame,faq,nobg,useframes%29/ahi/v4-site/ Speak Freely] was an early attempt voice only contact. SIP and Asterisk are other PBX options. Facebook If you're using the XMPP transport provided by Facebook themselves, chat.facebook.com, it looks like they're now requiring SSL transport. This means jabberwocky method below will no longer work. The best thing to do is to create an ID on a public jabber server which has a Facebook gateway. <pre > 1. launch jabberwocky 2. if the login window doesn't appear on launch, select 'account' from the jabberwocky menu 3. your jabber ID will be user@chat.facebook.com where user is your user ID 4. your password is your normal facebook password 5. to save this for next time, click the popup gadget next to the ID field 6. click the 'add' button 7. click the 'close' button 8. click the 'connect' button </pre > you're done. you can also click the 'save as default account' button if you want. jabberwocky configured to auto-connect when launching the program, but you can configure as you like. there is amigaguide documentation included with jabberwocky. [http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=37085&forum=32 Read more here] for Facebook users, you can log-in directly to Facebook with jabberwocky. just sign in as @chat.facebook.com with your Facebook password as the password Twitter For a few years, there has been added a twitter transport. Servers include [http://jabber.hot-chilli.net/ jabber.hot-chili.net], and . An [http://jabber.hot-chilli.net/tag/how-tos/ How-to] :Read [http://jabber.hot-chilli.net/2010/05/09/twitter-transport-working/ more] Instagram no support at the moment best to use a web browser based client ICQ The new version (beta) of StriCQ uses a newer ICQ protocol. Most of the ICQ Jabber Transports still use an older ICQ protocol. You can only talk one-way to StriCQ using the older Transports. Only the newer ICQv7 Transport lets you talk both ways to StriCQ. Look at the server lists in the first section to check. Register on a Jabber server, e.g. this one works: http://www.jabber.de/ Then login into Jabberwocky with the following login data e.g. xxx@jabber.de / Password: xxx Now add your ICQ account under the window->Agents->"Register". Now Jabberwocky connects via the Jabber.de server with your ICQ account. Yahoo Messenger although yahoo! does not use xmpp protocol, you should be able to use the transport methods to gain access and post your replies MSN early months of 2013 Microsoft will ditch MSN Messenger client and force everyone to use Skype...but MSN protocol and servers will keep working as usual for quite a long time.... Occasionally the Messenger servers have been experiencing problems signing in. You may need to sign in at www.outlook.com and then try again. It may also take multiple tries to sign in. (This also affects you if you’re using Skype.) You have to check each servers' Agents List to see what transports (MSN protocol, ICQ protocol, etc.) are supported or use the list address' provided in the section above. Then register with each transport (IRC, MSN, ICQ, etc.) to which you need access. After registering you can Connect to start chatting. msn.jabber.com/registered should appear in the window. From this [http://tech.dir.groups.yahoo.com/group/amiga-jabberwocky/message/1378 JW group] guide which helps with this process in a clear, step by step procedure. 1. Sign up on MSN's site for a passport account. This typically involves getting a Hotmail address. 2. Log on to the Jabber server of your choice and do the following: * Select the "Windows/Agents" menu option in Jabberwocky. * Select the MSN Agent from the list presented by the server. * Click the Register button to open a new window asking for: **Username = passort account email address, typically your hotmail address. **Nick = Screen name to be shown to anyone you add to your buddy list. **Password = Password for your passport account/hotmail address. * Click the Register button at the bottom of the new window. 3. If all goes well, you will see the MSN Gateway added to your buddy list. If not, repeat part 2 on another server. Some servers may show MSN in their list of available agents, but have not updated their software for the latest protocols used by MSN. 4. Once you are registered, you can now add people to your buddy list. Note that you need to include the '''msn.''' ahead of the servername so that it knows what gateway agent to use. Some servers may use a slight variation and require '''msg.gate.''' before the server name, so try both to see what works. If my friend's msn was amiga@hotmail.co.uk and my jabber server was @jabber.meta.net.nz.. then amiga'''%'''hotmail.com@'''msn.'''jabber.meta.net.nz or another the trick to import MSN contacts is that you don't type the hotmail URL but the passport URL... e.g. Instead of: goodvibe%hotmail.com@msn.jabber.com You type: goodvibe%passport.com@msn.jabber.com And the thing about importing contacts I'm afraid you'll have to do it by hand, one at the time... Google Talk any XMPP server will work, but you have to add your contacts manually. a google talk user is typically either @gmail.com or @talk.google.com. a true gtalk transport is nice because it brings your contacts to you and (can) also support file transfers to/from google talk users. implement Jingle a set of extensions to the IETF's Extensible Messaging and Presence Protocol (XMPP) support ended early 2014 as Google moved to Google+ Hangouts which uses it own proprietary format ===Video Player MPlayer=== Many of the menu features (such as doubling) do not work with the current version of mplayer but using 4:3 mplayer -vf scale=800:600 file.avi 16:9 mplayer -vf scale=854:480 file.avi if you want gui use; mplayer -gui 1 <other params> file.avi <pre > stack 1000000 ; using AspireOS 1.xx ; copy FROM SYS:Extras/Multimedia/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 1.x ; copy FROM SYS:Tools/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: ; using Icaros Desktop 2.x ; copy FROM SYS:Utilities/MPlayer/ TO RAM:MPlayer ALL CLONE > Nil: cd RAM:MPlayer run MPlayer -gui > Nil: ;run MPlayer -gui -ao ahi_dev -playlist http://www.radio-paralax.de/listen.pls > Nil: </pre > $ mplayer rtsp://127.0.0.1:554/sample_300kbit.mp4 MPlayer supports multicast streaming, and rtp/rtsp protocols (it might require [http://www.live555.com/openRTSP/ live555 library] to work with some streams). But you might have to build it where it's disabled. Also, multicast won't work with some AmiTCP-likes. MIAMI supported it, though. AROS supports IPv4 (old but works) and this includes the needed address space for RTP. If you mean multicast via RTP - mplayer handles it. You can even force UDP over TCP -rtsp-stream-over-tcp If the rtsp Real Time Streaming Protocol server needs authentification: -user -passwd MPlayer - Menu - Open Playlist and load already downloaded .pls or .m3u file - auto starts around 4 percent cache MPlayer - Menu - Open Stream and copy one of the .pls lines below into space allowed, press OK and press play button on main gui interface Old 8bit 16bit remixes chip tune game music http://www.radio-paralax.de/listen.pls http://scenesat.com/ http://www.shoutcast.com/radio/Amiga http://www.theoldcomputer.com/retro_radio/RetroRadio_Main.htm http://www.kohina.com/ http://www.remix64.com/ http://retrogamer.net/forum/ http://retroasylum.podomatic.com/rss2.xml http://retrogamesquad.com/ http://www.retronauts.com/ http://monsterfeet.com/noquarter/ http://www.retrogamingradio.com/ http://www.radiofeeds.co.uk/mp3.asp [[#top|...to the top]] ====ZunePaint==== simplified typical workflow * importing and organizing and photo management * making global and regional local correction(s) - recalculation is necessary after each adjustment as it is not in real-time * exporting your images in the best format available with the preservation of metadata Whilst achieving 80% of a great photo with just a filter, the remaining 20% comes from a manual fine-tuning of specific image attributes. For photojournalism, documentary, and event coverage, minimal touching is recommended. Stick to Camera Raw for such shots, and limit changes to level adjustment, sharpness, noise reduction, and white balance correction. For fashion or portrait shoots, a large amount of adjustment is allowed and usually ends up far from the original. Skin smoothing, blemish removal, eye touch-ups, etc. are common. Might alter the background a bit to emphasize the subject. Product photography usually requires a lot of sharpening, spot removal, and focus stacking. For landscape shots, best results are achieved by doing the maximum amount of preparation before/while taking the shot. No amount of processing can match timing, proper lighting, correct gear, optimal settings, etc. Excessive post-processing might give you a dramatic shot but best avoided in the long term. * White Balance - Left Amiga or F12 and K and under "Misc color effects" tab with a pull down for White Balance - color temperature also known as AKA tint (movies) or tones (painting) - warm temp raise red reduce green blue - cool raise blue lower red green * Exposure - exposure compensation, highlight/shadow recovery * Noise Reduction - during RAW development or using external software * Lens Corrections - distortion, vignetting, chromatic aberrations * Detail - capture sharpening and local contrast enhancement * Contrast - black point, levels (sliders) and curves tools (F12 and K) * Framing - straighten () and crop (F12 and F) * Refinements - color adjustments and selective enhancements - Left Amiga or F12 and K for RGB and YUV histogram tabs - * Resizing - enlarge for a print or downsize for the web or email (F12 and D) * Output Sharpening - customized for your subject matter and print/screen size White Balance - F12 and K scan your image for a shade which was meant to be white (neutral with each RGB value being equal) like paper or plastic which is in the same light as the subject of the picture. Use the dropper tool to select this color, similar colours will shift and you will have selected the perfect white balance for your part of the image - for the whole picture make sure RAZ or CLR button at the bottom is pressed before applying to the image above. Exposure correction F12 and K - YUV Y luminosity - RGB extra red tint - move red curve slightly down and move blue green curves slightly up Workflows in practice * Undo - Right AROS key or F12 and Z * Redo - Right AROS key or F12 and R First flatten your image (if necessary) and then do a rotation until the picture looks level. * Crop the picture. Click the selection button and drag a box over the area of the picture you want to keep. Press the crop button and the rest of the photo will be gone. * Adjust your saturation, exposure, hue levels, etc., (right AROS Key and K for color correction) until you are happy with the photo. Make sure you zoom in all of the way to 100% and look the photo over, zoom back out and move around. Look for obvious problems with the picture. * After coloring and exposure do a sharpen (Right AROS key and E for Convolution and select drop down option needed), e.g. set the matrix to 5x5 (roughly equivalent Amount to 60%) and set the Radius to 1.0. Click OK. And save your picture Implemented or would like to see for simplification and ease of use basic filters (presets) like black and white, monochrome, edge detection (sobel), motion/gaussian blur, * negative, sepiatone, retro vintage, night vision, colour tint, color gradient, color temperature, glows, fire, lightning, lens flare, emboss, filmic, pixelate mezzotint, antialias, etc. adjust / cosmetic tools such as crop, * reshaping tools, straighten, smear, smooth, perspective, liquify, bloat, pucker, push pixels in any direction, dispersion, transform like warp, blending with soft light, page-curl, whirl, ripple, fisheye, neon, etc. * red eye fixing, blemish remover, skin smoothing, teeth whitener, make eyes look brighter, desaturate, effects like oil paint, cartoon, pencil sketch, charcoal, noise/matrix like sharpen/unsharpen, (right AROS key with A for Artistic effects) * blend two image, gradient blend, masking blend, explode, implode, custom collage, surreal painting, comic book style, needlepoint, stained glass, watercolor, mosaic, stencil/outline, crayon, chalk, etc. borders such as * dropshadow, rounded, blurred, color tint, picture frame, film strip polaroid, bevelled edge, etc. brushes e.g. * frost, smoke, etc. and manual control of fix lens issues including vignetting (darkening), color fringing and barrel distortion, and chromatic and geometric aberration - lens and body profiles perspective correction levels - directly modify the levels of the tone-values of an image, by using sliders for highlights, midtones and shadows curves - Color Adjustment and Brightness/Contrast color balance one single color transparent (alpha channel (color information/selections) for masking and/or blending ) for backgrounds, etc. Threshold indicates how much other colors will be considered mixture of the removed color and non-removed colors decompose layer into a set of layers with each holding a different type of pattern that is visible within the image any selection using any selecting tools like lasso tool, marquee tool etc. the selection will temporarily be save to alpha If you create your image without transparency then the Alpha channel is not present, but you can add later. File formats like .psd (Photoshop file has layers, masks etc. contains edited sensor data. The original sensor data is no longer available) .xcf .raw .hdr Image Picture Formats * low dynamic range (JPEG, PNG, TIFF 8-bit), 16-bit (PPM, TIFF), typically as a 16-bit TIFF in either ProPhoto or AdobeRGB colorspace - TIFF files are also fairly universal – although, if they contain proprietary data, such as Photoshop Adjustment Layers or Smart Filters, then they can only be opened by Photoshop making them proprietary. * linear high dynamic range (HDR) images (PFM, [http://www.openexr.com/ ILM .EXR], jpg, [http://aminet.net/util/dtype cr2] (canon tiff based), hdr, NEF, CRW, ARW, MRW, ORF, RAF (Fuji), PEF, DCR, SRF, ERF, DNG files are RAW converted to an Adobe proprietary format - a container that can embed the raw file as well as the information needed to open it) An old version of [http://archives.aros-exec.org/index.php?function=browse&cat=graphics/convert dcraw] There is no single RAW file format. Each camera manufacturer has one or more unique RAW formats. RAW files contain the brightness levels data captured by the camera sensor. This data cannot be modified. A second smaller file, separate XML file, or within a database with instructions for the RAW processor to change exposure, saturation etc. The extra data can be changed but the original sensor data is still there. RAW is technically least compatible. A raw file is high-bit (usually 12 or 14 bits of information) but a camera-generated TIFF file will be usually converted by the camera (compressed, downsampled) to 8 bits. The raw file has no embedded color balance or color space, but the TIFF has both. These three things (smaller bit depth, embedded color balance, and embedded color space) make it so that the TIFF will lose quality more quickly with image adjustments than the raw file. The camera-generated TIFF image is much more like a camera processed JPEG than a raw file. A strong advantage goes to the raw file. The power of RAW files, such as the ability to set any color temperature non-destructively and will contain more tonal values. The principle of preserving the maximum amount of information to as late as possible in the process. The final conversion - which will always effectively represent a "downsampling" - should prevent as much loss as possible. Once you save it as TIFF, you throw away some of that data irretrievably. When saving in the lossy JPEG format, you get tremendous file size savings, but you've irreversibly thrown away a lot of image data. As long as you have the RAW file, original or otherwise, you have access to all of the image data as captured. Keyboard equivalence with Photoshop(tm) would help File PHOTOSHOP SHORTCUT GIMP New Ctrl+n New Open Ctrl+o Open Close Ctrl+w Close Save Ctrl+s Save Save as Shift+Ctrl+s Save as Revert F12 Revert Print Ctrl+p Print Exit Ctrl+q Quit Edit PHOTOSHOP SHORTCUT GIMP Undo/Redo (1 level) Ctrl+z Undo (Redo is Shift+Ctrl+z) Cut Ctrl+x Cut Copy Ctrl+c Copy Paste Ctrl+v Paste Paste Into Shift+Ctrl+v Paste Into Fill with FG color Alt+Backspace Fill with FG color Fill with BG color Control+Backspace Fill with BG color Image/Colors PHOTOSHOP SHORTCUT GIMP Levels Ctrl+l Levels Auto Contrast Shift+Ctrl+Alt+l Stretch Contrast (same?) Curves Ctrl+m Curves Color Balance Ctrl+b Color Balance Hue/Saturation Ctrl+u Hue-Saturation Desaturate Shift+Ctrl+u Desaturate Invert Ctrl+i Invert Default Colors d Default Colors Switch Colors x Switch Colors Layer PHOTOSHOP SHORTCUT GIMP New Layer Shift+Ctrl+n New Layer Layer via Copy Ctrl+j Duplicate Layer Bring (layer) to Front Shift+Ctrl+] Layer to Top Send (layer) to Back Shift+Ctrl+[ Layer to Bottom Bring (layer) Forward Ctrl+] Raise Layer Send (layer) Backward Ctrl+[ Lower Layer Select Top Layer Shift+Alt+] Select Top Layer Select Bottom Layer Shift+Alt+[ Select Bottom Layer Select One Layer Forward Alt+] Select Previous Layer Select One Layer Backward Alt+[ Select Next Layer Merge Down Ctrl+e Merge Down Merge Visible Shift+Ctrl+e Merge Visible Preserve Transparency / Keep Transparency Cycle Modes Forwards Shift+= Next Layer Mode Cycle Modes Backwards Shift+- Previous Layer Mode Select PHOTOSHOP SHORTCUT GIMP Select All Ctrl+a Select All Deselect Ctrl+d Select None Inverse Shift+Ctrl+i Invert Feather Ctrl+Alt+d Feather View PHOTOSHOP SHORTCUT GIMP Zoom In Ctrl+= Zoom In Zoom Out Ctrl+- Zoom Out Fit on Screen Ctrl+0 Zoom to Fit Window Actual Pixels Ctrl+Alt+0 Zoom 1:1 Show/Hide Extras Ctrl+h Toggle Show Selection (close enough?) Show/Hide Guides Ctrl+' Toggle Show Guides Show/Hide Grid Ctrl+Alt+' Toggle Show Grid Show/Hide Rulers Ctrl+r Toggle Show Rulers Snap Ctrl+; Snap to Guides Scroll View Up Page Up Scroll Page Up Scroll View Down Page Down Scroll Page Down Scroll View Left Ctrl+Page Up Scroll Page Left Scroll View Right Ctrl+Page Down Scroll Page Right Window/Dialogs PHOTOSHOP SHORTCUT GIMP ? F5 Tools Dialog Color Tab F6 Colors Dialog Layers Tab F7 Layers Dialog Info Tab F8 Image Information Tools PHOTOSHOP SHORTCUT GIMP Rectangular Marquee Tool m Rect Select Tool Elliptical Marquee Tool Shift+m Ellipse Select Tool *This is a toggle between 'Elliptical Marquee Tool' and 'Rectangular Marquee Tool' in Photoshop Move Tool v Move Tool Lasso Tool l Free Select Tool Magic Wand Tool w Fuzzy Select Tool Crop Tool c Crop & Resize Tool Airbrush Tool j Airbrush Tool Paintbrush Tool b Paintbrush Tool Clone Stamp Tool s Clone Stamp Tool Eraser Tool e Eraser Tool Gradient Tool g Blend Tool Paint Bucket Tool Shift+g Bucket Fill Tool *This is a toggle between 'Paint Bucket Tool' and 'Gradient Tool' in Photoshop Blur Tool r Convolve Tool Dodge Tool o DodgeBurn Tool Type Tool t Text Tool Pen Tool p Bezier Select Tool Eye Dropper Tool i Color Picker Tool Zoom Tool z Magnify Tool Previous Brush , Previous Brush Next Brush . Next Brush First Brush Shift+< First Brush Last Brush Shift+> Last Brush Decrease Brush Size [ Decrease Brush Size Increase Brush Size ] Increase Brush Size Decrease Brush Hardness { Decrease Brush Hardness Increase Brush Hardness } Increase Brush Hardness Help PHOTOSHOP SHORTCUT GIMP Help F1 Help Context Help Shift+F1 Context Help Misc. PHOTOSHOP SHORTCUT GIMP Last Filter Ctrl+f Repeat Last Filter ? Shift+Ctrl+f Reshow Last Filter Preferences Ctrl+k Preferences Liquify Shift+Ctrl+x IWarp (close enough?) Toggle Quick Mask q Toggle Quick Mask Spotlights - triangle of white opaque shape Cutting out and/or replacing unwanted background or features - select large areas with the selection option like the Magic Wand tool (aka Color Range) or the Lasso (quick and fast) with feather 2 to soften edge or the pen tool which adds points/lines/Bézier curves (better control but slower), hold down the shift button as you click to add extra points/areas of the subject matter to remove. Increase the tolerance to cover more areas. To subtract from your selection hold down alt as you're clicking. * Layer masks are a better way of working than Erase they clip (black hides/hidden white visible/reveal). Clone Stamp can be simulated by and brushes for other areas. * Leave the fine details like hair, fur, etc. to later with lasso and the shift key to draw a line all the way around your subject. Gradient Mapping - Inverse - Mask. i.e. Refine your selected image with edge detection and using the radius and edge options / adjuster (increase/decrease contrast) so that you will capture more fine detail from the background allowing easier removal. Remove fringe/halo saving image as png rather than jpg/jpeg to keep transparency background intact. Implemented [http://colorizer.org/ colour model representations] [http://paulbourke.net/texture_colour/colourspace/ Mathematical approach] - Photo stills are spatially 2d (h and w), but are colorimetrically 3d (r g and b, or H L S, or Y U V etc.) as well. * RGB - split cubed mapped color model for photos and computer graphics hardware using the light spectrum (adding and subtracting) * YUV - Y-Lightness U-blue/yellow V-red/cyan (similar to YPbPr and YCbCr) used in the PAL, NTSC, and SECAM composite digital TV color [http://crewofone.com/2012/chroma-subsampling-and-transcoding/#comment-7299 video] Histograms White balanced (neutral) if the spike happens in the same place in each channel of the RGB graphs. If not, you're not balanced. If you have sky you'll see the blue channel further off to the right. RGB is best one to change colours. These elements RGB is a 3-channel format containing data for Red, Green, and Blue in your photo scale between 0 and 255. The area in a picture that appears to be brighter/whiter contains more red color as compared to the area which is relatively darker. Similarly in the green channel the area that appears to be darker contains less amount of green color as compared to the area that appears to be brighter. Similarly in the blue channel the area appears to be darker contains less amount of blue color as compared to the area that appears to be brighter. Brightness luminance histogram also matches the green histogram more than any other color - human eye interprets green better e.g. RGB rough ratio 15/55/30% RGBA (RGB+A, A means alpha channel) . The alpha channel is used for "alpha compositing", which can mostly be associated as "opacity". AROS deals in RGB with two digits for every color (red, green, blue), in ARGB you have two additional hex digits for the alpha channel. The shadows are represented by the left third of the graph. The highlights are represented by the right third. And the midtones are, of course, in the middle. The higher the black peaks in the graph, the more pixels are concentrated in that tonal range (total black area). By moving the black endpoint, which identifies the shadows (darkness) and a white light endpoint (brightness) up and down either sides of the graph, colors are adjusted based on these points. By dragging the central one, can increased the midtones and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . RGB Curves * Move left endpoint (black point) up or right endpoint (white point) up brightens * Move left endpoint down or right endpoint down darkens Color Curves * Dragging up on the Red Curve increases the intensity of the reds in the image but * Dragging down on the Red Curve decreases the intensity of the reds and thus increases the apparent intensity of its complimentary color, cyan. Green’s complimentary color is magenta, and blue’s is yellow. <pre> Red <-> Cyan Green <->Magenta Blue <->Yellow </pre> YUV Best option to analyse and pull out statistical elements of any picture (i.e. separate luminance data from color data). The line in Y luma tone box represents the brightness of the image with the point in the bottom left been black, and the point in the top right as white. A low-contrast image has a concentrated clump of values nearer to the center of the graph. By comparison, a high-contrast image has a wider distribution of values across the entire width of the Histogram. A histogram that is skewed to the right would indicate a picture that is a bit overexposed because most of the color data is on the lighter side (increase exposure with higher value F), while a histogram with the curve on the left shows a picture that is underexposed. This is good information to have when using post-processing software because it shows you not only where the color data exists for a given picture, but also where any data has been clipped (extremes on edges of either side): that is, it does not exist and, therefore, cannot be edited. By dragging the endpoints of the line and as well as the central one, can increased the dark/shadows, midtones and light/bright parts and control the contrast, raise shadows levels, clip or softly eliminate unsafe levels, alter gamma, etc... in a way that is much more precise and creative . The U and V chroma parts show color difference components of the image. It’s useful for checking whether or not the overall chroma is too high, and also whether it’s being limited too much Can be used to create a negative image but also With U (Cb), the higher value you are, the more you're on the blue primary color. If you go to the low values then you're on blue complementary color, i.e. yellow. With V (Cr), this is the same principle but with Red and Cyan. e.g. If you push U full blue and V full red, you get magenta. If you push U full yellow and V full Cyan then you get green. YUV simultaneously adds to one side of the color equation while subtracting from the other. using YUV to do color correction can be very problematic because each curve alters the result of each other: the mutual influence between U and V often makes things tricky. You may also be careful in what you do to avoid the raise of noise (which happens very easily). Best results are obtained with little adjustments sunset that looks uninspiring and needs some color pop especially for the rays over the hill, a subtle contrast raise while setting luma values back to the legal range without hard clipping. Free royalty pictures, [www.freeimages.com ], [http://imageshack.us/ ], [http://photobucket.com/ ], [http://rawpixels.net/], [], [], [], ====Lunapaint==== Pixel based drawing app with onion-skin animation function Blocking, Shading, Coloring, adding detail <pre> b BRUSH e ERASER alt eyedropper v layer tool z ZOOM / MAGNIFY < > n spc panning m marque q lasso w same color selection / region </pre> <pre> , LM RM v V f filter F . size p , pick color [] last / next color </pre> There is not much missing in Lunapaint to be as good as FlipBook and then you have to take into account that Flipbook is considered to be amongst the best and easiest to use animation software out there. Ok to be honest Flipbook has some nice features that require more heavy work but those aren't so much needed right away, things like camera effects, sound, smart fill, export to different movie file formats etc. Tried Flipbook with my tablet and compared it to Luna. The feeling is the same when sketching. LunaPaint is very responsive/fluent to draw with. Just as Flipbook is, and that responsiveness is something its users have mentioned as one of the positive sides of said software. author was learning MUI. Some parts just have to be rewritten with proper MUI classes before new features can be added. * add [Frame Add] / [Frame Del] * whole animation feature is impossible to use. If you draw 2 color maybe but if you start coloring your cells then you get in trouble * pickup the entire image as a brush, not just a selection ? And consequently remove the brush from memory when one doesn't need it anymore. can pick up a brush and put it onto a new image but cropping isn't possible, nor to load/save brushes. * Undo is something I longed for ages in Lunapaint. * to import into the current layer, other types of images (e.g. JPEG) besides RAW64. * implement graphic tablet features support **GENERAL DRAWING** Miss it very much: UNDO ERASER COLORPICKER - has to show on palette too which color got picked. BACKGROUND COLOR -Possibility to select from "New project screen" Miss it somewhat: ICON for UNDO ICON for ERASER ICON for CLEAR SCREEN ( What can I say? I start over from scratch very often ) BRUSH - possibility to cut out as brush not just copy off image to brush **ANIMATING** Miss it very much: NUMBER OF CELLS - Possibity to change total no. of cells during project ANIM BRUSH - Possibility to pick up a selected part of cells into an animbrush Miss it somewhat: ADD/REMOVE FRAMES: Add/remove single frame In general LunaPaint is really well done and it feels like a new DeluxePaint version. It works with my tablet. Sure there's much missing of course but things can always be added over time. So there is great potential in LunaPaint that's for sure. Animations could be made in it and maybe put together in QuickVideo, saving in .gif or .mng etc some day. LAYERS -Layers names don't get saved globally in animation frames -Layers order don't change globally in an animation (perhaps as default?). EXPORTING IMAGES -Exporting frames to JPG/PNG gives problems with colors. (wrong colors. See my animatiopn --> My robot was blue now it's "gold" ) I think this only happens if you have layers. -Trying to flatten the layers before export doesn't work if you have animation frames only the one you have visible will flatten properly all other frames are destroyed. (Only one of the layers are visible on them) -Exporting images filenames should be for example e.g. file0001, file0002...file0010 instead as of now file1, file2...file10 LOAD/SAVE (Preferences) -Make a setting for the default "Work" folder. * Destroyed colors if exported image/frame has layers * mystic color cycling of the selected color while stepping frames back/forth (annoying) <pre> Deluxe Paint II enhanced key shortcuts NOTE: @ denotes the ALT key [Technique] F1 - Paint F2 - Single Colour F3 - Replace F4 - Smear F5 - Shade F6 - Cycle F7 - Smooth M - Colour Cycle [Brush] B - Restore O - Outline h - Halve brush size H - Double brush size x - Flip brush on X axis X - Double brush size on X axis only y - Flip on Y Y - Double on Y z - Rotate brush 90 degrees Z - Stretch [Stencil] ` - Stencil On [Miscellaneous] F9 - Info Bar F10 - Selection Bar @o - Co-Ordinates @a - Anti-alias @r - Colourise @t - Translucent TAB - Colour Cycle [Picture] L - Load S - Save j - Page to Spare(Flip) J - Page to Spare(Copy) V - View Page Q - Quit [General Keys] m - Magnify < - Zoom In > - Zoom Out [ - Palette Colour Up ] - Palette Colour Down ( - Palette Colour Left ) - Palette Colour Right , - Eye Dropper . - Pixel / Brush Toggle / - Symmetry | - Co-Ordinates INS - Perspective Control +/- - Brush Size (Fine Control) w - Unfilled Polygon W - Filled Polygon e - Unfilled Ellipse E - Filled Ellipse r - Unfilled Rectangle R - Filled Rectangle t - Type/text tool a - Select Font u/U - Undo d - Brush D - Filled Non-Uniform Polygon f/F - Fill Options g/G - Grid h/H - Brush Size (Coarse Control) K - Clear c - Unfilled Circle C - Filled Circle v - Line b - Scissor Select and Toggle B - Brush {,} - Toggle between two background colours </pre> ====Lodepaint==== Pixel based painting artwork app ====Grafx2==== Pixel based painting artwork app aesprite like [https://www.youtube.com/watch?v=59Y6OTzNrhk aesprite workflow keys and tablet use], [], ====Vector Graphics ZuneFIG==== Vector Image Editing of files .svg .ps .eps *Objects - raise lower rotate flip aligning snapping *Path - unify subtract intersect exclude divide *Colour - fill stroke *Stroke - size *Brushes - *Layers - *Effects - gaussian bevels glows shadows *Text - *Transform - AmiFIG ([http://epb.lbl.gov/xfig/frm_introduction.html xfig manual]) [[File:MyScreen.png|thumb|left|alt=Showing all Windows open in AmiFIG.|All windows available to AmiFIG.]] for drawing simple to intermediate vector graphic images for scientific and technical uses and for illustration purposes for those with talent ;Menu options * Load - fig format but import(s) SVG * Save - fig format but export(s) eps, ps, pdf, svg and png * PAN = Ctrl + Arrow keys * Deselect all points There is no selected object until you apply the tool, and the selected object is not highlighted. ;Metrics - to set up page and styles - first window to open on new drawings ;Tools - Drawing Primitives - set Attributes window first before clicking any Tools button(s) * Shapes - circles, ellipses, arcs, splines, boxes, polygon * Lines - polylines * Text "T" button * Photos - bitmaps * Compound - Glue, Break, Scale * POINTs - Move, Add, Remove * Objects - Move, Copy, Delete, Mirror, Rotate, Paste use right mouse button to stop extra lines, shapes being formed and the left mouse to select/deselect tools button(s) * Rotate - moves in 90 degree turns centered on clicked POINT of a polygon or square ;Attributes which provide change(s) to the above primitives * Color * Line Width * Line Style * arrowheads ;Modes Choose from freehand, charts, figures, magnet, etc. ;Library - allows .fig clip-art to be stored * compound tools to add .fig(s) together ;FIG 3.2 [http://epb.lbl.gov/xfig/fig-format.html Format] as produced by xfig version 3.2.5 <pre> Landscape Center Inches Letter 100.00 Single -2 1200 2 4 0 0 50 -1 0 12 0.0000 4 135 1050 1050 2475 This is a test.01 </pre> # change the text alignment within the textbox. I can choose left, center, or right aligned by either changing the integer in the second column from 0 (left) to 1 or 2 (center, or right). # The third integer in the row specifies fontcolor. For instance, 0 is black, but blue is 1 and Green3 is 13. # The sixth integer in the bottom row specifies fontface. 0 is Times-Roman, but 16 is Helvetica (a MATLAB default). # The seventh number is fontsize. 12 represents a 12pt fontsize. Changing the fontsize of an item really is as easy as changing that number to 20. # The next number is the counter-clockwise angle of the text. Notice that I have changed the angle to .7854 (pi/4 rounded to four digits=45 degrees). # twelfth number is the position according to the standard “x-axis” in Xfig units from the left. Note that 1200 Xfig units is equivalent to once inch. # thirteenth number is the “y-position” from the top using the same unit convention as before. * The nested text string is what you entered into the textbox. * The “01″ present at the end of that line in the .fig file is the closing tag. For instance, a change to \100 appends a @ symbol at the end of the period of that sentence. ; Just to note there are no layers, no 3d functions, no shading, no transparency, no animation [[#top|...to the top]] ===Audio=== # AHI uses linear panning/balance, which means that in the center, you will get -6dB. If an app uses panning, this is what you will get. Note that apps like Audio Evolution need panning, so they will have this problem. # When using AHI Hifi modes, mixing is done in 32-bit and sent as 32-bit data to the driver. The Envy24HT driver uses that to output at 24-bit (always). # For the Envy24/Envy24HT, I've made 16-bit and 24-bit inputs (called Line-in 16-bit, Line-in 24-bit etc.). There is unfortunately no app that can handle 24-bit recording. ====Music Mods==== Digital module (mods) trackers are music creation software using samples and sometimes soundfonts, audio plugins (VST, AU or RTAS), MIDI. Generally, MODs are similar to MIDI in that they contain note on/off and other sequence messages that control the mod player. Unlike (most) midi files, however, they also contain sound samples that the sequence information actually plays. MOD files can have many channels (classic amiga mods have 4, corresponding to the inbuilt sound channels), but unlike MIDI, each channel can typically play only one note at once. However, since that note might be a sample of a chord, a drumloop or other complex sound, this is not as limiting as it sounds. Like MIDI, notes will play indefinitely if they're not instructed to end. Most trackers record this information automatically if you play your music in live. If you're using manual note entry, you can enter a note-off command with a keyboard shortcut - usually Caps Lock. In fact when considering file size MOD is not always the best option. Even a dummy song wastes few kilobytes for nothing when a simple SID tune could be few hundreds bytes and not bigger than 64kB. AHX is another small format, AHX tunes are never larger than 64kB excluding comments. [https://www.youtube.com/watch?v=rXXsZfwgil Protrekkr] (previously aka [w:Juan_Antonio_Arguelles_Rius|NoiseTrekkr]) If Protrekkr does not start, please check if the Unit 0 has been setup in the AHI prefs and still not, go to the directory utilities/protrekkr and double click on the Protrekkr icon *Sample *Note - Effect *Track (column) - Pattern - Order It all starts with the Sample which is used to create Note(s) in a Track (column of a tracker) The Note can be changed with an Effect. A Track of Note(s) can be collected into a Pattern (section of a song) and these can be given Order to create the whole song. Patience (notes have to be entered one at a time) or playing the bassline on a midi controller (faster - see midi section above). Best approach is to wait until a melody popped into your head. *Up-tempo means the track should be reasonably fast, but not super-fast. *Groovy and funky imply the track should have some sort of "swing" feel, with plenty of syncopation or off beat emphasis and a recognizable, melodic bass line. *Sweet and happy mean upbeat melodies, a major key and avoiding harsh sounds. *Moody - minor key First, create a quick bass sound, which is basically a sine wave, but can be hand drawn for a little more variance. It could also work for the melody part, too. This is usually a bass guitar or some kind of synthesizer bass. The bass line is often forgotten by inexperienced composers, but it plays an important role in a musical piece. Together with the rhythm section the bass line forms the groove of a song. It's the glue between the rhythm section and the melodic layer of a song. The drums are just pink noise samples, played at different frequencies to get a slightly different sound for the kick, snare, and hihats. Instruments that fall into the rhythm category are bass drums, snares, hi-hats, toms, cymbals, congas, tambourines, shakers, etc. Any percussive instrument can be used to form part of the rhythm section. The lead is the instrument that plays the main melody, on top of the chords. There are many instruments that can play a lead section, like a guitar, a piano, a saxophone or a flute. The list is almost endless. There is a lot of overlap with instruments that play chords. Often in one piece an instrument serves both roles. The lead melody is often played at a higher pitch than the chords. Listened back to what was produced so far, and a counter-melody can be imagined, which can be added with a triangle wave. To give the ends of phrases some life, you can add a solo part with a crunchy synth. By hitting random notes in the key of G, then edited a few of them. For the climax of the song, filled out the texture with a gentle high-pitch pad… …and a grungy bass synth. The arrow at A points at the pattern order list. As you see, the patterns don't have to be in numerical order. This song starts with pattern "00", then pattern "02", then "03", then "01", etcetera. Patterns may be repeated throughout a song. The B arrow points at the song title. Below it are the global BPM and speed parameters. These determine the tempo of the song, unless the tempo is altered through effect commands during the song. The C arrow points at the list of instruments. An instrument may consist of multiple samples. Which sample will be played depends on the note. This can be set in the Instrument Editing screen. Most instruments will consist of just one sample, though. The sample list for the selected instrument can be found under arrow D. Here's a part of the main editing screen. This is where you put in actual notes. Up to 32 channels can be used, meaning 32 sounds can play simultaneously. The first six channels of pattern "03" at order "02" are shown here. The arrow at A points at the row number. The B arrow points at the note to play, in this case a C4. The column pointed at by the C arrow tells us which instrument is associated with that note, in this case instrument #1 "Kick". The column at D is used (mainly) for volume commands. In this case it is left empty which means the instrument should play at its default volume. You can see the volume column being used in channel #6. The E column tells us which effect to use and any parameters for that effect. In this case it holds the "F" effect, which is a tempo command. The "04" means it should play at tempo 4 (a smaller number means faster). Base pattern When I create a new track I start with what I call the base pattern. It is worthwhile to spend some time polishing it as a lot of the ideas in the base pattern will be copied and used in other patterns. At least, that's how I work. Every musician will have his own way of working. In "Wild Bunnies" the base pattern is pattern "03" at order "02". In the section about selecting samples I talked about the four different categories of instruments: drums, bass, chords and leads. That's also how I usually go about making the base pattern. I start by making a drum pattern, then add a bass line, place some chords and top it off with a lead. This forms the base pattern from which the rest of the song will grow. Drums Here's a screenshot of the first four rows of the base pattern. I usually reserve the first four channels or so for the drum instruments. Right away there are a couple of tricks shown here. In the first channel the kick, or bass drum, plays some notes. Note the alternating F04 and F02 commands. The "F" command alters the tempo of the song and by quickly alternating the tempo; the song will get some kind of "swing" feel. In the second channel the closed hi-hat plays a fairly simple pattern. Further down in the channel, not shown here, some open hi-hat notes are added for a bit of variation. In the third and fourth channel the snare sample plays. The "8" command is for panning. One note is panned hard to the left and the other hard to the right. One sample is played a semitone lower than the other. This results in a cool flanging effect. It makes the snare stand out a little more in the mix. Bass line There are two different instruments used for the bass line. Instrument #6 is a pretty standard synthesized bass sound. Instrument #A sounds a bit like a slap bass when used with a quick fade out. By using two different instruments the bass line sounds a bit more ”human”. The volume command is used to cut off the notes. However, it is never set to zero. Setting the volume to a very small value will result in a reverb-like effect. This makes the song sound more "live". The bass line hints at the chords that will be played and the key the song will be in. In this case the key of the song is D-major, a positive and happy key. Chords The D major chords that are being played here are chords stabs; short sounds with a quick decay (fade out). Two different instruments (#8 and #9) are used to form the chords. These instruments are quite similar, but have a slightly different sound, panning and volume decay. Again, the reason for this is to make the sound more human. The volume command is used on some chords to simulate a delay, to achieve more of a live feel. The chords are placed off-beat making for a funky rhythm. Lead Finally the lead melody is added. The other instruments are invaluable in holding the track together, but the lead melody is usually what catches people's attention. A lot of notes and commands are used here, but it looks more complex than it is. A stepwise ascending melody plays in channel 13. Channel 14 and 15 copy this melody, but play it a few rows later at a lower volume. This creates an echo effect. A bit of panning is used on the notes to create some stereo depth. Like with the bass line, instead of cutting off notes the volume is set to low values for a reverb effect. The "461" effect adds a little vibrato to the note, which sounds nice on sustained notes. Those paying close attention may notice the instrument used here for the lead melody is the same as the one used for the bass line (#6 "Square"), except played two or three octaves higher. This instrument is a looped square wave sample. Each type of wave has its own quirks, but the square wave (shown below) is a really versatile wave form. Song structure Good, catchy songs are often carefully structured into sections, some of which are repeated throughout the song with small variations. A typical pop-song structure is: Intro - Verse - Chorus - Verse - Chorus - Bridge - Chorus. Other single sectional song structures are <pre> Strophic or AAA Song Form - oldest story telling with refrain (often title of the song) repeated in every verse section melody AABA Song Form - early popular, jazz and gospel fading during the 1960s AB or Verse/Chorus Song Form - songwriting format of choice for modern popular music since the 1960s Verse/Chorus/Bridge Song Form ABAB Song Form ABAC Song Form ABCD Song Form AAB 12-Bar Song Form - three four-bar lines or sub-sections 8-Bar Song Form 16-Bar Song Form Hybrid / Compound Song Forms </pre> The most common building blocks are: #INTRODUCTION(INTRO) #VERSE #REFRAIN #PRE-CHORUS / RISE / CLIMB #CHORUS #BRIDGE #MIDDLE EIGHT #SOLO / INSTRUMENTAL BREAK #COLLISION #CODA / OUTRO #AD LIB (OFTEN IN CODA / OUTRO) The chorus usually has more energy than the verse and often has a memorable melody line. As the chorus is repeated the most often during the song, it will be the part that people will remember. The bridge often marks a change of direction in the song. It is not uncommon to change keys in the bridge, or at least to use a different chord sequence. The bridge is used to build up tension towards the big finale, the last repetition of chorus. Playing RCTRL: Play song from row 0. LSHIFT + RCTRL: Play song from current row. RALT: Play pattern from row 0. LSHIFT + RALT: Play pattern from current row. Left mouse on '>': Play song from row 0. Right mouse on '>': Play song from current row. Left mouse on '|>': Play pattern from row 0. Right mouse on '|>': Play pattern from current row. Left mouse on 'Edit/Record': Edit mode on/off. Right mouse on 'Edit/Record': Record mode on/off. Editing LSHIFT + ESCAPE: Switch large patterns view on/off TAB: Go to next track LSHIFT + TAB: Go to prev. track LCTRL + TAB: Go to next note in track LCTRL + LSHIFT + TAB: Go to prev. note in track SPACE: Toggle Edit mode On & Off (Also stop if the song is being played) SHIFT SPACE: Toggle Record mode On & Off (Wait for a key note to be pressed or a midi in message to be received) DOWN ARROW: 1 Line down UP ARROW: 1 Line up LEFT ARROW: 1 Row left RIGHT ARROW: 1 Row right PREV. PAGE: 16 Arrows Up NEXT PAGE: 16 Arrows Down HOME / END: Top left / Bottom right of pattern LCTRL + HOME / END: First / last track F5, F6, F7, F8, F9: Jump to 0, 1/4, 2/4, 3/4, 4/4 lines of the patterns + - (Numeric keypad): Next / Previous pattern LCTRL + LEFT / RIGHT: Next / Previous pattern LCTRL + LALT + LEFT / RIGHT: Next / Previous position LALT + LEFT / RIGHT: Next / Previous instrument LSHIFT + M: Toggle mute state of the current channel LCTRL + LSHIFT + M: Solo the current track / Unmute all LSHIFT + F1 to F11: Select a tab/panel LCTRL + 1 to 4: Select a copy buffer Tracking 1st and 2nd keys rows: Upper octave row 3rd and 4th keys rows: Lower octave row RSHIFT: Insert a note off / and * (Numeric keypad) or F1 F2: -1 or +1 octave INSERT / BACKSPACE: Insert or Delete a line in current track or current selected block. LSHIFT + INSERT / BACKSPACE: Insert or Delete a line in current pattern DELETE (NOT BACKSPACE): Empty a column or a selected block. Blocks (Blocks can also be selected with the mouse by holding the right button and scrolling the pattern with the mouse wheel). LCTRL + A: Select entire current track LCTRL + LSHIFT + A: Select entire current pattern LALT + A: Select entire column note in a track LALT + LSHIFT + A: Select all notes of a track LCTRL + X: Cut the selected block and copy it into the block-buffer LCTRL + C: Copy the selected block into the block-buffer LCTRL + V: Paste the data from the block buffer into the pattern LCTRL + I: Interpolate selected data from the first to the last row of a selection LSHIFT + ARROWS PREV. PAGE NEXT PAGE: Select a block LCTRL + R: Randomize the select columns of a selection, works similar to CTRL + I (interpolating them) LCTRL + U: Transpose the note of a selection to 1 seminote higher LCTRL + D: Transpose the note of a selection to 1 seminote lower LCTRL + LSHIFT + U: Transpose the note of a selection to 1 seminote higher (only for the current instrument) LCTRL + LSHIFT + D: Transpose the note of a selection to 1 seminote lower (only for the current instrument) LCTRL + H: Transpose the note of a selection to 1 octave higher LCTRL + L: Transpose the note of a selection to 1 octave lower LCTRL + LSHIFT + H: Transpose the note of a selection to 1 octave higher (only for the current instrument) LCTRL + LSHIFT + L: Transpose the note of a selection to 1 octave lower (only for the current instrument) LCTRL + W: Save the current selection into a file Misc LALT + ENTER: Switch between full screen / windowed mode LALT + F4: Exit program (Windows only) LCTRL + S: Save current module LSHIFT + S: Switch top right panel to synths list LSHIFT + I: Switch top right panel to instruments list <pre> C-x xh xx xx hhhh Volume B-x xh xx xx hhhh Jump to A#x xh xx xx hhhh hhhh Slide F-x xh xx xx hhhh Tempo D-x xh xx xx hhhh Pattern Break G#x xh xx xx hhhh </pre> h Hex 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 d Dec 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 The Set Volume command: C. Input a note, then move the cursor to the effects command column and type a C. Play the pattern, and you shouldn't be able to hear the note you placed the C by. This is because the effect parameters are 00. Change the two zeros to a 40(Hex)/64(Dec), depending on what your tracker uses. Play back the pattern again, and the note should come in at full volume. The Position Jump command next. This is just a B followed by the position in the playing list that you want to jump to. One thing to remember is that the playing list always starts at 0, not 1. This command is usually in Hex. Onto the volume slide command: A. This is slightly more complex (much more if you're using a newer tracker, if you want to achieve the results here, then set slides to Amiga, not linear), due to the fact it depends on the secondary tempo. For now set a secondary tempo of 06 (you can play around later), load a long or looped sample and input a note or two. A few rows after a note type in the effect command A. For the parameters use 0F. Play back the pattern, and you should notice that when the effect kicks in, the sample drops to a very low volume very quickly. Change the effect parameters to F0, and use a low volume command on the note. Play back the pattern, and when the slide kicks in the volume of the note should increase very quickly. This because each part of the effect parameters for command A does a different thing. The first number slides the volume up, and the second slides it down. It's not recommended that you use both a volume up and volume down at the same time, due to the fact the tracker only looks for the first number that isn't set to 0. If you specify parameters of 8F, the tracker will see the 8, ignore the F, and slide the volume up. Using a slide up and down at same time just makes you look stupid. Don't do it... The Set Tempo command: F, is pretty easy to understand. You simply specify the BPM (in Hex) that you want to change to. One important thing to note is that values of lower than 20 (Hex) sets the secondary tempo rather than the primary. Another useful command is the Pattern Break: D. This will stop the playing of the current pattern and skip to the next one in the playing list. By using parameters of more than 00 you can also specify which line to begin playing from. Command 3 is Portamento to Note. This slides the currently playing note to another note, at a specified speed. The slide then stops when it reaches the desired note. <pre> C-2 1 000 - Starts the note playing --- 000 C-3 330 - Starts the slide to C-3 at a speed of 30. --- 300 - Continues the slide --- 300 - Continues the slide </pre> Once the parameters have been set, the command can be input again without any parameters, and it'll still perform the same function unless you change the parameters. This memory function allows certain commands to function correctly, such as command 5, which is the Portamento to Note and Volume Slide command. Once command 3 has been set up command 5 will simply take the parameters from that and perform a Portamento to Note. Any parameters set up for command 5 itself simply perform a Volume Slide identical to command A at the same time as the Portamento to Note. This memory function will only operate in the same channel where the original parameters were set up. There are various other commands which perform two functions at once. They will be described as we come across them. C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 00 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 02 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 05 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 08 C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0A C-3 04 .. .. 09 00 ---> C-3 04 .. .. 09 0D C-3 04 .. .. 09 10 ---> C-3 04 .. .. 09 10 (You can also switch on the Slider Rec to On, and perform parameter-live-recording, such as cutoff transitions, resonance or panning tweaking, etc..) Note: this command only works for volume/panning and fx datas columns. The next command we'll look at is the Portamento up/down: 1 and 2. Command 1 slides the pitch up at a specified speed, and 2 slides it down. This command works in a similar way to the volume slide, in that it is dependent on the secondary tempo. Both these commands have a memory dependent on each other, if you set the slide to a speed of 3 with the 1 command, a 2 command with no parameters will use the speed of 3 from the 1 command, and vice versa. Command 4 is Vibrato. Vibrato is basically rapid changes in pitch, just try it, and you'll see what I mean. Parameters are in the format of xy, where x is the speed of the slide, and y is the depth of the slide. One important point to remember is to keep your vibratos subtle and natural so a depth of 3 or less and a reasonably fast speed, around 8, is usually used. Setting the depth too high can make the part sound out of tune from the rest. Following on from command 4 is command 6. This is the Vibrato and Volume Slide command, and it has a memory like command 5, which you already know how to use. Command 7 is Tremolo. This is similar to vibrato. Rather than changing the pitch it slides the volume. The effect parameters are in exactly the same format. vibrato effect (0x1dxy) x = speed y = depth (can't be used if arpeggio (0x1b) is turned on) <pre> C-7 00 .. .. 1B37 <- Turn Arpeggio effect on --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B38 <- Change datas --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 0000 --- .. .. .. 1B00 <- Turn it off </pre> Command 9 is Sample Offset. This starts the playback of the sample from a different place than the start. The effect parameters specify the sample offset, but only very roughly. Say you have a sample which is 8765(Hex) bytes long, and you wanted it to play from position 4321(Hex). The effect parameter could only be as accurate as the 43 part, and it would ignore the 21. Command B is the Playing List/Order Jump command. The parameters specify the position in the Playing List/Order to jump to. When used in conjunction with command D you can specify the position and the line to play from. Command E is pretty complex, as it is used for a lot of different things, depending on what the first parameter is. Let's take a trip through each effect in order. Command E0 controls the hardware filter on an Amiga, which, as a low pass filter, cuts off the highest frequencies being played back. There are very few players and trackers on other system that simulate this function, not that you should need to use it. The second parameter, if set to 1, turns on the filter. If set to 0, the filter gets turned off. Commands E1/E2 are Fine Portamento Up/Down. Exactly the same functions as commands 1/2, except that they only slide the pitch by a very small amount. These commands have a memory the same as 1/2 as well. Command E3 sets the Glissando control. If parameters are set to 1 then when using command 3, any sliding will only use the notes in between the original note and the note being slid to. This produces a somewhat jumpier slide than usual. The best way to understand is to try it out for yourself. Produce a slow slide with command 3, listen to it, and then try using E31. Command E4 is the Set Vibrato Waveform control. This command controls how the vibrato command slides the pitch. Parameters are 0 - Sine, 1 - Ramp Down (Saw), 2 - Square. By adding 4 to the parameters, the waveform will not be restarted when a new note is played e.g. 5 - Sine without restart. Command E5 sets the Fine Tune of the instrument being played, but only for the particular note being played. It will override the default Fine Tune for the instrument. The parameters range from 0 to F, with 0 being -8 and F being +8 Fine Tune. A parameter of 8 gives no Fine Tune. If you're using a newer tracker that supports more than -8 to +8 e.g. -128 to +128, these parameters will give a rough Fine Tune, accurate to the nearest 16. Command E6 is the Jump Loop command. You mark the beginning of the part of a pattern that you want to loop with E60, and then specify with E6x the end of the loop, where x is the number of times you want it to loop. Command E7 is the Set Tremolo Waveform control. This has exactly the same parameters as command E4, except that it works for Tremolo rather than Vibrato. Command E9 is for Retriggering the note quickly. The parameter specifies the interval between the retrigs. Use a value of less than the current secondary tempo, or else the note will not get retrigged. Command EA/B are for Fine Volume Slide Up/Down. Much the same as the normal Volume Slides, except that these are easier to control since they don't depend on the secondary tempo. The parameters specify the amount to slide by e.g. if you have a sample playing at a volume of 08 (Hex) then the effect EA1 will slide this volume to 09 (Hex). A subsequent effect of EB4 would slide this volume down to 05 (Hex). Command EC is the Note Cut. This sets the volume of the currently playing note to 0 at a specified tick. The parameters should be lower than the secondary tempo or else the effect won't work. Command ED is the Note Delay. This should be used at the same time as a note is to be played, and the parameters will specify the number of ticks to delay playing the note. Again, keep the parameters lower than the secondary tempo, or the note won't get played! Command EE is the Pattern Delay. This delays the pattern for the amount of time it would take to play a certain number of rows. The parameters specify how many rows to delay for. Command EF is the Funk Repeat command. Set the sample loop to 0-1000. When EFx is used, the loop will be moved to 1000- 2000, then to 2000-3000 etc. After 9000-10000 the loop is set back to 0- 1000. The speed of the loop "movement" is defined by x. E is two times as slow as F, D is three times as slow as F etc. EF0 will turn the Funk Repeat off and reset the loop (to 0-1000). effects 0x41 and 0x42 to control the volumes of the 2 303 units There is a dedicated panel for synth parameter editing with coherent sections (osc, filter modulation, routing, so on) the interface is much nicer, much better to navigate with customizable colors, the reverb is now customizable (10 delay lines), It accepts newer types of Waves (higher bit rates, at least 24). Has a replay routine. It's pretty much your basic VA synth. The problem isn't with the sampler being to high it's the synth is tuned two octaves too low, but if you want your samples tuned down just set the base note down 2 octaves (in the instrument panel). so the synth is basically divided into 3 sections from left to right: oscillators/envelopes, then filter and LFO's, and in the right column you have mod routings and global settings. for the oscillator section you have two normal oscillators (sine, saw, square, noise), the second of which is tunable, the first one tunes with the key pressed. Attached to OSC 1 is a sub-oscillator, which is a sawtooth wave tuned one octave down. The phase modulation controls the point in the duty cycle at which the oscillator starts. The ADSR envelope sliders (grouped with oscs) are for modulation envelope 1 and 2 respectively. you can use the synth as a sampler by choosing the instrument at the top. In the filter column, the filter settings are: 1 = lowpass, 2 = highpass, 3 = off. cutoff and resonance. For the LFOs they are LFO 1 and LFO 2, the ADSR sliders in those are for the LFO itself. For the modulation routings you have ENV 1, LFO 1 for the first slider and ENV 2, LFO 2 for the second, you can cycle through the individual routings there, and you can route each modulation source to multiple destinations of course, which is another big plus for this synth. Finally the glide time is for portamento and master volume, well, the master volume... it can go quite loud. The sequencer is changed too, It's more like the one in AXS if you've used that, where you can mute tracks to re-use patterns with variation. <pre> Support for the following modules formats: 669 (Composer 669, Unis 669), AMF (DSMI Advanced Module Format), AMF (ASYLUM Music Format V1.0), APUN (APlayer), DSM (DSIK internal format), FAR (Farandole Composer), GDM (General DigiMusic), IT (Impulse Tracker), IMF (Imago Orpheus), MOD (15 and 31 instruments), MED (OctaMED), MTM (MultiTracker Module editor), OKT (Amiga Oktalyzer), S3M (Scream Tracker 3), STM (Scream Tracker), STX (Scream Tracker Music Interface Kit), ULT (UltraTracker), UNI (MikMod), XM (FastTracker 2), Mid (midi format via timidity) </pre> Possible plugin options include [http://lv2plug.in/ LV2], ====Midi - Musical Instrument Digital Interface==== A midi file typically contains music that plays on up to 16 channels (as per the midi standard), but many notes can simultaneously play on each channel (depending on the limit of the midi hardware playing it). '''Timidity''' Although usually already installed, you can uncompress the [http://www.libsdl.org/projects/SDL_mixer/ timidity.tar.gz (14MB)] into a suitable drawer like below's SYS:Extras/Audio/ assign timidity: SYS:Extras/Audio/timidity added to SYSːs/User-Startup '''WildMidi playback''' '''Audio Evolution 4 (2003) 4.0.23 (from 2012)''' *Sync Menu - CAMD Receive, Send checked *Options Menu - MIDI Machine Control - Midi Bar Display - Select CAMD MIDI in / out - Midi Remote Setup MCB Master Control Bus *Sending a MIDI start-command and a Song Position Pointer, you can synchronize audio with an external MIDI sequencer (like B&P). *B&P Receive, start AE, add AudioEvolution.ptool in Bars&Pipes track, press play / record in AE then press play in Pipes *CAMD Receive, receive MIDI start or continue commands via camd.library sync to AE *MIDI Machine Control *Midi Bar Display *Select CAMD MIDI in / out *Midi Remote Setup - open requester for external MIDI controllers to control app mixer and transport controls cc remotely Channel - mixer(vol, pan, mute, solo), eq, aux, fx, Subgroup - Volume, Mute, Solo Transport - Start, End, Play, Stop, Record, Rewind, Forward Misc - Master vol., Bank Down, Bank up <pre> q - quit First 3 already opened when AE started F1 - timeline window F2 - mixer F3 - control F4 - subgroups F5 - aux returns F6 - sample list i - Load sample to use space - start/stop play b - reset time 0:00 s - split mode r - open recording window a - automation edit mode with p panning, m mute and v volume [ / ] - zoom in / out : - previous track * - next track x c v f - cut copy paste cross-fade g - snap grid </pre> '''[http://bnp.hansfaust.de/ Bars n Pipes sequencer]''' BarsnPipes debug ... in shell Menu (right mouse) *Song - Songs load and save in .song format but option here to load/save Midi_Files .mid in FORMAT0 or FORMAT1 *Track - *Edit - *Tool - *Timing - SMTPE Synchronizing *Windows - *Preferences - Multiple MIDI-in option Windows (some of these are usually already opened when Bars n Pipes starts up for the first time) *Workflow -> Tracks, .... Song Construction, Time-line Scoring, Media Madness, Mix Maestro, *Control -> Transport (or mini one), Windows (which collects all the Windows icons together-shortcut), .... Toolbox, Accessories, Metronome, Once you have your windows placed on the screen that suits your workflow, Song -> Save as Default will save the positions, colors, icons, etc as you'd like them If you need a particular setup of Tracks, Tools, Tempos etc, you save them all as a new song you can load each time Right mouse menu -> Preferences -> Environment... -> ScreenMode - Linkages for Synch (to Slave) usbmidi.out.0 and Send (Master) usbmidi.in.0 - Clock MTC '''Tracks''' #Double-click on B&P's icon. B&P will then open with an empty Song. You can also double-click on a song icon to open a song in B&P. #Choose a track. The B&P screen will contain a Tracks Window with a number of tracks shown as pipelines (Track 1, Track 2, etc...). To choose a track, simply click on the gray box to show an arrow-icon to highlight it. This icon show whether a track is chosen or not. To the right of the arrow-icon, you can see the icon for the midi-input. If you double-click on this icon you can change the MIDI-in setup. #Choose Record for the track. To the right of the MIDI-input channel icon you can see a pipe. This leads to another clickable icon with that shows either P, R or M. This stands for Play, Record or Merge. To change the icon, simply click on it. If you choose P, this track can only play the track (you can't record anything). If you choose R, you can record what you play and it overwrites old stuff in the track. If you choose M, you merge new records with old stuff in the track. Choose R now to be able to make a record. #Chose MIDI-channel. On the most right part of the track you can see an icon with a number in it. This is the MIDI-channel selector. Here you must choose a MIDI-channel that is available on your synthesizer/keyboard. If you choose General MIDI channel 10, most synthesizer will play drum sounds. To the left of this icon is the MIDI-output icon. Double-click on this icon to change the MIDI-output configuration. #Start recording. The next step is to start recording. You must then find the control buttons (they look like buttons on a CD-player). To be able to make a record. you must click on the R icon. You can simply now press the play button (after you have pressed the R button) and play something on you keyboard. To playback your composition, press the Play button on the control panel. #Edit track. To edit a track, you simply double click in the middle part of a track. You will then get a new window containing the track, where you can change what you have recorded using tools provided. Take also a look in the drop-down menus for more features. Videos to help understand [https://www.youtube.com/watch?v=A6gVTX-9900 small intro], [https://www.youtube.com/watch?v=abq_rUTiSA4&t=3s Overview], [https://www.youtube.com/watch?v=ixOVutKsYQo Workplace Setup CC PC Sysex], [https://www.youtube.com/watch?v=dDnJLYPaZTs Import Song], [https://www.youtube.com/watch?v=BC3kkzPLkv4 Tempo Mapping], [https://www.youtube.com/watch?v=sd23kqMYPDs ptool Arpeggi-8], [https://www.youtube.com/watch?v=LDJq-YxgwQg PlayMidi Song], [https://www.youtube.com/watch?v=DY9Pu5P9TaU Amiga Midi], [https://www.youtube.com/watch?v=abq_rUTiSA4 Learning Amiga bars and Pipes], Groups like [https://groups.io/g/barsnpipes/topics this] could help '''Tracks window''' * blue "1 2 3 4 5 6 7 8 Group" and transport tape deck VCR-type controls * Flags * [http://theproblem.alco-rhythm.com/org/bp.html Track 1, Track2, to Track 16, on each Track there are many options that can be activated] Each Track has a *Left LHS - Click in grey box to select what Track to work on, Midi-In ptool icon should be here (5pin plug icon), and many more from the Toolbox on the Input Pipeline *Middle - (P, R, M) Play, Record, Merge/Multi before the sequencer line and a blue/red/yellow (Thru Mute Play) Tap *Right RHS - Output pipeline, can have icons placed uopn it with the final ptool icon(s) being the 5pin icon symbol for Midi-OUT Clogged pipelines may need Esc pressed several times '''Toolbox (tools affect the chosen pipeline)''' After opening the Toolbox window you can add extra Tools (.ptool) for the pipelines like keyboard(virtual), midimonitor, quick patch, transpose, triad, (un)quantize, feedback in/out, velocity etc right mouse -> Toolbox menu option -> Install Tool... and navigate to Tool drawer (folder) and select requried .ptool Accompany B tool to get some sort of rythmic accompaniment, Rythm Section and Groove Quantize are examples of other tools that make use of rythms [https://aminet.net/search?query=bars Bars & Pipes pattern format .ptrn] for drawer (folder). Load from the Menu as Track or Group '''Accessories (affect the whole app)''' Accessories -> Install... and goto the Accessories drawer for .paccess like adding ARexx scripting support '''Song Construction''' <pre> F1 Pencil F2 Magic Wand F3 Hand F4 Duplicator F5 Eraser F6 Toolpad F7 Bounding box F8 Lock to A-B-A A-B-A strip, section, edit flags, white boxes, </pre> Bars&Pipes Professional offers three track formats; basic song tracks, linear tracks — which don't loop — and finally real‑time tracks. The difference between them is that both song and linear tracks respond to tempo changes, while real‑time tracks use absolute timing, always trigger at the same instant regardless of tempo alterations '''Tempo Map''' F1 Pencil F2 Magic Wand F3 Hand F4 Eraser F5 Curve F6 Toolpad Compositions Lyrics, Key, Rhythm, Time Signature '''Master Parameters''' Key, Scale/Mode '''Track Parameters''' Dynamics '''Time-line Scoring''' '''Media Madness''' '''Mix Maestro''' *ACCESSORIES Allows the importation of other packages and additional modules *CLIPBOARD Full cut, copy and paste operations, enabling user‑definable clips to be shared between tracks. *INFORMATION A complete rundown on the state of the current production and your machine. *MASTER PARAMETERS Enables global definition of time signatures, lyrics, scales, chords, dynamics and rhythm changes. *MEDIA MADNESS A complete multimedia sequencer which allows samples, stills, animation, etc *METRONOME Tempo feedback via MIDI, internal Amiga audio and colour cycling — all three can be mixed and matched as required. *MIX MAESTRO Completely automated mixdown with control for both volume and pan. All fader alterations are memorised by the software *RECORD ACTIVATION Complete specification of the data to be recorded/merged. Allows overdubbing of pitch‑bend, program changes, modulation etc *SET FLAGS Numeric positioning of location and edit flags in either SMPTE or musical time *SONG CONSTRUCTION Large‑scale cut and paste of individual measures, verses or chorus, by means of bounding box and drag‑n‑drop mouse selections *TEMPO MAP Tempo change using a variety of linear and non‑linear transition curves *TEMPO PALETTE Instant tempo changes courtesy of four user‑definable settings. *TIMELINE SCORING Sequencing of a selection of songs over a defined period — ideal for planning an entire set for a live performance. *TOOLBOX Selection screen for the hundreds of signal‑processing tools available *TRACKS Opens the main track window to enable recording, editing and the use of tools. *TRANSPORT Main playback control window, which also provides access to user‑ defined flags, loop and punch‑in record modes. Bars and Pipes Pro 2.5 is using internal 4-Byte IDs, to check which kind of data are currently processed. Especially in all its files the IDs play an important role. The IDs are stored into the file in the same order they are laid out in the memory. In a Bars 'N' Pipes file (no matter which kind) the ID "NAME" (saved as its ANSI-values) is stored on a big endian system (68k-computer) as "NAME". On a little endian system (x86 PC computer) as "EMAN". The target is to make the AROS-BnP compatible to songs, which were stored on a 68k computer (AMIGA). If possible, setting MIDI channels for Local Control for your keyboard http://www.fromwithin.com/liquidmidi/archive.shtml MIDI files are essentially a stream of event data. An event can be many things, but typically "note on", "note off", "program change", "controller change", or messages that instruct a MIDI compatible synth how to play a given bit of music. * Channel - 1 to 16 - * Messages - PC presets, CC effects like delays, reverbs, etc * Sequencing - MIDI instruments, Drums, Sound design, * Recording - * GUI - Piano roll or Tracker, Staves and Notes MIDI events/messages like step entry e.g. Note On, Note Off MIDI events/messages like PB, PC, CC, Mono and Poly After-Touch, Sysex, etc MIDI sync - Midi Clocks (SPS Measures), Midi Time Code (h, m, s and frames) SMPTE Individual track editing with audition edits so easier to test any changes. Possible to stop track playback, mix clips from the right edit flag and scroll the display using arrow keys. Step entry, to extend a selected note hit the space bar and the note grows accordingly. Ability to cancel mouse‑driven edits by simply clicking the right mouse button — at which point everything snaps back into its original form. Lyrics can now be put in with syllable dividers, even across an entire measure or section. Autoranging when you open a edit window, the notes are automatically displayed — working from the lowest upwards. Flag editing, shift‑click on a flag immediately open the bounds window, ready for numeric input. Ability to cancel edits using the right‑hand mouse button, plus much improved Bounding Box operations. Icons other than the BarsnPipes icon -> PUBSCREEN=BarsnPipes (cannot choose modes higher than 8bit 256 colors) Preferences -> Menu in Tracks window - Send MIDI defaults OFF Prefs -> Environment -> screenmode (saved to BarsnPipes.prefs binary file) Customization -> pics in gui drawer (folder) - Can save as .song files and .mid General Midi SMF is a “Standard Midi File” ([http://www.music.mcgill.ca/~ich/classes/mumt306/StandardMIDIfileformat.html SMF0, SMF1 and SMF2]), [https://github.com/stump/libsmf libsmf], [https://github.com/markc/midicomp MIDIcomp], [https://github.com/MajicDesigns/MD_MIDIFile C++ src], [], [https://github.com/newdigate/midi-smf-reader Midi player], * SMF0 All MIDI data is stored in one track only, separated exclusively by the MIDI channel. * SMF1 The MIDI data is stored in separate tracks/channels. * SMF2 (rarely used) The MIDI data is stored in separate tracks, which are additionally wrapped in containers, so it's possible to have e.g. several tracks using the same MIDI channels. Would it be possible to enrich Bars N’Pipes with software synth and sample support along with audio recording and mastering tools like in the named MAC or PC music sequencers? On the classic AMIGA-OS this is not possible because of missing CPU-power. The hardware of the classic AMIGA is not further developed. So we must say (unfortunately) that those dreams can’t become reality BarsnPipes is best used with external MIDI-equipment. This can be a keyboard or synthesizer with MIDI-connectors. <pre> MIDI can control 16 channels There are USB-MIDI-Interfaces on the market with 16 independent MIDI-lines (multi-port), which can handle 16 MIDI devices independently – 16×16 = 256 independent MIDI-channels or instruments handle up to 16 different USB-MIDI-Interfaces (multi-device). That is: 16X16X16 = 4096 independent MIDI-channels – theoretically </pre> <pre> Librarian MIDI SYStem EXplorer (sysex) - PatchEditor and used to be supplied as a separate program like PatchMeister but currently not at present It should support MIDI.library (PD), BlueRibbon.library (B&P), TriplePlayPlus, and CAMD.library (DeluxeMusic) and MIDI information from a device's user manual and configure a custom interface to access parameters for all MIDI products connected to the system Supports ALL MIDI events and the Patch/Librarian data is stored in MIDI standard format Annette M.Crowling, Missing Link Software, Inc. </pre> Composers <pre> [https://x.com/hirasawa/status/1403686519899054086 Susumu Hirasawa] </pre> <pre> 1988 Todor Fay and his wife Melissa Jordan Gray, who founded the Blue Ribbon Inc 1992 Bars&Pipes Pro published November 2000, Todor Fay announcement to release the sourcecode of Bars&Pipes Pro 2.5c beta end of May 2001, the source of the main program and the sources of some tools and accessories were in a complete and compileable state end of October 2009 stop further development of BarsnPipes New for now on all supported systems and made freeware 2013 Alfred Faust diagnosed with incureable illness, called „Myastenia gravis“ (weak muscles) </pre> Protrekkr How to use Midi In/Out in Protrekkr ? First of all, midi in & out capabilities of this program are rather limited. # Go to Misc. Setup section and select a midi in or out device to use (ptk only supports one device at a time). # Go to instrument section, and select a MIDI PRG (the default is N/A, which means no midi program selected). # Go to track section and here you can assign a midi channel to each track of ptk. # Play notes :]. Note off works. F'x' note cut command also works too, and note-volume command (speed) is supported. Also, you can change midicontrollers in the tracker, using '90' in the panning row: <pre> C-3 02 .. .. 0000.... --- .. .. 90 xxyy.... << This will set the value --- .. .. .. 0000.... of the controller n.'xx' to 'yy' (both in hex) --- .. .. .. 0000.... </pre> So "--- .. .. 90 2040...." will set the controller number $20(32) to $40(64). You will need the midi implementation table of your gear to know what you can change with midi controller messages. N.B. Not all MIDI devices are created equal! Although the MIDI specification defines a large range of MIDI messages of various kinds, not every MIDI device is required to work in exactly the same way and respond to all the available messages and ways of working. For example, we don't expect a wind synthesiser to work in the same way as a home keyboard. Some devices, the older ones perhaps, are only able to respond to a single channel. With some of those devices that channel can be altered from the default of 1 (probably) to another channel of the 16 possible. Other devices, for instance monophonic synthesisers, are capable of producing just one note at a time, on one MIDI channel. Others can produce many notes spread across many channels. Further devices can respond to, and transmit, "breath controller" data (MIDI controller number 2 (CC#2)) others may respond to the reception of CC#2 but not be able to create and to send it. A controller keyboard may be capable of sending "expression pedal" data, but another device may not be capable of responding to that message. Some devices just have the basic GM sound set. The "voice" or "instrument" is selected using a "Program Change" message on its own. Other devices have a greater selection of voices, usually arranged in "banks", and the choice of instrument is made by responding to "Bank Select MSB" (MIDI controller 0 (CC#0)), others use "Bank Select LSB" (MIDI controller number 32 (CC#32)), yet others use both MSB and LSB sent one after the other, all followed by the Program Change message. The detailed information about all the different voices will usually be available in a published MIDI Data List. MIDI Implementation Chart But in the User Manual there is sometimes a summary of how the device works, in terms of MIDI, in the chart at the back of the manual, the MIDI Implementation Chart. If you require two devices to work together you can compare the two implementation charts to see if they are "compatible". In order to do this we will need to interpret that chart. The chart is divided into four columns headed "Function", "Transmitted" (or "Tx"), "Received" (or "Rx"), or more correctly "Recognised", and finally, "Remarks". <pre> The left hand column defines which MIDI functions are being described. The 2nd column defines what the device in question is capable of transmitting to another device. The 3rd column defines what the device is capable of responding to. The 4th column is for explanations of the values contained within these previous two columns. </pre> There should then be twelve sections, with possibly a thirteenth containing extra "Notes". Finally there should be an explanation of the four MIDI "modes" and what the "X" and the "O" mean. <pre> Mode 1: Omni On, Poly; Mode 2: Omni On, Mono; Mode 3: Omni Off, Poly; Mode 4: Omni Off, Mono. </pre> O means "yes" (implemented), X means "no" (not implemented). Sometimes you will find a row of asterisks "**************", these seem to indicate that the data is not applicable in this case. Seen in the transmitted field only (unless you've seen otherwise). Lastly you may find against some entries an asterisk followed by a number e.g. *1, these will refer you to further information, often on a following page, giving more detail. Basic Channel But the very first set of boxes will tell us the "Basic Channel(s)" that the device sends or receives on. "Default" is what happens when the device is first turned on, "changed" is what a switch of some kind may allow the device to be set to. For many devices e.g. a GM sound module or a home keyboard, this would be 1-16 for both. That is it can handle sending and receiving on all MIDI channels. On other devices, for example a synthesiser, it may by default only work on channel 1. But the keyboard could be "split" with the lower notes e.g. on channel 2. If the synth has an arppegiator, this may be able to be set to transmit and or receive on yet another channel. So we might see the default as "1" but the changed as "1-16". Modes. We need to understand Omni On and Off, and Mono and Poly, then we can decipher the four modes. But first we need to understand that any of these four Mode messages can be sent to any MIDI channel. They don't necessarily apply to the whole device. If we send an "Omni On" message (CC#125) to a MIDI channel of a device, we are, in effect, asking it to respond to e.g. a Note On / Off message pair, received on any of the sixteen channels. Sound strange? Read it again. Still strange? It certainly is. We normally want a MIDI channel to respond only to Note On / Off messages sent on that channel, not any other. In other words, "Omni Off". So "Omni Off" (CC#124) tells a channel of our MIDI device to respond only to messages sent on that MIDI channel. "Poly" (CC#127) is for e.g. a channel of a polyphonic sound module, or a home keyboard, to be able to respond to many simultaneous Note On / Off message pairs at once and produce musical chords. "Mono" (CC#126) allows us to set a channel to respond as if it were e.g. a flute or a trumpet, playing just one note at a time. If the device is capable of it, then the overlapping of notes will produce legato playing, that is the attack portion of the second note of two overlapping notes will be removed resulting in a "smoother" transition. So a channel with a piano voice assigned to it will have Omni Off, Poly On (Mode 3), a channel with a saxophone voice assigned could be Omni Off, Mono On (Mode 4). We call these combinations the four modes, 1 to 4, as defined above. Most modern devices will have their channels set to Mode 3 (Omni Off, Poly) but be switchable, on a per channel basis, to Mode 4 (Omni Off, Mono). This second section of data will include first its default value i.e. upon device switch on. Then what Mode messages are acceptable, or X if none. Finally, in the "Altered" field, how a Mode message that can't be implemented will be interpreted. Usually there will just be a row of asterisks effectively meaning nothing will be done if you try to switch to an unimplemented mode. Note Number <pre> The next row will tell us which MIDI notes the device can send or receive, normally 0-127. The second line, "True Voice" has the following in the MIDI specification: "Range of received note numbers falling within the range of true notes produced by the instrument." My interpretation is that, for instance, a MIDI piano may be capable of sending all MIDI notes (0 to 127) by transposition, but only responding to the 88 notes (21 to 108) of a real piano. </pre> Velocity This will tell us whether the device we're looking at will handle note velocity, and what range from 1-127, or maybe just 64, it transmits or will recognise. So usually "O" plus a range or "X" for not implemented. After touch This may have one or two lines two it. If a one liner the either "O" or "X", yes or no. If a two liner then it may include "Keys" or "Poly" and "Channel". This will show whether the device will respond to Polyphonic after touch or channel after touch or neither. Pitch Bend Again "O" for implemented, "X" for not implemented. (Many stage pianos will have no pitch bend capability.) It may also, in the notes section, state whether it will respond to the full 14 bits, or not, as usually encoded by the pitch bend wheel. Control Change This is likely to be the largest section of the chart. It will list all those controllers, starting from CC#0, Bank Select MSB, which the device is capable of sending, and those that it will respond to using "O" or "X" respectively. You will, almost certainly, get some further explanation of functionality in the remarks column, or in more detail elsewhere in the documentation. Of course you will need to know what all the various controller numbers do. Lots of the official technical specifications can be found at the [www.midi.org/techspecs/ MMA], with the table of messages and control change [www.midi.org/techspecs/midimessages.php message numbers] Program Change Again "O" or "X" in the Transmitted or Recognised column to indicate whether or not the feature is implemented. In addition a range of numbers is shown, typically 0-127, to show what is available. True # (number): "The range of the program change numbers which correspond to the actual number of patches selected." System Exclusive Used to indicate whether or not the device can send or recognise System Exclusive messages. A short description is often given in the Remarks field followed by a detailed explanation elsewhere in the documentation. System Common - These include the following: <pre> MIDI Time Code Quarter Frame messages (device synchronisation). Song Position Pointer Song Select Tune Request </pre> The section will indicate whether or not the device can send or respond to any of these messages. System Real Time These include the following: <pre> Timing Clock - often just written as "Clock" Start Stop Continue </pre> These three are usually just referred to as "Commands" and listed. Again the section will indicate which, if any, of these messages the device can send or respond to. <pre> Aux. Messages Again "O" or "X" for implemented or not. Aux. = Auxiliary. Active Sense = Active Sensing. </pre> Often with an explanation of the action of the device. Notes The "Notes" section can contain any additional comments to clarify the particular implementation. Some of the explanations have been drawn directly from the MMA MIDI 1.0 Detailed Specification. And the detailed explanation of some of the functions will be found there, or in the General MIDI System Level 1 or General MIDI System Level 2 documents also published by the MMA. OFFICIAL MIDI SPECIFICATIONS SUMMARY OF MIDI MESSAGES Table 1 - Summary of MIDI Messages The following table lists the major MIDI messages in numerical (binary) order (adapted from "MIDI by the Numbers" by D. Valenti, Electronic Musician 2/88, and updated by the MIDI Manufacturers Association.). This table is intended as an overview of MIDI, and is by no means complete. WARNING! Details about implementing these messages can dramatically impact compatibility with other products. We strongly recommend consulting the official MIDI Specifications for additional information. MIDI 1.0 Specification Message Summary Channel Voice Messages [nnnn = 0-15 (MIDI Channel Number 1-16)] {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1000nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note Off event. This message is sent when a note is released (ended). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1001nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Note On event. This message is sent when a note is depressed (start). (kkkkkkk) is the key (note) number. (vvvvvvv) is the velocity. |- |<!--Status-->1010nnnn || <!--Data-->0kkkkkkk 0vvvvvvv || <!--Description-->Polyphonic Key Pressure (Aftertouch). This message is most often sent by pressing down on the key after it "bottoms out". (kkkkkkk) is the key (note) number. (vvvvvvv) is the pressure value. |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Control Change. This message is sent when a controller value changes. Controllers include devices such as pedals and levers. Controller numbers 120-127 are reserved as "Channel Mode Messages" (below). (ccccccc) is the controller number (0-119). (vvvvvvv) is the controller value (0-127). |- |<!--Status-->1100nnnn || <!--Data-->0ppppppp || <!--Description-->Program Change. This message sent when the patch number changes. (ppppppp) is the new program number. |- |<!--Status-->1101nnnn || <!--Data-->0vvvvvvv || <!--Description-->Channel Pressure (After-touch). This message is most often sent by pressing down on the key after it "bottoms out". This message is different from polyphonic after-touch. Use this message to send the single greatest pressure value (of all the current depressed keys). (vvvvvvv) is the pressure value. |- |<!--Status-->1110nnnn || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Pitch Bend Change. This message is sent to indicate a change in the pitch bender (wheel or lever, typically). The pitch bender is measured by a fourteen bit value. Center (no pitch change) is 2000H. Sensitivity is a function of the receiver, but may be set using RPN 0. (lllllll) are the least significant 7 bits. (mmmmmmm) are the most significant 7 bits. |} Channel Mode Messages (See also Control Change, above) {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->1011nnnn || <!--Data-->0ccccccc 0vvvvvvv || <!--Description-->Channel Mode Messages. This the same code as the Control Change (above), but implements Mode control and special message by using reserved controller numbers 120-127. The commands are: *All Sound Off. When All Sound Off is received all oscillators will turn off, and their volume envelopes are set to zero as soon as possible c = 120, v = 0: All Sound Off *Reset All Controllers. When Reset All Controllers is received, all controller values are reset to their default values. (See specific Recommended Practices for defaults) c = 121, v = x: Value must only be zero unless otherwise allowed in a specific Recommended Practice. *Local Control. When Local Control is Off, all devices on a given channel will respond only to data received over MIDI. Played data, etc. will be ignored. Local Control On restores the functions of the normal controllers. c = 122, v = 0: Local Control Off c = 122, v = 127: Local Control On * All Notes Off. When an All Notes Off is received, all oscillators will turn off. c = 123, v = 0: All Notes Off (See text for description of actual mode commands.) c = 124, v = 0: Omni Mode Off c = 125, v = 0: Omni Mode On c = 126, v = M: Mono Mode On (Poly Off) where M is the number of channels (Omni Off) or 0 (Omni On) c = 127, v = 0: Poly Mode On (Mono Off) (Note: These four messages also cause All Notes Off) |} System Common Messages System Messages (0xF0) The final status nybble is a “catch all” for data that doesn’t fit the other statuses. They all use the most significant nybble (4bits) of 0xF, with the least significant nybble indicating the specific category. The messages are denoted when the MSB of the second nybble is 1. When that bit is a 0, the messages fall into two other subcategories. System Common If the MSB of the second second nybble (4 bits) is not set, this indicates a System Common message. Most of these are messages that include some additional data bytes. System Common Messages Type Status Byte Number of Data Bytes Usage <pre> Time Code Quarter Frame 0xF1 1 Indicates timing using absolute time code, primarily for synthronization with video playback systems. A single location requires eight messages to send the location in an encoded hours:minutes:seconds:frames format*. Song Position 0xF2 2 Instructs a sequencer to jump to a new position in the song. The data bytes form a 14-bit value that expresses the location as the number of sixteenth notes from the start of the song. Song Select 0xF3 1 Instructs a sequencer to select a new song. The data byte indicates the song. Undefined 0xF4 0 Undefined 0xF5 0 Tune Request 0xF6 0 Requests that the receiver retunes itself**. </pre> *MIDI Time Code (MTC) is significantly complex. Please see the MIDI Specification **While modern digital instruments are good at staying in tune, older analog synthesizers were prone to tuning drift. Some analog synthesizers had an automatic tuning operation that could be initiated with this command. System Exclusive If you’ve been keeping track, you’ll notice there are two status bytes not yet defined: 0xf0 and 0xf7. These are used by the System Exclusive message, often abbreviated at SysEx. SysEx provides a path to send arbitrary data over a MIDI connection. There is a group of predefined messages for complex data, like fine grained control of MIDI Time code machinery. SysEx is also used to send manufacturer defined data, such as patches, or even firmware updates. System Exclusive messages are longer than other MIDI messages, and can be any length. The messages are of the following format: 0xF0, 0xID, 0xdd, ...... 0xF7 The message is bookended with distinct bytes. It opens with the Start Of Exclusive (SOX) data byte, 0xF0. The next one to three bytes after the start are an identifier. Values from 0x01 to 0x7C are one-byte vendor IDs, assigned to manufacturers who were involved with MIDI at the beginning. If the ID is 0x00, it’s a three-byte vendor ID - the next two bytes of the message are the value. <pre> ID 0x7D is a placeholder for non-commercial entities. ID 0x7E indicates a predefined Non-realtime SysEx message. ID 0x7F indicates a predefined Realtime SysEx message. </pre> After the ID is the data payload, sent as a stream of bytes. The transfer concludes with the End of Exclusive (EOX) byte, 0xF7. The payload data must follow the guidelines for MIDI data bytes – the MSB must not be set, so only 7 bits per byte are actually usable. If the MSB is set, it falls into three possible scenarios. An End of Exclusive byte marks the ordinary termination of the SysEx transfer. System Real Time messages may occur within the transfer without interrupting it. The recipient should handle them independently of the SysEx transfer. Other status bytes implicitly terminate the SysEx transfer and signal the start of new messages. Some inexpensive USB-to-MIDI interfaces aren’t capable of handling messages longer than four bytes. {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11110000 || <!--Data-->0iiiiiii [0iiiiiii 0iiiiiii] 0ddddddd --- --- 0ddddddd 11110111 || <!--Description-->System Exclusive. This message type allows manufacturers to create their own messages (such as bulk dumps, patch parameters, and other non-spec data) and provides a mechanism for creating additional MIDI Specification messages. The Manufacturer's ID code (assigned by MMA or AMEI) is either 1 byte (0iiiiiii) or 3 bytes (0iiiiiii 0iiiiiii 0iiiiiii). Two of the 1 Byte IDs are reserved for extensions called Universal Exclusive Messages, which are not manufacturer-specific. If a device recognizes the ID code as its own (or as a supported Universal message) it will listen to the rest of the message (0ddddddd). Otherwise, the message will be ignored. (Note: Only Real-Time messages may be interleaved with a System Exclusive.) |- |<!--Status-->11110001 || <!--Data-->0nnndddd || <!--Description-->MIDI Time Code Quarter Frame. nnn = Message Type dddd = Values |- |<!--Status-->11110010 || <!--Data-->0lllllll 0mmmmmmm || <!--Description-->Song Position Pointer. This is an internal 14 bit register that holds the number of MIDI beats (1 beat= six MIDI clocks) since the start of the song. l is the LSB, m the MSB. |- |<!--Status-->11110011 || <!--Data-->0sssssss || <!--Description-->Song Select. The Song Select specifies which sequence or song is to be played. |- |<!--Status-->11110100 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11110110 || <!--Data--> || <!--Description-->Tune Request. Upon receiving a Tune Request, all analog synthesizers should tune their oscillators. |- |<!--Status-->11110111 || <!--Data--> || <!--Description-->End of Exclusive. Used to terminate a System Exclusive dump. |} System Real-Time Messages {| class="wikitable sortable" width="90%" ! width="10%" |Status D7----D0 ! width="10%" |Data Byte(s) D7----D0 ! width="20%" |Description |- |<!--Status-->11111000 || <!--Data--> || <!--Description-->Timing Clock. Sent 24 times per quarter note when synchronization is required. |- |<!--Status-->11111001 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111010 || <!--Data--> || <!--Description-->Start. Start the current sequence playing. (This message will be followed with Timing Clocks). |- |<!--Status-->11111011 || <!--Data--> || <!--Description-->Continue. Continue at the point the sequence was Stopped. |- |<!--Status-->11111100 || <!--Data--> || <!--Description-->Stop. Stop the current sequence. |- |<!--Status-->11111101 || <!--Data--> || <!--Description-->Undefined. (Reserved) |- |<!--Status-->11111110 || <!--Data--> || <!--Description-->Active Sensing. This message is intended to be sent repeatedly to tell the receiver that a connection is alive. Use of this message is optional. When initially received, the receiver will expect to receive another Active Sensing message each 300ms (max), and if it does not then it will assume that the connection has been terminated. At termination, the receiver will turn off all voices and return to normal (non- active sensing) operation. |- |<!--Status-->11111111 || <!--Data--> || <!--Description-->Reset. Reset all receivers in the system to power-up status. This should be used sparingly, preferably under manual control. In particular, it should not be sent on power-up. |} Advanced Messages Polyphonic Pressure (0xA0) and Channel Pressure (0xD0) Some MIDI controllers include a feature known as Aftertouch. While a key is being held down, the player can press harder on the key. The controller measures this, and converts it into MIDI messages. Aftertouch comes in two flavors, with two different status messages. The first flavor is polyphonic aftertouch, where every key on the controller is capable of sending its own independent pressure information. The messages are of the following format: <pre> 0xnc, 0xkk, 0xpp n is the status (0xA) c is the channel nybble kk is the key number (0 to 127) pp is the pressure value (0 to 127) </pre> Polyphonic aftertouch is an uncommon feature, usually found on premium quality instruments, because every key requires a separate pressure sensor, plus the circuitry to read them all. Much more commonly found is channel aftertouch. Instead of needing a discrete sensor per key, it uses a single, larger sensor to measure pressure on all of the keys as a group. The messages omit the key number, leaving a two-byte format <pre> 0xnc, 0xpp n is the status (0xD) c is the channel number pp is the pressure value (0 to 127) </pre> Pitch Bend (0xE0) Many keyboards have a wheel or lever towards the left of the keys for pitch bend control. This control is usually spring-loaded, so it snaps back to the center of its range when released. This allows for both upward and downward bends. Pitch Bend Wheel The wheel sends pitch bend messages, of the format <pre> 0xnc, 0xLL, 0xMM n is the status (0xE) c is the channel number LL is the 7 least-significant bits of the value MM is the 7 most-significant bits of the value </pre> You’ll notice that the bender data is actually 14 bits long, transmitted as two 7-bit data bytes. This means that the recipient needs to reassemble those bytes using binary manipulation. 14 bits results in an overall range of 214, or 0 to 16,383. Because it defaults to the center of the range, the default value for the bender is halfway through that range, at 8192 (0x2000). Control Change (0xB0) In addition to pitch bend, MIDI has provisions for a wider range of expressive controls, sometimes known as continuous controllers, often abbreviated CC. These are transmitted by the remaining knobs and sliders on the keyboard controller shown below. Continuous Controllers These controls send the following message format: <pre> 0xnc, 0xcc, 0xvv n is the status (0xB) c is the MIDI channel cc is the controller number (0-127) vv is the controller value (0-127) </pre> Typically, the wheel next to the bender sends controller number one, assigned to modulation (or vibrato) depth. It is implemented by most instruments. The remaining controller number assignments are another point of confusion. The MIDI specification was revised in version 2.0 to assign uses for many of the controllers. However, this implementation is not universal, and there are ranges of unassigned controllers. On many modern MIDI devices, the controllers are assignable. On the controller keyboard shown in the photos, the various controls can be configured to transmit different controller numbers. Controller numbers can be mapped to particular parameters. Virtual synthesizers frequently allow the user to assign CCs to the on-screen controls. This is very flexible, but it might require configuration on both ends of the link and completely bypasses the assignments in the standard. Program Change (0xC0) Most synthesizers have patch storage memory, and can be told to change patches using the following command: <pre> 0xnc, 0xpp n is the status (0xc) c is the channel pp is the patch number (0-127) </pre> This allows for 128 sounds to be selected, but modern instruments contain many more than 128 patches. Controller #0 is used as an additional layer of addressing, interpreted as a “bank select” command. Selecting a sound on such an instrument might involve two messages: a bank select controller message, then a program change. Audio & Midi are not synchronized, what I can do ? Buy a commercial software package but there is a nasty trick to synchronize both. It's a bit hardcore but works for me: Simply put one line down to all midi notes on your pattern (use Insert key) and go to 'Misc. Setup', adjust the latency and just search a value that will make sound sync both audio/midi. The stock Sin/Saw/Pulse and Rnd waveforms are too simple/common, is there a way to use something more complex/rich ? You have to ability to redirect the waveforms of the instruments through the synth pipe by selecting the "wav" option for the oscillator you're using for this synth instrument, samples can be used as wavetables to replace the stock signals. Sound banks like soundfont (sf2) or Kontakt2 are not supported at the moment ====DAW Audio Evolution 4==== Audio Evolution 4 gives you unsurpassed power for digital audio recording and editing on the Amiga. The latest release focusses on time-saving non-linear and non-destructive editing, as seen on other platforms. Besides editing, Audio Evolution 4 offers a wide range of realtime effects, including compression, noise gate, delays, reverb, chorus and 3-band EQ. Whether you put them as inserts on a channel or use them as auxillaries, the effect parameters are realtime adjustable and can be fully automated. Together with all other mixing parameters, they can even be controlled remotely, using more ergonomic MIDI hardware. Non-linear editing on the time line, including cut, copy, paste, move, split, trim and crossfade actions The number of tracks per project(s) is unlimited .... AHI limits you to recording only two at a time. i.e. not on 8 track sound cards like the Juli@ or Phase 88. sample file import is limited to 16bit AIFF (not AIFC, important distinction as some files from other sources can be AIFC with aiff file extention). and 16bit WAV (pcm only) Most apps use the Music Unit only but a few apps also use Unit (0-3) instead or as well. * Set up AHI prefs so that microphone is available. (Input option near the bottom) stereo++ allows the audio piece to be placed anywhere and the left-right adjusted to sound positionally right hifi best for music playback if driver supports this option Load 16bit .aif .aiff only sample(s) to use not AIFC which can have the same ending. AIFF stands for Audio Interchange File Format sox recital.wav recital.aiff sox recital.wav −b 16 recital.aiff channels 1 rate 16k fade 3 norm sox input.wav output.aiff bass −b 16 rate 48k performs the same format translation, but also applies four effects (down-mix to one channel, sample rate change, fade-in, nomalize), and stores the result at a bit-depth of 16. rec −c 2 radio.aiff trim 0 30:00 records half an hour of stereo audio play existing-file.wav 24bit PCM WAV or AIFF do not work *No stream format handling. So no way to pass on an AC3 encoded stream unmodified to the digital outputs through AHI. *No master volume handling. Each application has to set its own volume. So each driver implements its own custom driver-mixer interface for handling master volumes, mute and preamps. *Only one output stream. So all input gets mixed into one output. *No automatic handling of output direction based on connected cables. *No monitor input selection. Only monitor volume control. select the correct input (Don't mistake enabled sound for the correct input.) The monitor will feedback audio to the lineout and hp out no matter if you have selected the correct input to the ADC. The monitor will provide sound for any valid input. This will result in free mixing when recording from the monitor input instead of mic/line because the monitor itself will provide the hardware mixing for you. Be aware that MIC inputs will give two channel mono. Only Linein will give real stereo. Now for the not working part. Attempt to record from linein in the AE4 record window, the right channel is noise and the left channel is distorted. Even with the recommended HIFI 16bit Stereo++ mode at 48kHz. Channels Monitor Gain Inout Output Advanced settings - Debugging via serial port * Options -> Soundcard In/Out * Options -> SampleRate * Options -> Preferences F6 for Sample File List Setting a grid is easy as is measuring the BPM by marking a section of the sample. Is your kick drum track "not in time" ? If so, you're stumped in AE4 as it has no fancy variable time signatures and definitely no 'track this dodgy rhythm' function like software of the nature of Logic has. So if your drum beat is freeform you will need to work in freeform mode. (Real music is free form anyway). If the drum *is* accurate and you are just having trouble measuring the time, I usually measure over a range of bars and set the number of beats in range to say 16 as this is more accurate, Then you will need to shift the drum track to match your grid *before* applying the grid. (probably an iterative process as when the grid is active samples snap to it, and when inactive you cannot see it). AE4 does have ARexx but the functions are more for adding samples at set offsets and starting playback / recording. These are the usual features found in DAWs... * Recording digital audio, midi sequencer and mixer * virtual VST instruments and plug-ins * automation, group channels, MIDI channels, FX sends and returns, audio and MIDI editors and music notation editor * different track views * mixer and track layout (but not the same as below) * traditional two windows (track and mixer) Mixing - mixdown Could not figure out how to select what part I wanted to send to the aux, set it to echo and return. Pretty much the whole echo effect. Or any effect. Take look at page17 of the manual. When you open the EQ / Aux send popup window you will see 4 sends. Now from the menu choose the windows menu. Menus->Windows-> Aux Returns Window or press F5 You will see a small window with 4 volume controls and an effects button for each. Click a button and add an effects to that aux channel, then set it up as desired (note the reverb effect has a special AUX setting that improves its use with the aux channel, not compulsory but highly useful). You set the amount of 'return' on the main mix in the Aux Return window, and the amount sent from each main mixer channel in the popup for that channel. Again the aux sends are "prefade" so the volume faders on each channel do not affect them. Tracking Effects - fade in To add some echoes to some vocals, tried to add an effect on a track but did not come out. This is made more complicated as I wanted to mute a vocal but then make it echo at the muting point. Want to have one word of a vocal heard and then echoed off. But when the track is mute the echo is cancelled out. To correctly understand what is happening here you need to study the figure at the bottom of page 15 on the manual. You will see from that that the effects are applied 'prefade' So the automation you applied will naturally mute the entire signal. There would be a number of ways to achieve the goal, You have three real time effects slots, one for smoothing like so Sample -> Amplify -> Delay Then automate the gain of the amplify block so that it effectively mutes the sample just before the delay at the appropriate moment, the echo effect should then be heard. Getting the effects in the right order will require experimentation as they can only be added top down and it's not obvious which order they are applied to the signal, but there only two possibilities, so it wont take long to find out. Using MUTE can cause clicks to the Amplify can be used to mute more smoothly so that's a secondary advantage. Signal Processing - Overdub [[#top|...to the top]] ===Office=== ====Spreadsheet Leu==== Support for some xlsx, and ods functions ====Spreadsheet Ignition==== ; Needs ABIv1 to be completed before more can be done File formats supported * ascii #?.txt and #?.csv (single sheets with data only). * igs and TurboCalc(WIP) #?.tc for all sheets with data, formats and formulas. There is '''no''' support for xls, xlsx, ods or uos ([http://en.wikipedia.org/wiki/Uniform_Office_Format Uniform Unified Office Format]) at the moment. * Always use Esc key after editing Spreadsheet cells. * copy/paste seems to copy the first instance only so go to Edit -> Clipboard to manage the list of remembered actions. * Right mouse click on row (1 or 2 or 3) or column header (a or b or c) to access optimal height or width of the row or column respectively * Edit -> Insert -> Row seems to clear the spreadsheet or clears the rows after the inserted row until undo restores as it should be... Change Sheet name by Object -> Sheet -> Properties Click in the cell which will contain the result, and click '''down arrow button''' to the right of the formula box at the bottom of the spreadsheet and choose the function required from the list provided. Then click on the start cell and click on the bottom right corner, a '''very''' small blob, which allows stretching a bounding box (thick grey outlines) across many cells This grey bounding box can be used to '''copy a formula''' to other cells. Object -> Cell -> Properties to change cell format - Currency only covers DM and not $, Euro, Renminbi, Yen or Pound etc. Shift key and arrow keys selects a range of cells, so that '''formatting can be done to all highlighted cells'''. View -> Overview then select ALL with one click (in empty cell in the top left hand corner of the sheet). Default mode is relative cell referencing e.g. a1+a2 but absolute e.g. $a$1+$a$2 can be entered. * #sheet-name to '''absolute''' reference another sheet-name cell unless reference() function used. ;Graphs use shift key and arrow keys to select a bunch of cells to be graph'ed making sure that x axes represents and y axes represents * value() - 0 value, 1 percent, 2 date, 3 time, 4 unit ... ;Dates * Excel starts a running count from the 1st Jan 1900 and Ignition starts from 1st Jan 1AD '''(maybe this needs to change)''' Set formatting Object -> Cell -> Properties and put date in days ;Time Set formatting Object -> Cell -> Properties and put time in seconds taken ;Database (to be done by someone else) type - standard, reference (bezug), search criterion (suchkriterium), * select a bunch of cells and Object -> Database -> Define to set Datenbank (database) and Felder (fields not sure how?) * Neu (new) or loschen (delete) to add/remove database headings e.g. Personal, Start Date, Finish Date (one per row?) * Object -> Database -> Index to add fields (felder) like Surname, First Name, Employee ID, etc. to ? Filtering done with dbfilter(), dbproduct() and dbposition(). Activities with dbsum(), dbaverage(), dbmin() and dbmax(). Table sorting - ;Scripts (Arexx) ;Excel(TM) to Ignition - commas ''',''' replaced by semi-colons ''';''' to separate values within functions *SUM(), *AVERAGE(), MAX(), MIN(), INT(), PRODUCT(), MEDIAN(), VAR() becomes Variance(), Percentile(), *IF(), AND, OR, NOT *LEFT(), RIGHT(), MID() becomes MIDDLE(), LEN() becomes LENGTH(), *LOWER() becomes LOWERCASE(), UPPER() becomes UPPERCASE(), * DATE(yyyy,mm,dd) becomes COMPUTEDATE(dd;mm;yyyy), *TODAY(), DAY(),WEEK(), MONTH(),=YEAR(TODAY()), *EOMONTH() becomes MONTHLENGTH(), *NOW() should be date and time becomes time only, SECOND(), MINUTE(), HOUR(), *DBSUM() becomes DSUM(), ;Missing and possibly useful features/functions needed for ignition to have better support of Excel files There is no Merge and Join Text over many cells, no protect and/or freeze row or columns or books but can LOCK sheets, no define bunch of cells as a name, Macros (Arexx?), conditional formatting, no Solver, no Goal Seek, no Format Painter, no AutoFill, no AutoSum function button, no pivot tables, (30 argument limit applies to Excel) *HLOOKUP(), VLOOKUP(), [http://production-scheduling.com/excel-index-function-most-useful/ INDEX(), MATCH()], CHOOSE(), TEXT(), *TRIM(), FIND(), SUBSTITUTE(), CONCATENATE() or &, PROPER(), REPT(), *[https://acingexcel.com/excel-sumproduct-function/ SUMPRODUCT()], ROUND(), ROUNDUP(), *ROUNDDOWN(), COUNT(), COUNTA(), SUMIF(), COUNTIF(), COUNTBLANK(), TRUNC(), *PMT(), PV(), FV(), POWER(), SQRT(), MODE(), TRUE, FALSE, *MODE(), LARGE(), SMALL(), RANK(), STDEV(), *DCOUNT(), DCOUNTA(), WEEKDAY(), ;Excel Keyboard [http://dmcritchie.mvps.org/excel/shortx2k.htm shortcuts needed to aid usability in Ignition] <pre> Ctrl Z - Undo Ctrl D - Fill Down Ctrl R - Fill right Ctrl F - Find Ctrl H - Replace Ctrl 1 - Formatting of Cells CTRL SHIFT ~ Apply General Formatting ie a number Ctrl ; - Todays Date F2 - Edit cell F4 - toggle cell absolute / relative cell references </pre> ====Document Scanning - Scandal==== Scanner usually needs to be connected via a USB port and not via a hub or extension lead. Check in Trident Prefs -> Devices that the USB Scanner is not bound to anything (e.g. Bindings None) If not found then reboot the computer and recheck. Start Scandal, choose Settings from Menu strip at top of screen and in Scanner Driver choose the ?#.device of the scanner (e.g. epson2.device). The next two boxes - leave empty as they are for morphos SCSI use only or put ata.device (use the selection option in bigger box below) and Unit as 0 this is needed for gt68xx * gt68xx - no editing needed in s/gt68xx.conf but needs a firmware file that corresponds to the scanner [http://www.meier-geinitz.de/sane/gt68xx-backend/ gt68xx firmwares] in sys:s/gt68xx. * epson2 - Need to edit the file epson2.conf in sys/s that corresponds to the scanner being used '''Save''' the settings but do not press the Use button (aros freezes) Back to the Picture Scan window and the right-hand sections. Click on the '''Information''' tab and press Connect button and the scanner should now be detected. Go next to the '''Scanner''' tab next to Information Tab should have Color, Black and White, etc. and dpi settings now. Selecting an option Color, B/W etc. can cause dpi settings corruption (especially if the settings are in one line) so set '''dpi first'''. Make sure if Preview is set or not. In the '''Scan''' Tab, press Scan and the scanner will do its duty. Be aware that nothing is saved to disk yet. In the Save tab, change format JPEG, PNG or IFF DEEP. Tick incremental and base filename if necessary and then click the Save button. The image will now be saved to permanent storage. The driver ignores a device if it is already bond to another USB class, rejects it from being usable. However, open Trident prefs, select your device and use the right mouse button to open. Select "NONE" to prevent poseidon from touching the device. Now save settings. It should always work now. [[#top|...to the top]] ===Emulators=== ==== Amiberry ==== ==== Amiga Emu - Janus UAE ==== With Amibridge, AROS attempts to make the UAE emulator seem embedded within but it still is acting as an app There is no dynarec m68k for each hardware that Aros supports or direct patching of motorola calls to AROS hardware accelerated ones unless the emulator has that included Try starting Janus with a priority of -1 like this little script: <pre> cd sys:system/AmiBridge/emulator changetaskpri -1 run janus-uae -f my_uaerc.config >nil: cd sys:prefs endcli </pre> This stops Janus hogging all the CPU time. ===Miscellaneous=== ====Screensaver Blanker==== Most blankers on the amiga (i.e. aros) run as commodities (they are in the tools/commodities drawer). Double click on blanker. Control is with an app called Exchange, which you need to run first (double click on app) or run QUIET sys:tools/commodities/Exchange >NIL: but subsequently can use (Cntrl Alt h). Icon tool types (may be broken) or command line options <pre> seconds=number </pre> Once the timing is right then add the following to s:icaros-sequence or s:user-startup e.g. for 5 minutes run QUIET sys:tools/commodities/Blanker seconds=300 >NIL: *[http://archives.aros-exec.org/index.php?function=showfile&file=graphics/screenblanker/gblanker.i386-aros.zip Garshneblanker] can make Aros unstable or slow. Certain blankers crashes in Icaros 2.0.x like Dragon, Executor. *[ Acuario AROS version], the aquarium screen saver. Startup: extras:acuariofv-aros/acuario Kill: c:break name=extras:acuariofv-aros/acuario Managed to start Acuario by the Executor blanker. <pre> cx_priority= cx_popkey= ie CX_POPKEY="Shift F1" cx_popup=Yes or No </pre> <pre> Qualifier String Input Event Class ---------------- ----------------- "lshift" IEQUALIFIER_LSHIFT "rshift" IEQUALIFIER_RSHIFT "capslock" IEQUALIFIER_CAPSLOCK "control" IEQUALIFIER_CONTROL "lalt" IEQUALIFIER_LALT "ralt" IEQUALIFIER_RALT "lcommand" IEQUALIFIER_LCOMMAND "rcommand" IEQUALIFIER_RCOMMAND "numericpad" IEQUALIFIER_NUMERICPAD "repeat" IEQUALIFIER_REPEAT "midbutton" IEQUALIFIER_MIDBUTTON "rbutton" IEQUALIFIER_RBUTTON "leftbutton" IEQUALIFIER_LEFTBUTTON "relativemouse" IEQUALIFIER_RELATIVEMOUSE </pre> <pre> Synonym Synonym String Identifier ------- ---------- "shift" IXSYM_SHIFT /* look for either shift key */ "caps" IXSYM_CAPS /* look for either shift key or capslock */ "alt" IXSYM_ALT /* look for either alt key */ Highmap is one of the following strings: "space", "backspace", "tab", "enter", "return", "esc", "del", "up", "down", "right", "left", "f1", "f2", "f3", "f4", "f5", "f6", "f7", "f8", "f9", "f10", "help". </pre> [[#top|...to the top]] ==== World Construction Set WCS (Version 2.031) ==== WCS is a fractal landscape software such as Scenery Animator, Vista Pro and Panorama. Open sourced February 2022, World Construction Set [https://3dnature.com/downloads/legacy-software/ legally and for free] and [https://github.com/AlphaPixel/3DNature c source]. Announced August 1994 this version dates from April 1996 developed by Gary R. Huber and Chris "Xenon" Hanson" from Questar <pre> Assign "WCSProjects:" "Volume:Dir/Dir/WCSProjects" Assign "WCSFrames:" "Volume:Dir/Dir/WCSFrames" </pre> <pre> Load projects .proj by accessing pull down menu Project -> Open then click on CanyonSunset.proj OK to changing .par file and enlarge Status Log window to show what is happening Render by pull down menu Modules -> Render with End equal 1 not 300 then click bottom middle button Render </pre> [https://www.youtube.com/watch?v=CxQDmf1ZWG0 Youtube walkthrough of above], [], [], Also try working with the already built file ColoDemo - Then open with the drop-down menu: Project/Open, then WCSProject:ColoDemo.proj Which allows you to use altimetric DEM files already included and Loading scene parameters from ColoDemo.par Once this is done, save everything with a new name to start working exclusively on your project. Then drop-down menu and select Save As ("NewName".proj name), then drop-down menu to open parameter and select Save All ( .par name) After launching the software, there is a the Module Control Panel composed of five icons. It is a dock type shortcut of the first few functions of the drop-down menu *Database - Load (#?.proj), Append, Create, Edit, Save, Dir List (of WCSProject drawer), *Data Ops - Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats *Map View - Database file Loader leading to Map View Control with option to the Database Editor *Parameters - Editor for Motion, Color, Ecosystem, Clouds, Waves, management of altimeter files DEM, sclock settings etc *Render - rendering terrain These are more in the pull down menu but not in the dock *Motion Editor *Color Editor *Ecosys Editor Simple minimal workflow *Load database (1st icon - 1st) *Set parameters and save .par file (4th icon) *Render scene (5th icon) [https://www.youtube.com/watch?v=ZbTwwR2qcc4 Youtube], [], <pre> .proj new project name which creates a drawer of additional files .binary array, ascii array .xyz , z buffer, DTED .dt0, vista 1990s dem, iff conversion .Obj with .elev, .frd with .hdr maps, - digital elevation model (DEM) is a 3D representation of elevation data in various formats USGS 7.5MinDEM, .par </pre> Since for the time being no project is loaded, a query window indicates a procedural error when clicking on the rendering icon (right end of the bar). The menu is quite traditional; it varies according to the activity of the windows. To display any altimetric file in the "Mapview" (third icon of the panel), There are three possibilities: * Loading of a demonstration project. * The import of a DEM file, followed by texturing and packaging from the "Database-Editor" and the "Color-Editor". * The creation of an altimetric file in WCS format, then texturing. The altimeter file editing (display in the menu) is only made possible if the "Mapview" window is active. The software is made up of many windows and won't be able to describe them all. Know that "Color-Editor" and the "Data-Editor" comprise sufficient functions for obtaining an almost real rendering quality. You have the possibility of inserting vector objects in the "Data-Editor" (creation of roads, railways, etc.) The Map View (MapView) window *Database - Objects and Topos *View - Align, Center, Zoom, Pan, Move *Draw - Maps and distance *Object - Find, highlight, add points, conform topo, duplicate *Motion - Camera, Focus, path, elevation *Windows - DEM designer, Cloud (.cld) and wave (.wve) editor, You will notice that by selecting this window and simply moving the pointer to various points on the map you will see latitude and longitude values ​​change, along with the height. Drop-down menu and Modules, then select MapView and change the width of the window with the map to arrange it in the best way on the screen. With the Auto button the center. Window that then displays the contents of my DEM file, in this case the Grand Canyon. MapView allows you to observe the shape of the landscape from above ZOOM button Press the Zoom button and then with the pointer position on a point on the map, press the left mouse button and then move to the opposite corner to circumscribe the chosen area and press the left mouse button again, then we will see the enlarged area selected on the map. Would add that there is a box next to the Zoom button that allows the direct insertion of a value which, the larger it is, the smaller the magnification and the smaller the value, the stronger the magnification. At each numerical change you will need to press the DRAW button to update the view. PAN button Under Zoom you will find the PAN button which allows you to move the map at will in all directions by the amount you want. This is done by drawing a line in one direction, then press PAN and point to an area on the map with the pointer and press the left mouse button. At this point, leave it and move the pointer in one direction by drawing a line and press the left mouse button again to trigger the movement of the map on the screen (origin and end points). Do some experiments and then use the Auto button immediately below to recenter everything. There are parameters such as TOPO, VEC to be left checked and immediately below one that allows different views of the map with the Style command (Single, Multi, Surface, Emboss, Slope, Contour), each with its own particularities to highlight different details. Now you have the first basics to manage your project visually on the map. Close the MapView window and go further... Let's start working on ECOSYSTEMS If we select Emboss from the MapView Style command we will have a clear idea of ​​how the landscape appears, realizing that it is a predominantly desert region of our planet. Therefore we will begin to act on any vegetation present and the appearance of the landscape. With WCS we will begin to break down the elements of the landscape by assigning defined characteristics. It will be necessary to determine the classes of the ecosystem (Class) with parameters of Elevation Line (maximum altitude), Relative Elevation (arrangement on basins or convexities with respectively positive or negative parameters), Min Slope and Max Slope (slope). WCS offers the possibility of making ecosystems coexist on the same terrain with the UnderEco function, by setting a Density value. Ecosys Ecosystem Editor Let's open it from Modules, then Ecosys Editor. In the left pane you will find the list of ecosystems referring to the files present in our project. It will be necessary to clean up that box to leave only the Water and Snow landscapes and a few other predefined ones. We can do this by selecting the items and pressing the Remove button (be careful not for all elements the button is activated, therefore they cannot all be eliminated). Once this is done we can start adding new ecosystems. Scroll through the various Unused and as soon as the Name item at the top is activated allowing you to write, type the name of your ecosystem, adding the necessary parameters. <pre> Ecosystem1: Name: RockBase Class: Rock Density: 80 MinSlope: 15 UnderEco: Terrain Ecosystem2: Name: RockIncl Clss: Rock Density: 80 MinSlope: 30 UnderEco: Terrain Ecosystem3: Name: Grass Class Low Veg Density: 50 Height: 1 Elev Line : 1500 Rel El Eff: 5 Max Slope: 10 – Min Slope: 0 UnderEco: Terrain Ecosistema4: Name: Shrubs Class: Low Veg Density: 40 Height: 8 Elev Line: 3000 Rel El Eff: -2 Max Slope: 20 Min Slope : 5 UnderEco: Terrain Ecosistema5: Name: Terrain Class: Ground Density: 100 UnderEco: Terrain </pre> Now we need to identify an intermediate ecosystem that guarantees a smooth transition between all, therefore we select as Understory Ecosystem the one called Terrain in all ecosystems, except Snow and Water . Now we need to 'emerge' the Colorado River in the Canyon and we can do this by raising the sea level to 900 (Sea Level) in the Ecosystem called Water. Please note that the order of the ecosystem list gives priority to those that come after. So our list must have the following order: Water, Snow, Shrubs, RockIncl, RockBase, Terrain. It is possible to carry out all movements with the Swap button at the bottom. To put order you can also press Short List. Press Keep to confirm all the work done so far with Ecosystem Editor. Remember every now and then to save both the Project 'Modules/Save' and 'Parameter/Save All' EcoModels are made up of .etp .fgp .iff8 for each model Color Editor Now it's time to define the colors of our scene and we can do this by going to Modules and then Color Editor. In the list we focus on our ecosystems, created first. Let's go to the bottom of the list and select the first white space, assigning the name 'empty1', with a color we like and then we will find this element again in other environments... It could serve as an example for other situations! So we move to 'grass' which already exists and assign the following colors: R 60 G 70 B50 <pre> 'shrubs': R 60 G 80 B 30 'RockIncl' R 110 G 65 B 60 'RockBase' R 110 G 80 B 80 ' Terrain' R 150 G 30 B 30 <pre> Now we can work on pre-existing colors <pre> 'SunLight' R 150 G 130 B 130 'Haze and Fog' R 190 G 170 B 170 'Horizon' R 209 G 185 B 190 'Zenith' R 140 G 150 B 200 'Water' R 90 G 125 B 170 </pre> Ambient R 0 G 0 B 0 So don't forget to close Color Editor by pressing Keep. Go once again to Ecosystem Editor and assign the corresponding color to each environment by selecting it using the Ecosystem Color button. Press it several times until the correct one appears. Then save the project and parameters again, as done previously. Motion Editor Now it's time to take care of the framing, so let's go to Modules and then to Motion Editor. An extremely feature-rich window will open. Following is the list of parameters regarding the Camera, position and other characteristics: <pre> -Camera Altitude: 7.0 -Camera Latitude: 36.075 -Camera Longitude: 112.133 -Focus Attitude: -2.0 -Focus Latitude: 36.275 -Focus Longitude: 112.386 -Camera : 512 → rendering window -Camera Y: 384 → rendering window -View Arc: 80 → View width in degrees -Sun Longitude: 172 -Sun Latitude: -0.9 -Haze Start: 3.8 -Haze Range: 78, 5 </pre> As soon as the values ​​shown in the relevant sliders have been modified, we will be ready to open the CamView window to observe the wireframe preview. Let's not consider all the controls that will appear. Well from the Motion Editor if you have selected Camera Altitude and open the CamView panel, you can change the height of the camera by holding down the right mouse button and moving the mouse up and down. To update the view, press the Terrain button in the adjacent window. As soon as you are convinced of the position, confirm again with Keep. You can carry out the same work with the other functions of the camera, such as Focus Altitude... Let's now see the next positioning step on the Camera map, but let's leave the CamView preview window open while we go to Modules to open the window at the same time MapView. We will thus be able to take advantage of the view from the other together with a subjective one. From the MapView window, select with the left mouse button and while it is pressed, move the Camera as desired. To update the subjective preview, always click on Terrain. While with the same procedure you can intervene on the direction of the camera lens, by selecting the cross and with the left button pressed you can choose the desired view. So with the pressure of Terrain I update the Preview. Possibly can enlarge or reduce the Map View using the Zoom button, for greater precision. Also write that the circle around the cameras indicates the beginning of the haze, there are two types (haze and fog) linked to the altitude. Would also add that the camera height is editable through the Motion Editor panel. The sun Let's see that changing the position of the sun from the Motion Editor. Press the SUN button at the bottom right and set the time and the date. Longitude and latitude are automatically obtained by the program. Always open the View Arc command from the Motion Editor panel, an item present in the Parameter List box. Once again confirm everything with Keep and then save again. Animation The animation part is not left-back and also occupies a window. The settings possibilities are enormous. A time line with dragging functions ("slide", "drag"...) comparable to that of LightWave completes this window. A small window is available for positioning the stars as a function of a date, in order to vary the seasons and their various events (and yes...). At the bottom of the "Motion-Editor", a "cam-view" function will give you access to a control panel. Different preview modes are possible. The rendering is also accessible through a window. No less than nine pages compose it. At this level, you will be able to determine the backup name of your images ("path"), the type of texture to be calculated, the resolution of the images, activate or deactivate functions such as the depth buffer ("zbuffer"), the blur, the background image, etc. Once all these parameters have been set, all you have to do is click on the "Render" button. For rendering go to Modules and then Render. Select the resolution, then under IMA select the name of the image. Move to FRA and indicate the level of fractal detail which of 4 is quite good. Then Keep to confirm and then reopen the window, pressing Render you will see the result. The image will be opened with any viewing program. Strengths: * Multi-window. * Quality of rendering. * Accuracy. * Opening, preview and rendering on CyberGraphX screen. * Extract / Convert Interp DEM, Import DLG, DXF, WDB and export LW map 3d formats * The "zbuffer" function. Weaknesses: * No OpenGL management * Calculation time. * No network computing tool. ====Writing CD / DVD - Frying Pan==== Can be backup DVDs (4GB ISO size limit due to use of FileInfoBlock), create audio cds from mp3's, and put .iso files on discs If using for the first time - click Drive button and Device set to ata.device and unit to 0 (zero) Click Tracks Button - Drive 1 - Create New Disc or Import Existing Disc Image (iso bin/cue etc.) - Session File open cue file If you're making a data cd, with files and drawers from your hard drive, you should be using the ISO Builder.. which is the MUI page on the left. ("Data/Audio Tracks" is on the right). You should use the "Data/Audio tracks" page if you want to create music cds with AIFF/WAV/MP3 files, or if you download an .iso file, and you want to put it on a cd. Click WRITE Button - set write speed - click on long Write button Examples Easiest way would be to burn a DATA CD, simply go to "Tracks" page "ISO Builder" and "ADD" everything you need to burn. On the "Write" page i have "Masterize Disc (DAO)", "Close Disc" and "Eject after Write" set. One must not "Blank disc before write" if one uses a CDR AUDIO CD from MP3's are as easy but tricky to deal with. FP only understands one MP3 format, Layer II, everything else will just create empty tracks Burning bootable CD's works only with .iso files. Go to "Tracks" page and "Data/Audio Tracks" and add the .iso ====odf==== Every ODF file is a collection of several subdocuments within a package (ZIP file), each of which stores part of the complete document. * content.xml – Document content and automatic styles used in the content. * styles.xml – Styles used in the document content and automatic styles used in the styles themselves. * meta.xml – Document meta information, such as the author or the time of the last save action. * settings.xml – Application-specific settings, such as the window size or printer information. To read document follow these steps: * Extracting .ods file. * Getting content.xml file (which contains sheets data). * Creating XmlDocument object from content.xml file. * Creating DataSet (that represent Spreadsheet file). * With XmlDocument select “table:table” elements, and then create adequate DataTables. * Parse child’s of “table:table” element and fill DataTables with those data. * At the end, return DataSet and show it in application’s interface. To write document follow these steps: * Extracting template.ods file (.ods file that we use as template). * Getting content.xml file. * Creating XmlDocument object from content.xml file. * Erasing all “table:table” elements from the content.xml file. * Reading data from our DataSet and composing adequate “table:table” elements. * Adding “table:table” elements to content.xml file. * Zipping that file as new .ods file. XLS file format The XLS file format contains streams, substreams, and records. These sheet substreams include worksheets, macro sheets, chart sheets, dialog sheets, and VBA module sheets. All the records in an XLS document start with a 2-byte unsigned integer to specify Record Type (rt), and another for Count of Bytes (cb). A record cannot exceed 8224 bytes. If larger than the rest is stored in one or more continue records. * Workbook stream **Globals substream ***BoundSheet8 record - info for Worksheet substream i.e. name, location, type, and visibility. (4bytes the lbPlyPos FilePointer, specifies the position in the Workbook stream where the sheet substream starts) **Worksheet substream (sheet) - Cell Table - Row record - Cells (2byte=row 2byte=column 2byte=XF format) ***Blank cell record ***RK cell record 32-bit number. ***BoolErr cell record (2-byte Bes structure that may be either a Boolean value or an error code) ***Number cell record (64-bit floating-point number) ***LabelSst cell record (4-byte integer that specifies a string in the Shared Strings Table (SST). Specifically, the integer corresponds to the array index in the RGB field of the SST) ***Formula cell record (FormulaValue structure in the 8 bytes that follow the cell structure. The next 6 bytes can be ignored, and the rest of the record is a CellParsedFormula structure that contains the formula itself) ***MulBlank record (first 2 bytes give the row, and the next 2 bytes give the column that the series of blanks starts at. Next, a variable length array of cell structures follows to store formatting information, and the last 2 bytes show what column the series of blanks ends on) ***MulRK record ***Shared String Table (SST) contains all of the string values in the workbook. ACCRINT(), ACCRINTM(), AMORDEGRC(), AMORLINC(), COUPDAYBS(), COUPDAYS(), COUPDAYSNC(), COUPNCD(), COUPNUM(), COUPPCD(), CUMIPMT(), CUMPRINC(), DB(), DDB(), DISC(), DOLLARDE(), DOLLARFR(), DURATION(), EFFECT(), FV(), FVSCHEDULE(), INTRATE(), IPMT(), IRR(), ISPMT(), MDURATION(), MIRR(), NOMINAL(), NPER(), NPV(), ODDFPRICE(), ODDFYIELD(), ODDLPRICE(), ODDLYIELD(), PMT(), PPMT(), PRICE(), PRICEDISC(), PRICEMAT(), PV(), RATE(), RECEIVED(), SLN(), SYD(), TBILLEQ(), TBILLPRICE(), TBILLYIELD(), VDB(), XIRR(), XNPV(), YIELD(), YIELDDISC(), YIELDMAT(), <pre> </pre> <pre> </pre> <pre> </pre> {{BookCat}} 8udp3rmla7hldqfgyzerinofn8ooz4n Annotations to James Joyce's Ulysses/Scylla and Charybdis/177 0 260788 4635387 4422017 2026-05-12T08:48:49Z Ostrea 2079154 /* Annotations */ 4635387 wikitext text/x-wiki [[File:Ulysses, 1922.djvu|thumb|600px|center|page=180]] <br> ==Annotations== '''''Orchestral Satan, weeping many a rood ... fatto trombetta'''''{{spaces|5}}(''Italian'') Stephen here conflates two lines from [[w:John Milton|Milton's]] ''[[w:Paradise Lost|Paradise Lost]]'' and one line from [[w:Dante Alighieri|Dante's]] ''[[w:Inferno (Dante)|Inferno]]''.<ref>Gifford (1988) 194.<br>Thornton (1968) 153.</ref> The lines from Milton refer first to Satan's huge bulk as he lies prone in the burning lake of Hell and then to the tears he lets drop as he is about to address his fallen angels: {| border="0" cellspacing="0" cellpadding="5" align="center" |+ '''''Paradise Lost 1:196 ... 1:620'''''<ref>[http://www.gutenberg.org/cache/epub/26/pg26.txt John Milton, ''Paradise Lost''.]</ref></noinclude> |- style="vertical-align: top;" | <poem>''Lay floating many a rood...'' ''Tears such as angels weep burst forth....'' </poem> |} The line from Dante is the closing line of the twenty-first canto of the ''Inferno''. It refers not to Satan but to another infernal demon Barbariccia, one of the ''[[w:Malabranche (Divine Comedy)|Malabranche]]''. Barbariccia is the leader of a troop of demons who escort Dante and Virgil through the fifth of the ''[[w:Malebolge|Malebolge]]'' that comprise the Eighth Circle of Hell. His fellow demons salute him by sticking out their tongues and he responds by farting: {| border="0" cellspacing="0" cellpadding="5" align="center" |+ '''''Inferno 21:139'''''<ref>[http://www.gutenberg.org/cache/epub/1009/pg1009.txt Dante, ''Inferno''.]</ref></noinclude> |- style="vertical-align: top;" | <poem>''ed elli avea del cul fatto trombetta.'' </poem> | <poem>''and he made a trumpet of his arse.'' </poem> |} Stephen has modernized Dante's spelling of ''elli'' (''he'') '''Gaptoothed Kathleen''' : [[w:Kathleen Ni Houlihan|Kathleen Ni Houlihan]], symbol of irish nationalism. '''and one more to hail him : ''ave, rabbi'''''{{spaces|5}}(''Latin'') ''hail, master.''<ref>Gifford (1988) 195.</ref> The words, spoken by Judas just before he kisses and betrays Christ, are taken from the Latin [[w:Vulgate|Vulgate]] translation of Matthew 26:49.<ref>[http://www.biblegateway.com/passage/?search=Matthew%2026&version=KJV Matthew 26.]</ref> Cranly is presumably being identified here by Joyce as Judas. Joyce and J. F. Byrne (the model for Cranly) became estranged in 1902, shortly before Joyce met [[w:Oliver St. John Gogarty|Oliver St. John Gogarty]] (the model for Buck Mulligan), though it was Byrne who felt that he had been betrayed by Joyce.<ref>Ellmann (1983) 116-117.</ref> ==References== {{reflist}} {|style="width: 23%; margin: 0px auto;" class="noprint" |style="background-color: #efe; border: 1px solid SteelBlue; padding: 0.5em; font-size: small; text-align: center;"|'''[[Annotations to James Joyce's Ulysses]]'''<br />[[Annotations to James Joyce's Ulysses/Scylla and Charybdis/176|Preceding Page]] | [[Annotations to James Joyce's Ulysses/Page Index|Page Index]] | [[Annotations to James Joyce's Ulysses/Scylla and Charybdis/178|Next Page]] |} {{BookCat}} 1i1lyjs5sojr75pzo14ucgimejrwlw8 Assembly Language and Computer Organization 0 277790 4635332 3567404 2026-05-11T19:30:17Z DavidCary 973 categorize: add to 2 more relevant bookshelves 4635332 wikitext text/x-wiki == Contents == [[File:ACO BookCover.png|300px|right|border]] === Part I Assembly Language and Architecture === ::# {{stage short|10%|Oct 8, 2012}} [[/Introduction and Overview/]] ::# {{stage short|0%|Oct 8, 2012}} [[/DOS and the x86 Architecture/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Computer Memory and Programs/]] ::# {{stage short|0%|Oct 8, 2012}} [[/ALU & Instructions/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Control Unit & Instructions/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Working with Procedures/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Exploring Operating System Calls/]] ::# {{stage short|0%|Oct 8, 2012}} [[/UNIX System Assembly/]] ::# {{stage short|0%|Oct 8, 2012}} [[/RISC Processors/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Harvard Architecture Computers/]] === Part II: Computer Organization and Implementation === ::# {{stage short|0%|Oct 8, 2012}} [[/Introduction to Digital Electronics/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Combinational and Sequential Circuits/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Instruction set Design/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Simple ALU Functions/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Register Unit and Bus Design/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Control Unit Design/]] ::# {{stage short|0%|Oct 8, 2012}} [[/System Clock Design/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Complex ALU Functions/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Memory Management Unit/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Input and Output Systems/]] ::# {{stage short|0%|Oct 8, 2012}} [[/Final Assembly and Sample Programs/]] == Preface == Stated simply, this book is about how computers work. In the first part of the book, we will explore computer behavior by means of writing computer programs. Unlike most programmers, we will be writing programs for computers at their most basic level. We will be commanding them directly in assembly code and machine language with the aim of seeing what is going on "under the hood." This type of programming used to be very common anywhere performace was an issue, but in this modern era of plentiful CPU cycles and inexpensive vast memory devices, few people write assembly code these days. Even though the art of writing these kind of programs is becoming rarer, learning assembly language is still a worthy pursuit as it reveals what is going on inside the machine and teaches programmers to "think like a computer." The exploration of assembly will begin with writing programs for the x86 family of processors. In later chapters we will be looking at other architectures and instruction sets. Ideas will be presented in the most general way possible throughout the assembly language chapters so that the reader will have no trouble transitioning to any computing platform / operating system environment. In the second part of the book, we will explore digital electronics with an aim to designing a CPU. In this section, we will be using a logic circuit simulator to put the computer together. You will be able to execute software on this fictional computer, and if you really wanted to you could implement it in physical hardware. After completing this part of the book you will have intiment knowledge of the theory behind computer operation. In the last chapter of the second part, we will explore various sample programs and present some ideas for how the computer we design could be expanded. == Intended Audience == I am writing this book primarily for my students at Knoxville College, who will use this book in a two part course on Computer Organization. It is my hope that this book will be useful to other students and also to the curious people among the general public. I assume absolutely no knowledge of computer programming, as these courses are the first courses in our Computer Science program at Knoxville College. All you will need in order to enjoy this book is a basic knowledge of arithmetic, and a bit of patience. The key to this course is to not be intimidated by the complexity of what we are going to explore. I will attempt to keep the text as friendly as I can, and we will be taking everything one step at a time. I hope you enjoy exploring the inner workings of computers with this book! <!--Do not remove these templates --> {{shelves|Computer science}} {{shelves|assembly languages}} {{shelves|computer engineering}} {{alphabetical|A}} {{status|0%}} dz7ff8bevj8dr95hz9l1apm6008un3t Aros/Platforms/Arm Raspberry Pi support 0 286123 4635235 4634979 2026-05-11T12:52:13Z Jeff1138 301139 4635235 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 VideoCore 6 * Pi 3 - Quad A53 64 bit - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2015 Pi 2 Model B - 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core ARMv7 and the same VideoCore IV 3d GPU in a BCM 2836 with 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero released 2016 Passed Sinclair total number of computer lines sold - around 7 million 2016 Pi 3 Model B - four 64 bit ARMv8 Cortex-A53 1.2GHz - bluetooth 4.1, wireless 802.11n and a dual VideoCore IV GPU - Broadcom BCM 2837 SOC 2016 Passed Amstrad PCW line in total sales - 8 million so will be the best selling computer range in the UK, later over 10 million 2016 Compute 3 launched BCM2837 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4 core 1.4GHz A53 BCM2837B0 - wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet 2019 Over 15 million sold 2019 Raspberry Pi Compute Module 3+ CM3+ LITE Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi-500 2024 Raspberry Pi Compute Module 5 2025 Pi-500+ 2026 </pre> ===Good sites to visit=== *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://github.com/raspberrypi/firmware/tree/master/boot Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi] == Hardware == ===BCM2708(family)=== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ LAN7515 The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], ===BCM2711=== ===BCM2712=== ==Implemented so far...== # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one (3months) - the current code is mostly a skeleton that should initialise the chipset (might still need a little work), and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an audio driver (a few weeks - independent of USB) # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # Improve the gfx driver add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # Improve the sdcard device driver - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. ===Boot up === On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, ===Framebuffer - basic display=== RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. ===USB === * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] ===Audio === To follow... [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 ===Ethernet=== 10/100 BaseT Ethernet RJ45 socket ===GPIO === GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p ===GPU graphics with 2D and 3D acceleration=== Sadly none yet == References == ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2023 NinjaCowboy The status of AROS native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. * Newer version with USB WIP [http://aros.sourceforge.net/download.php AROS ABIv1 snapshot/nightly] # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make === Core Kernel === the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . What I see on screen suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. [http://repo.or.cz/w/AROS.git/commit/e7bdc7e7b7f12b07aa24c739abb63721a872a53a arasan eMMC sdcard controller specific header which is not USB] and [http://repo.or.cz/w/AROS.git/commit/8bd19674084526a534ac11f7d4c51932e9ffe3d2 added prelim sdcard device]. [http://repo.or.cz/w/AROS.git/commit/9ab8217f61911fb8b7fd41bee46a992b4668ced1 do not set 4bit data mode, or enable acmd12/dma int's]. === Misc === ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. Please ignore the [http://www.aros.org/nightly.php deprecated unused ABI] [http://www.aeros-os.org/styled-11/index.html Hosted free on Linux for R Pi works well] flwu3y6i2wzqxaqjovsi9jpyj3qr0pd 4635266 4635235 2026-05-11T16:31:19Z Jeff1138 301139 4635266 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 VideoCore 6 * Pi 3 - Quad A53 64 bit - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2015 Pi 2 Model B - 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core ARMv7 and the same VideoCore IV 3d GPU in a BCM 2836 with 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero released 2016 Passed Sinclair total number of computer lines sold - around 7 million 2016 Pi 3 Model B - four 64 bit ARMv8 Cortex-A53 1.2GHz - bluetooth 4.1, wireless 802.11n and a dual VideoCore IV GPU - Broadcom BCM 2837 SOC 2016 Passed Amstrad PCW line in total sales - 8 million so will be the best selling computer range in the UK, later over 10 million 2016 Compute 3 launched BCM2837 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4 core 1.4GHz A53 BCM2837B0 - wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet 2019 Over 15 million sold 2019 Raspberry Pi Compute Module 3+ CM3+ LITE Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi-500 2024 Raspberry Pi Compute Module 5 2025 Pi-500+ 2026 </pre> ===Good sites to visit=== *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://github.com/raspberrypi/firmware/tree/master/boot Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi] == Hardware == ===BCM2708(family)=== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], ===BCM2711=== ===BCM2712=== ==Implemented so far...== # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one (3months) - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve the sdcard device driver] - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. ===Boot up === On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, ===Framebuffer - basic display=== RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. ===USB === * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] ===Audio === To follow... [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 ===Ethernet=== 10/100 BaseT Ethernet RJ45 socket ===GPIO === GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p ===GPU graphics with 2D and 3D acceleration=== Sadly none yet == References == ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2023 NinjaCowboy The status of AROS native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. * Newer version with USB WIP [http://aros.sourceforge.net/download.php AROS ABIv1 snapshot/nightly] # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] === Core Kernel === the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . What I see on screen suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. [http://repo.or.cz/w/AROS.git/commit/e7bdc7e7b7f12b07aa24c739abb63721a872a53a arasan eMMC sdcard controller specific header which is not USB] and [http://repo.or.cz/w/AROS.git/commit/8bd19674084526a534ac11f7d4c51932e9ffe3d2 added prelim sdcard device]. [http://repo.or.cz/w/AROS.git/commit/9ab8217f61911fb8b7fd41bee46a992b4668ced1 do not set 4bit data mode, or enable acmd12/dma int's]. === Misc === ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. Please ignore the [http://www.aros.org/nightly.php deprecated unused ABI] [http://www.aeros-os.org/styled-11/index.html Hosted free on Linux for R Pi works well] dxicw9ja7ipxamuag3j6aa1dn2al8wa 4635269 4635266 2026-05-11T16:34:39Z Jeff1138 301139 4635269 wikitext text/x-wiki {{ArosNav}} [[#Native]] [[#Hosted]] ==Introduction== The Raspberry Pi Foundation is a charity founded in May 2009 to promote the study of basic computer science in schools, and is responsible for developing a single-board computer called the Raspberry Pi. The Foundation is supported by the University of Cambridge Computer Laboratory and Broadcom. Its aim is to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing." The original Raspberry Pi 1 Model B computer went on sale in February 2012 and set a new standard shattering the dominance of the PC in the home and education markets. Millions in the various formats, A, B, A+, B+ and Compute have since been shipped worldwide. The original concept of the Raspberry Pi was for a computer board providing Internet access with up to 1080p HD graphics at very low cost. The boards provide a platform for children and adults from any background to acquire computer science knowledge and help develop the future World-Wide-Web and all things internet (IOT hub and bridges out to home network to cloud of sensors). Hobbyists and tech dabblers/tinkerers are the main purchases of the Pis (around half). The rest of the sales are split between education/industrial. While the Raspberry Pi boards were designed primarily for education, they have become very popular with manufacturers of embedded systems. The Raspberry Pi Foundation has ensured backwards compatibility with each new revision. The bare-bones Compute module is aimed specifically at the OEM manufacturer. * Pi 5 - Quad A76 and RP1 "southbridge" with VideoCore 7 4Gb 8Gb LPDDR4X * Pi 4 - Quad A72 VideoCore 6 * Pi 3 - Quad A53 64 bit - VideoCore 4 * Pi 2 - Quad 32bit but more power consumed * Model B+ - lower power usage but same speed as the original Pis * Model A and B - * Compute 1, 3, 4 and 5 - industrial use <pre> 2008 Trustees collected for Foundation 2009 Charity status gained 2010 2011 First Raspberry prototypes 2012 First boards go on sale at CPC and RS. The Model A and B 700 MHz Arm11 - February 29th BCM 2835 2012 First million sold - more than the 10,000 original planned and anticipated 2013 First Alpha Experimental builds of AROS Native for the Pi 2013 Pi Trading launched making grants available, providing in house educational resources and Pi Academy for teacher training 2013 Over two million sold 2014 Over three million sold and updated Model B+ introduced that moved composite video to audio jack and same half gig of memory 2015 Pi 2 Model B - 900/600 MHz ARM Cortex-A7 Armv7 quad 32bit core ARMv7 and the same VideoCore IV 3d GPU in a BCM 2836 with 1Gb RAM 2015 Over four million first gen pis sold 2015 Over a million pi2s sold 2015 Pi Zero released 2016 Passed Sinclair total number of computer lines sold - around 7 million 2016 Pi 3 Model B - four 64 bit ARMv8 Cortex-A53 1.2GHz - bluetooth 4.1, wireless 802.11n and a dual VideoCore IV GPU - Broadcom BCM 2837 SOC 2016 Passed Amstrad PCW line in total sales - 8 million so will be the best selling computer range in the UK, later over 10 million 2016 Compute 3 launched BCM2837 Quad 64-bit Core 1Gb LPDDR2 RAM 4Gb Emmc storage 2017 12 million pis sold in total 2018 Pi 3 Model B+ - 4 core 1.4GHz A53 BCM2837B0 - wireless 802.11ac, gigabit ethernet (300Mbit/s) and bluetooth 4.2 - power over ethernet 2019 Over 15 million sold 2019 Raspberry Pi Compute Module 3+ CM3+ LITE Broadcom BCM2837B0, Cortex-A53 (ARMv8) 64-bit SoC 1Gb DDR2 and emmc 2019 Pi 4 Model B - BCM2711 quad 64bit A72 1.5GHz, VideoCore VI, AC wifi, Bluetooth 5.0, GbE, 2 micro hdmi decode up to 4K, USB-C power, 2xVLI USB 3, 2xUSB 2.0, 1/2/4 GB ram 2020 Raspberry Pi SC0919 Pico RP2040 2020 Silent Pi 4 upgrade with more USB-c psu support and PI400 1.8GHz inside keyboard 2020 Raspberry Pi Compute Module 4 2021 Pi zero 2 w 64bit quad 1GHz Cortex-A53 BCM2710A1 512mB SDRam 2023 Pi 5 BCM2712 Quad A76 w VideoCore VII - no audio socket - dual 4k displays from mini hdmi - fan connector - 5V 5A psu 2024 Raspberry Pi Pico 2 2024 Pi-500 2024 Raspberry Pi Compute Module 5 2025 Pi-500+ 2026 </pre> ===Good sites to visit=== *[https://www.patreon.com/michal_schulz/posts Big endian on Pi] with [https://github.com/michalsc/Emu68 ARM based realtime JIT 68k] *[https://github.com/raspberrypi/firmware/tree/master/boot Raspberry Pi Firmware build] *[https://github.com/raspberrypi/linux Raspberry Pi Linux Build] *[https://github.com/brianwiddas/pi-baremetal Bare Metal Access on Pi] == Hardware == ===BCM2708(family)=== which includes the [http://elinux.org/RPi_Hardware BCM2835] (ARM1176JZF-S 700&nbsp;MHz CPU + VideoCore IV GPU + up to 1GB RAM) *Framebuffer (fb) using mailbox *IRQ scheduler, etc *Arasan based SD Card controller *Synopsis DesignWare USB 2.0 OTG controller [http://networkdirection.net/index.php?option=com_content&view=article&id=106:rasperry-pi-usb-controller&catid=45:raspberry-pi&Itemid=54 Unofficial DOCS pdf], [dwc_otg.c FreeBSD], [], [https://www.riscosopen.org/viewer/view/mixed/RiscOS/Sources/HWSupport/USB/Controllers/DWCDriver/ RiscOS USB Driver], [https://www.riscosopen.org/forum/forums/5/topics/878 RiscOS USB Discussion], [https://www.riscosopen.org/forum/forums/11/topics/1893 Other USB RiscOS], [http://plan9.bell-labs.com/plan9/index.html Plan9 Miller's usb] http://plan9.bell-labs.com/sources/contrib/miller/, [https://github.com/Chadderz121/csud CSUD driver], *[http://www.smsc.com/media/Downloads_Public/Data_Sheets/9512.pdf SMSC 9512] USB LAN/Hub chip *CMOS RAM *VCHIQ port which sends messages to the GPU e.g. for mouse, keyboard, audio on HDMI, etc *Audio Driver *Serial Peripheral Interface Bus (SPI) *[http://www.susa.net/wordpress/2012/06/raspberry-pi-pcf8563-real-time-clock-rtc/ I2C registers] *I2S *Universal Asynchronous Receiver Transmitter (UART) *[http://elinux.org/RPi_BCM2835_GPIOs GPIOs] and [http://www.adafruit.com/blog/2012/08/17/broadcom-bcm2835-peripheral-memory-map-and-gpio-alternate-use-chart-piday-raspberrypi-raspberry_pi/ Alternative view of GPIO] BCM2836 * For Pi B+, PI 2 and Pi 3 SMSC LAN9514 chip adding 10/100 Ethernet connectivity and four USB channels to the board BCM2837 * Broadcom BCM43438 chip provides 2.4&nbsp;GHz 802.11n wireless LAN, Bluetooth Low Energy, and Bluetooth 4.1 Classic radio support, 3B+ [https://github.com/aros-development-team/AROS/commit/afa5bc0bb17d5dd06bcfdbac00853a3799ca8d76 LAN7515] The overclock ability has diminished with each chip version as the energy usage has very slowly risen. BCM2837 is one of the warmest yet and might benefit from active cooling (ie fan) if all four cpu cores are in use for a short while. Video playback is not affected due to the custom support in the GPU. 5 V / 2.4 or 2.5 amp power supply recommended if all four cpu cores are running, else throttling (cpu slowdown) might occur. *[http://www.andrewscheller.co.uk/rpi_pcb_modules.html PCB], [http://elinux.org/RPi_Low-level_peripherals Low level features], ===BCM2711=== ===BCM2712=== ==Implemented so far...== # Modify the configure system so that it correctly builds for the arm hardware float raspi target. # Implemented the bootstrap to load the aros modules and prepare the arm to jump into them. Reworked the x86 console support so that parts can be stolen for raspi to use since t has no basic functionality to output to the display. # Implemented a kernel.resource to prepare the raspi for running aros and provide the low level api calls to expose available resources and allow exec, etc function. # Implemented serial debug support # Implemented the exec (and kernel) functionality required to make multitasking work (and interrupts, exceptions, syscalls, etc) # Implemented a timer.device to utilise the hardware timers. # Implemented a very basic gfx driver to expose the hardware's framebuffer. # Implemented an SD-Card driver for AROS which presently only supports the raspi's chipset but can easily be modified to support all sd-card hardware and media. # Fixed the fat filesystem support in AROS so that it can boot on RasPi's normal SD-Card setup. The "rom" image files needed use a different filename than the default linux, etc images so can be easily installed without harming the existing files - you only need to change the loaded images in the config file to get aros to boot. # Updated the build scripts to automatically download the necessary raspi firmware files and wrap it all up so that you can simply extract the archive to a fat formatted sdcard and boot it on the raspi without having to get anything else. # fix everything in contrib and ports to build for raspi (needs proper testing/fixes but allows every component to actually compile at least, including owb) + numerous other fixes to get things working on arm/raspi .. Improvements... # Implement a USB chipset driver "OR" finish the existing one (3months) - the current code is mostly a skeleton that should initialise the chipset and then needs relevant code to support the different transfer types. It also has the "virtual" hub code in place to represent the raspi's USB port (from poseidons p.o.v) # Implement a driver for the USB NIC (a few weeks - depends on USB above) # Write an [https://github.com/aros-development-team/AROS/commit/d55d0f74d20b769bbb8c8d386e5c1d7a9154f05a audio driver] (a few weeks - independent of USB) and [https://github.com/aros-development-team/AROS/commit/e93a4c245f27a87c9c4c1d39206694b39059998a HDMI] # fix syscall bug in the current raspi kernel code # Graphics depend on having a decent "bcmdma.resource" implemented as to use the cpu's dma engine. The sd card driver needs to use it for transfers to/from the controller - and the gfx system needs to use it for "blitting". # [https://github.com/aros-development-team/AROS/commit/4019d84e4975d4dad987a12d57fe108f5ac048e6 Improve the gfx driver], [ vc4gfx HIDD] add [http://dri.freedesktop.org/wiki/VC4/ Gallium3D support] # [https://github.com/aros-development-team/AROS/commit/b13905b3e8e45b089f520b44692c81affddd066f Improve the sdcard device driver] - which is also pretty basic but should work with most cards, rework it to also support pci, etc. sd card interfaces on x86 # The current code using very rudimentary access to the gpio interface - so that should be implemented as some resource for other components to access, as-well as the i2c interface exposed over the gpio interface. that should have a hidd class implemented which uses the gpio resource to communicate. ===Boot up === On power-up, the rpi [http://www.open.com.au/mikem/bcm2835/ BCM 2835] [https://github.com/hermanhermitage/videocoreiv VideoCore4] GPU, not the ARM CPU, is in control, and the SD card slot is the only peripheral device with power. The firmware burned into the BCM2835's VideoCoreIV GPU PROM requires a DOS-style partition table; a FAT-formatted first partition; and the freely redistributable but closed sourced Broadcom files “bootcode.bin” and “start.elf” in that partition. The boot sequence carries out several pre-boot tasks *On powering of the rpi, the GPU reads and executes bootcode.bin, which then loads start.elf *The GPU loads the “start.elf” file, eventually, into the L2 cache and then executes it *configures the memory split for the CPU and GPU *reads and parses “config.txt” from the same partition on the SD card and applies the settings (like a PC’s BIOS settings) *loads the “kernel.img” file, again from the same partition *activates the CPU to begin executing the loaded kernel image The CPU/GPU memory split is hard-coded into start.elf, so Broadcom provides three start.elf images, to give 32M, 64M, or 128M to the GPU for multimedia performance, and the remainder to the CPU. RPi uses [https://github.com/raspberrypi/firmware some closed source loaders] and at some point it loads a binary blob named "kernel.img" at 0x8000, at that point there would be a rudimentary Aros alive. If one wants to use the SD-card then there would have to be a driver for the interface and a fat filesystem handler (SD-card has to be formatted to fat filesystem) Boot code and kernel are now linked together and made into that binary blob, just for starters. Raspberry Pi uses [http://kernelnomicon.org/?p=133 u-boot] and [http://kernelnomicon.org/?p=138 UBoot] as bootloader, there's already some code in the Efika MX port for that. UBoot is a native bootloader and not just for the raspberry pi, it loads after start.elf. You can find Efika MX port from arch implementations, some hacking is needed for the mmakefile.src'es as iit dates back to before the Aros crosstool era or else you get some weird errors while building. You also need to code the bootstrap and serial handling. At the moment it seems that a fastest route for the native build would be to make one binary blob without using the package system. Raspberry's memory layout is pretty simple and if the implemented u-boot doesn't support loading other modules <pre> ? - alias for 'help' mtest - simple RAM test autoscr - run script from memory base - print or set address offset bbm - BBM sub-system bdinfo - print Board Info structure boot - boot default, i.e., run 'bootcmd' bootd - boot default, i.e., run 'bootcmd' bootm - boot application image from memory bootp - boot image via network using BootP/TFTP protocol cmp - memory compare coninfo - print console devices and information cp - memory copy crc32 - checksum calculation echo - echo args to console fatinfo - print information about filesystem fatload - load binary file from a dos filesystem fatls - list files in a directory (default /) go - start application at address 'addr' help - print online help iminfo - print header information for application image itest - return true/false on integer compare jade - loadb - load binary file over serial line (kermit mode) loads - load S-Record file over serial line loady - load binary file over serial line (ymodem mode) loop - infinite loop on address range md - memory display mm - memory modify (auto-incrementing) mtest - simple RAM test mw - memory write (fill) nfs - boot image via network using NFS protocol nm - memory modify (constant address) pci - list and access PCI Configuration Space ping - send ICMP ECHO_REQUEST to network host printenv - print environment variables rarpboot - boot image via network using RARP/TFTP protocol reset - Perform RESET of the CPU run - run commands in an environment variable saveenv - save environment variables to persistent storage saves - save S-Record file over serial line setenv - set environment variables sleep - delay execution for some time tftpboot - boot image via network using TFTP protocol USB - USB sub-system usbboot - boot from USB device version - print monitor version </pre> Most used [http://www.compulab.co.il/workspace/mediawiki/index.php5/U-Boot_quick_reference uboot options] are fatls usb 0:1, ===Framebuffer - basic display=== RasPi has to speak to the "operating system" which runs on the GPU itself and request/free memory - it cant directly manage it itself, and so the managed functions were used to wrap these calls. The Arm and GPU share memory space. The framebuffer is shared. The Arm can write a pixel and it will appear on the screen (through GPU hardware) without flushing/copying being required. The GPU can composite multiple FB's in real time - so you have a number of surfaces defined which are rotated etc and composited in real time to the output. Copying can map from the address space of the Arm to the flat space of the GPU which takes some code, but I don't think whole buffers are copied. The DMA hardware can also access the whole memory space and can perform 2D fills and blits (no blending). This is documented in the peripheral spec posted. The DMA is just an Arm accessible peripheral and can be set up with low latency (e.g. microseconds). must use a 0xc0000000-based bus address to access SDRAM, yet non-DMA access should go via a 0x0-based bus address. For 2D dma, set TDMODE, and the spec says "interpret the TXFR_LEN register as YLENGTH number of transfers each of XLENGTH, and add the strides to the address after each transfer." so set STRIDE to pitch of the image, the width is XLENGTH and height is YLENGTH. You would fill by not setting the SRC_INC and point source to your fill data. The DMA cannot see the ARM's L1 cache, so you would map the framebuffer with ioremap_nocache. Depending on where the source data comes from, it may need an L1 cache flush. The DMA can see the L2 cache. Use 0xC0000000 bus addresses when L2 is disabled and 0x40000000 bus addresses when L2 is enabled. (actually just call virt_to_bus and you'll get the right address out). openGLES/openVG has high latency. Writing to framebuffer then reading it back is very inefficient (e.g. milliseconds). If you can drive it a unidirectional way, just streaming commands at then that is efficient. openVG is not implemented on top of openGLES - it uses the same hardware but as a first class interface To improve the Gfx driver, we will need a DMA resource implemented so can use to perform DMA operations. The Gfx driver will need this to perform blits. ===USB === * Model A and B limited to 150 mA per port. * Model B+ and Pi 2 introduced configurable 600 mA to 1.2 A support over all ports - anything above that requires a powered USB hub. Implementing the hardware driver that Poseidon uses to interact with the USB components. Have code in place to (try) and initialise the USB chipset, and configure host/device mode operation (though AFAICT Poseidon doesn't support device mode). Started to get the "virtual" root hub written for the single USB port so that Poseidon should at least list it correctly in the GUI - and try to interact with it to find peripherals. The BCM2835 uses a soft IP block from Synopsys’ DesignWare library (DWC), specifically the block is called dwc_usb_2_0_hs_otg_subsystem-ahb_se (“USB 2.0 Hi-Speed OTG Controller Subsystem w/AHB Interface SE”). There is no public documentation for this, and pretty much zero chance of anyone getting hold of it even with NDA. However, there's a Linux driver written by Synopsys ([https://github.com/raspberrypi/linux dwc_usb]). Specifically directories [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_common_port] and [https://github.com/raspberrypi/linux/tree/rpi-patches/drivers/usb/host dwc_otg]. The Synopsys code is actually under a fairly permissive licence – it's not GPL, it's similar to BSD (’don't sue us if it breaks’ is pretty much the only clause). So this should not be a barrier to porting the code. The code is really well written, with a nice partition between the work done by the driver (dwc_otg, which is fairly involved, given the host does more work than a conventional EHCI driver), and the interface to Linux (dwc_common_port). Probably only need provision of relevant changes to dwc_common_port. Other things to consider.... * Provision of necessary headers to get it to compile * Provision of necessary functions (main issues are wait queues, threads, work queues, tasklets, timers, spinlocks and mutexes (multithreading) ) * Interfacing between USB stack and the driver. dwc_otg/dwc_otg_hcd_linux.c looks like the place to start. the Linux bits of the headers are only required for the dwc_common_port library. dwc_common_port includes a variety of crypto functions which are not used – it appears to also be used for ultrawideband (UWB) and wireless USB (WUSB) drivers where crypto will be an issue, but it isn't going to be for plain wired USB. Every USB driver acts as an USB hub as well in order to let Poseidon control the state of USB ports. The code there was reading status of the only USB port in Raspberry's CPU but when changing the status it erroneously deleted some of the status bits, including the port enable one. It was so because those bits in the status register are of a type Read/WriteToClear. It means, if one does not want to change their value from 1 back to 0, one has to actually write the 0 value. Very practical thing e.g. in interrupt handlers, where one reads the interrupt status register to learn what was the interrupt reason, and writes it back to the same register in order to clear the interrupts. After fixing that code it turned out that the communication was still unsuccessful. Apparently the USB device was not understanding the host for some reason. That should not happen since the request sent was one of the standard ones implemented by virtually anything with an USB connector, assumed that Poseidon clears the data caches before forwarding the work to the USB drivers but that's the responsibility of the driver itself. The USB device responded and acknowledged the transmission! But why were all the request sent after address change failing with timeout? They should not. Once again, address set is supported just by anything. Tried to contact the device at address 0 once again and there it was, still responding properly. The enlightenment came. The bus address for DMA transmissions was, as it is in many bare metal USB implementations, just the pure memory address of the buffer as seen by the ARM cpu. Have "prefixed" it with the real location of uncached RAM and booted AROS once again. Trident saw this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 and this: Product : Vendor: Vdr=0424/PID=EC00 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 255 SubClass : 0 DevProto : 1 VendorID : 1060 ProductID : 60416 DevVers : 0200 and even this: Product : Hub: Vdr=0424/PID=9514 Manufacturer: Standard Microsystems Corp. SerialNumber: n/a /Users/michal/git/AROS/rom/USB/poseidon/./poseidon.library.c:psd_20_psdEnumerateDevice/3092: USBVersion: 0200 Class : 9 SubClass : 0 DevProto : 2 VendorID : 1060 ProductID : 38164 DevVers : 0200 What are these things? The first one is USB hub built in the Raspberry. Thanks to this one the Pi machines (with exception of Pi0 and computing modules) have more than just one single USB port. The second one is the network chip in raspberry, the third one is my USB SD card reader which have just connected to see what happens. AROS tried, of course, to boot from it ;) So, the first step towards working USB is done. The control transfers are working as you can see above. Next step is to implement bulk and interrupt transfers, having the basics in place. Finally some error handling will be added and USB for Pi will be as complete as the PC version. [http://www.raspyfi.com/raspberry-pi-usb-audio-fix/ Issue with USB Audio] ===Audio === To follow... [https://github.com/raspberrypi/linux/tree/rpi-patches/sound/arm audio] and its [https://github.com/raspberrypi/firmware/issues/2 very high speed message passing interface type of thing VCHI] The Model B+ added an additional voltage regulator for the audio output and an additional output driver to drive low-resistance loads like headphones. However it is still using pulse-width modulation (PWM), which has a major impact on sound quality the old Raspberry Pi used a linear voltage regulator to provide the 3.3V to many of the components on the board while the new one uses a switching regulator. Both can perform reasonably well. However switch mode power supplies often show higher noise figures Analogue audio Audio over HDMI rev 1.3 & 1.4 ===Ethernet=== 10/100 BaseT Ethernet RJ45 socket ===GPIO === GPIO shouldn't be too bad but bear in mind it is already accessed in places so they would need to allocate pins etc through it (e.g. sdcard to flicker the activity light, serial debug to output data on the GPIO pins) Probably a resource rather than a device... Started an i2c driver that will need to allocate GPIO pins. Feel free to work on it if you are interested ;p ===GPU graphics with 2D and 3D acceleration=== Sadly none yet == References == ===Native=== * 2013-03 Kalamatee starts work * 2013-05 Work put on hiatus * 2015-04 Work continues slowly with mschulz on the kernel and Kalamatee (NicJA) on gpio and usb * 2018 [https://www.patreon.com/posts/i-owe-you-some-20956961 mschulz resume with adding BE big endian support as well] * 2023 NinjaCowboy The status of AROS native for RasPi was OK. System booting, USB working (although with some issues but plan to fix them). Got stuck on modifying the ABI (application binary interface) and adjusting binutils/gcc to support it wanted to have real executable files but got stuck a little. This change for the type of relocations embedded in ARM files and not sure if this very type is well supported, on the other hand without this change ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable. * Newer version with USB WIP [http://aros.sourceforge.net/download.php AROS ABIv1 snapshot/nightly] # download/checkout the source someplace, e.g. /build/AROS-Src/ # make a directory to store external sources AROS downloads, e.g. /build/Ports # make a build directory, e.g. /build/aros-raspi-armhf # cd into the build dir, configure, and then run make -: <pre> >cd /build/aros-raspi-armhf >/build/AROS-Src/configure --target=raspberrypi-armhf --with-serial-debug --enable-ccache --with-portssources=/build/Ports >make >make arosboot-raspi </pre> then copy the files from /build/aros-raspi-armhf/bin/raspi-armhf/AROS/ onto an sdcard, and download/copy the Raspi firmware files onto it. You should then be able to boot the sdcard on your RasPi. The current W.I.P tree to svn. it can be built as follows .. <pre> ./configure --target=raspi-armhf make arosboot-raspi </pre> That will generate arosraspi.img, arosraspi.rom and config.txt in bin/raspi-arm/AROS - so either copy just those files to a fat formatted SD card (with the firmware files on), or copy the whole contents of the AROS folder. NB - if you have a Linux/other install, backup the existing config.txt first arosraspi.img contains the bootstrap (which has very basic mailbox code, framebuffer/gpio init, and console "emulation" via code pinched from our libbootconsole), kernel.resource, and exec.library arosraspi.rom contains all the other components needed to boot AROS. The config.txt file will tell the RasPI bootstrap to load our arosraspi kernel and ramdisk (rom). the bootstrap has minimal mailbox code, planning on adding either a resource or library that driver/app code will use to access it (likewise for GPIO) ==== Hosted ==== Ubuntu VM approach to compiling [http://lallafa.de/blog/2013/06/building-aros-hosted-for-raspbian/ Linux hosted AROS June 04, 2013] ../AROS/configure --target=linux-armhf --enable-includes=/usr/arm-linux-gnueabihf/include --x-includes=/usr/arm-linux-gnueabihf/include --x-libraries=/usr/arm-linux-gnueabihf/lib arm-elf- is symbol-linked to arm-linux-gnueabi- (arm-linux-gnueabi- is more correct in this case, because it's going to be compiling the ARM AROSBootstrap for ARM Linux) *armel - many of the "android" machines require since the entire OS is made for soft float VFP. *armfp - Efika MX target, Raspberry PI, EfikaMX, Pandora and virtually everything (VFP) Keep in mind it's possible to start hardfp AROS hosted on softfp system, though, as long as no calls between AROS and host require floating point parameters. NOTE: hardfloat objects *cannot* be linked with softfloat objects - they have a different ABI. Just keep in mind the arm nightly build machine is quite complex beast. It needs the x86_64 host compiler to compile AROS tools. The arm version is built every night using gcc-4.6.2 crosscompiler (built together with AROS) and successfully builds armel and armhf linux hosted targets. *needs an AROS code compiler for ARM target *as well as unix compiler for ARM linux host (would be best to have both softfp and armhf, we have softfp only now) with full set of libraries and includes. with—disable-crosstools $AROS_CC is always a wrapper around $KERNEL_CC ? If so, this is wrong for some ports. This can break Darwin, Windows and Android port. Yes, Android port will build. And even work. But it's not good because the port will not be ABI-compatible with other ARM ports. Android's ABI is different from GNUEABI. For example: <pre> enum test {foo, bar}; enum test testvar; </pre> siseof(testvar) will be equal to sizeof(int) in GNUEABI (Linux and AROS) and sizeof(short) on Android. This affects linking objects from static linklibs, for example. Previously everything worked because $AROS_CC was a wrapper on top of $HOST_CC. And a real crosscompiler was used on non-ELF hosts. Android is the same. $KERNEL_CC is incompatible with AROS. compiler=kernel is appropriate _ONLY FOR CODE WHICH RUNS ON HOST OS_ (or barebone hardware, if we talk about native). This includes bootstraps, their linklibs, and host-side dynamic libraries (Windows makes extensive use of them because of architectural considerations. No single AROS object should be compiled with this setting. $KERNEL_CC is really compatible with AROS *ONLY IN LINUX-HOSTED* and no more. On other systems (Darwin, Windows, Android) this is not true any more, and compiler=kernel is never going to work. If you want to compile your AROS module against host OS includes, append the following to USER_INCLUDES (or USER_CFLAGS, this is effectively the same): -isystem $(GENINCDIR) $(KERNEL_INCLUDES) $(KERNEL_INCLUDES) expands to: -isystem <your_os_includes> -isystem <host_OS_gcc_private_includes> -nostdinc This makes AROS compiler adhering to host OS APIs. If you want some preprocessor symbols based on what your host OS actually is, add something like -DHOST_OS_$(AROS_HOST_ARCH). Why is there $(GENINCDIR) at all? Because host OS has its own libc includes, which would conflict with AROS ones. And the host OS libc is not binary-compatible with AROS one. Why doesn't Windows-hosted port use $(KERNEL_INCLUDES) ? Because WinAPI includes conflict with AROS ones in fundamental typedefs, like WORD, BYTE and BOOL. It's almost impossible to deal with this in any other way than rewriting WinAPI definitions using AROS types. Building under centos 6.3 (i386) currently, and AROS creates the toolchain itself. haven't yet committed the necessary changes but "./configure --target=raspi-armhf" is enough to start, then "make arosboot-raspi" will generate arosraspi.img (containing the bootstrap, kernel.resource, and exec.library) as well as arosraspi.rom (containing all the other essentials components such as dos, graphics etc). It will also copy over a config.txt file to make the raspi bootstrap code load the correct kernel, and a cmdline.txt that enables exec debug output. *armel = typically Debian 6, Ubuntu Maverick, Android, *armhf = typically Debian 7, Debian 8, Ubuntu Precise, Cross-compiling Ubuntu ARM softfp <pre> sudo sh echo 'foreign-architecture armel' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armel] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armel.list apt-get update apt-get install gcc-arm-linux-gnueabi libx11-dev:armel libsdl-dev:armel </pre> <pre> ./configure --target=linux-arm --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabi/include </pre> Cross-compiling Ubuntu ARM hard-float <pre> sudo sh echo 'foreign-architecture armhf' >>/etc/dpkg/dpkg.cfg.d/multiarch echo 'deb [arch=armhf] http://ports.ubuntu.com/ precise main universe' >/etc/apt/sources.list.d/armhf.list apt-get update apt-get install gcc-arm-linux-gnueabihf libx11-dev:armhf libsdl-dev:armhf </pre> <pre> ./configure --target=linux-armhf --x-includes=/usr/include \ --enable-includes=/usr/arm-linux-gnueabihf/include </pre> Now, the AROS build is configured properly and all you need to do is: make [https://github.com/aros-development-team/AROS/commit/d84b9a337f9aa059154d9af69275935125166bdd some Apple Silicon support] === Core Kernel === the reason behind INTB_KERNEL is to allow use of the standard Exec function AddIntServer() to add interrupt handlers for hardware drivers etc. AmigaOS never used it for abstract hardware drivers. AmigaOS routed only raw hardware IRQs there. Their assignment was hardcoded. As well as number of them. Actually on AmigaOS every bus has its own interrupt subsystem. For example PCI bus. PCI interrupts on Amiga are routed to a single exec interrupt. 1:1 relationship between CPU and hardware interrupts is present only on PC. IMHO we miss things like AddInterrupt/RemInterrupt methods on our PCI subsystem's device class. PCI bus class should map these methods to whatever is appropriate. This is how it is done on AmigaOS and friends. When these are implemented, raw kernel.resource API will be needed only for several PC-specific drivers with hardwired resources. Exec IRQs are real IRQs only on Amiga hardware. On other machines they can be emulated where appropriate (VBlank is a good example). kernel.resource is meant to be different, its IRQs are hardware-agnostic, they are plain "Hardware IRQ number X, whatever this means". They are low-level actually, and meaningful only in the context of a particular system. Was that not the transition from irq.hidd to kernel.resource? No. A long time ago there was another hacky bit named INTB_TIMERTICK. It was "abstract timer interrupt", used by timer.device. It was the same as VBlank, but with larger frequency. I removed it, because kernel.resource API was a cleaner way to access this interrupt. Furthermore, there can be more than one timer in the system. I am even thinking about bringing back timer HIDD definitions again. hpet.resource is a bad idea. Can someone please enlighten me a little on how the scheduler is meant to work? Poseidon.library creates its "Poseidon Event Task" during RTF_COLDSTART -> then calls Wait(), and ends up in limbo because wait disables interrupts (used for the scheduler heartbeat), and basically waits forever because the sigbit is never set, since krnSwitch doesn't switch the task unless TF_SWITCH is set, and no codepath run during this seems to set it?? TF_SWITCH does not disable/enable switching. This flag just enables to run user-supplied hook when the task is being switched away. It is completely safe to call Wait() in Disable()d state. Doing this actually temporarily breaks this state. IDNestCnt gets remembered in struct Task, then next task is selected, and its IDNestCnt is restored in sysbase (see kernel_scheduler.c). If there are no other tasks, then your cpu_Dispatch() should enable interrupts on the CPU and enter idle mode. See x86 implementation for good example. You miss what happens next... 1. KrnSwitch() saves context of your task, saves IDNestCnt (core_Switch() and cpu_Switch()), then drops into cpu_Dispatch(). 2. cpu_Dispatch() calls core_Dispatch. Then two cases are possible: 2a. There is a READY task. It is picked up, its IDNestCnt is restored in SysBase, then cpu_Dispatch() needs to restore registers and exit. The next task is run. 2b. There are no READY tasks. core_Dispatch() returns NULL. In this case your cpu_Dispatch() should enter idle loop. It should just enable interrupts on the CPU and put it on halt. This allows it to process hardware interrupts. Eventually some of your interrupt handlers wakes up your task and puts it into READY list. My heartbeat interrupt has been slowed atm to help debugging - but it never actually gets a chance to fire because of the Wait() disabling interrupts. Perhaps you have forgotten to enable interrupts in your idle loop. There is a change in the format of AROS executables. Until now we were using Elf RELocable files which are usually used as intermediate object files. We had them for various reasons, one of them was how AROS files were built in the past. That days we had no real aros cross compiler and the option to embed relocation data in unix executables (or in executable files in general) was rather new and not every linux/unix system had it. Therefore we have decided to use intermediate files. Although it was somehow working (and it is still working :-)), it has some drawbacks. Therefore decided to introduce real Elf EXEC types, in first turn implemented on ARM target with option to expand in future to all other AROS architectures. The first patch was pretty easy and appeared to work somehow. It generated nice executables with embedded relocation info. Not only that, it also removed all global symbols adjusting relocation data to be relative to the beginning of the sections. That move reduced number of symbols in each executable significantly (depending on the file between 20 and 80% of all symbols could be removed). The only symbols that stayed in the file are local ones - due to the nature of the patch wasn't able to remove them since we have not seen them in the symbol hash table. The patch didn't worked though. The files were relocated, AROS kernel loaded, but it crashed very early. What happened? Well, the nature of ARM relocations happened :) Most of the relocation data on all machines is rather simple. Relocation can be absolute or pc-relative, sometimes the offset has to be bit shifted. On ARM v7 there is another one. There, when one wants to load an address of function/variable into register a combination of two instructions can be used: movw and movt. The first one loads immediate into lower 16 bits of a register while clearing upper 16 bits. The second one loads immediate into upper 16 bits without touching lower halfword. Loading of a pointer into a register looks like this: movw r0, #:lower16:label movt r0, #:upper16:label In this case there are two relocations - one for lower halfword and another for upper. If an overflow of lower 16 bits occurs during relocation process, the upper one should be updated as well. Unfortunately with current patch and with typical ARM executables there is not enough information to perform the calculations. There are two options - the first one would be to give up and go back to "fake" executables, another one would be to change from REL to RELA relocation info. The latter contains an addend, extra data which can be used to perform all the relocation calculations I need. Decided for the second option. The patch is already in the works. There is another function for the binutils' bfd backend to perform the final relocation. There can decide what to do with every reloc info, modify data and eventually strip some symbols. An advantage is - at this stage of the linking process have also full access to all local symbols so can change all relocations section relative and eventually strip all symbols from the files. === GPU === Most of start.elf runs on the GPU. Placing ALL the userland GPU code in the videocore.hidd isn't going to be a terribly big problem because the code they published is nothing more than a shim that sends data straight to the GPU to execute. The good news about this is that we only need to write our HIDD using the OpenVG API. The shim is relatively small codewise and lives in the ARM memory (the actual OpenVG code itself lives in the GPU RAM area and its loaded from start.elf). That's also the bad news. Our driver has to translate AROS video calls to OpenVG calls, for most tasks it should be easy, for some, not so much. It's still probably less difficult and less work, than controlling the GPU directly. The other good news is that anything done through OpenVG happens on the GPU, its truly accelerated. It also has some nice font functions, meaning we can lead into an accelerated text mode later. Basically, AROS resets or locks up when it tries to use AROS_ATOMIC_INC or DEC. If I comment out the byte/word operations in the header files and use non-atomic operations, the code works as expected. have read that the L1 cache needs to be enabled to use LDREX and co (which I also read is only meant to be used on multi processor systems with shared memory) - however I am certain this is correctly enabled. If you are using LREX or STREX, you should have L1 cache enabled, at least on the ARM CPU I work with at work. L1 cache is enabled by enabling the MMU *AND* setting the C and I bits in the CPU - the C bit is ignored, and the I bit only covers the 16 byte instruction pipeline if the MMU is not enabled. Can you verify that your assembly is generating LDREX/STREX? From the behavior, it almost sounds like its generating the default Semaphore locked atomics. Impossible. There are no semaphore-locked atomics. There are Disable()/Enable()-based ones instead. And there's a special #define AROS_NO_ATOMIC_OPERATIONS in this case, which tweaks Disable()/Enable() implementations not to recurse forever. I have tested this on ARMv5 which does not have ldrex/strex, it works fine. On those ARMs there's no way to have real atomics. On other OSes (like Linux) this is done by introducing things like atomic_t, which appears to be a complex structure, holding the value together with accompanying spinlock (implemented using swp). #warning "TODO: lookup optimal mmu table settings for raspi memory" /* Set up an identity-mapping for all 4GB */ for(x = 0; x < 4096; x ++) { pagetable[x] = x<<20 | (0x40002|0x80000|0x010000|0x00C00|0x04); } Shouldn't there be a second loop that sets the 'C' bit in the descriptor for the RAM pages? Currently, you have TEX=0, C=0, B=1 for all pages (Shared Device). You should have TEX=0, C=1, B=0 for RAM (Write-Through, Cached) So .. pagetable[x] = x<<20 | 2; should be enough? No, for RAM you need to change the '| 0x40' to '| 0x80' tell dosboot the correct defaults to use Please don't do this. This bootconfig.c is a deprecated legacy thing. I wanted it to go away completely with time. Instead, display drivers should auto-install themselves during own initialization phase. I. e. detect hardware=>instantiate itself. This should make things way simpler. With this approach you only need to add the driver into KS image to get the device autobooted. No hardcoded stuff. Currently VESA and VGA drivers do this, look there for examples. never rewrote ATI driver because i don't have any test system for it. they defined a smaller AROSCPUContext than the ExceptionContext - yet reference it as ExceptionContext in other places, and since it hasn't allocated enough storage for ExceptionContext, are corrupting memory/the structure (since the elements that are there don't map 1 to 1 with the exception context). AFAIK, AROS has been moving in a different direction to this in recent years. It is the job of graphics HIDDs to allocate bitmaps etc. so that they have the most suitable characteristics, including allocating them from GPU RAM where possible. The concept of chip RAM is only for legacy code, and most if not all non-68k platforms should have all system RAM marked as chip. BTW, is the video processing code you mention CPU code or GPU code? Also, IIRC we have support for "external memory allocators". Perhaps that's what we need for the allocation of GPU RAM through the mailbox. All hosted and x86 native ports should use proper context formats. trying to clarify if the vblank handler has to have run by this point to prevent this deadlock. Actually, no. Unless you have installed VBlank handler which should wake up at some point. Without VBlank there will be no quantum count. Consequently, there will be no forced preemption. But the rest will work, and multitasking will be cooperative (switch happens only when current task voluntarily gives up the CPU). Does it depend on the vblank having run before this point? and if yes what does that mean on systems where it might be able to run enough code (e.g. get to this point) before the vblank interrupt has triggered? What is it waiting for? It could wait for timer, in this case you need timer.device working. VBlank is currently needed for exec's quantum counter. In current native ports we have only a single timer, which is served by timer.device. VBlank is simulated by timer.device also. If your machine has two timers, then you can use one of them for VBlank, and another for timer.device, this will simplify things down. VBlank needs to be 50 Hz for historical reasons, many programs use it as cheap timer. I am periodically thinking about making some abstract mechanism to be able to change quantum source (and untie it from 50 Hz), but have no time to come up with something good. Additionally i started disliking timer.device hardcoded design when PC has got many timers (old 8253, APIC, HPET). Currently i think there should be some low-level entity representing tick source. timer.device should just select the most appropriate source for its units. The BCM2835 has 4 GPU based timer sources - 2 are used by the GPU, so im using Timer3 for our heartbeat and the remaining one will be free to the system. There is also the less capable ARM timer but that is dependent on the CPU frequency. Very good. You won't need any emulation. Set the heartbeat to 50 Hz and drive VBlank from it. Use other timer for MicroHZ. Can you use the 'econsole.hook' I make for debugging the Sam460 via the serial port? It provides a before-anything-else shell prompt on the serial port. You can then do 'NewCLI' to test your graphics, or use any DOS command in shellcommands.resource. You should just be able to add econsole.hook to your module list, and use 'econsole' in your bootargs. So long as you have a working Exec/RawMayGetChar and Exec/RawPutChar, it should work. Also make sure to add shell.resource and shellcommands.resource for this. That should have done it. If you set "#define DEBUG 1" in arch/all-native/econsole/econsole.c, do you get any additional serial output? have added it to the build and added econsole to the command line - and can see the bootloader picks up on the emergency bootconsole tag, but I still only get the insert bootable media display? Im assuming it exposes a fake filesystem that tricks aros into booting? The contents of which are: ECON:AROS.boot Way to handle the scheduling code? The implementations I had been following were causing problems, due to cascading interrupts which I cant handle properly in the asm stubs just now (when they break disable etc.) - since it means detecting the interrupted codes cpu mode and getting the correct sp/lr for it, and that's just too tedious for arm. To work around this ive added a system idle task which does nothing - and when the scheduling code has no task to run switches this in and lets it run, thereby allowing the interrupts etc to resume until something does need to happen. Also, by adding accounting code to cpu_Switch() and cpu_Dispatch(), it should allow the system to log idle time correctly (as well as running tasks). have thought of also adding an additional task that never runs, solely to record time spent in IRQ handlers, but I digress.. was under the impression that kernel.resource should *never* be used outside of exec.library. This is a wrong impression. Michal started designing it because portable nature of AROS does not fit well into exec's API with all its assumptions. So, he started the new, hardware-agnostic kernel API from scratch. Yes, exec sits on top of it in places. But kernel always meant to be open thing. Otherwise it would not exist. it wasn't meant to be just used willy nilly by user code - but by lower system components (e.g. exec) so that they could be implemented in a more generic fashion, and the kernel resource itself hide the systems quirks. Adding new things there perfectly keeps up with our decision to minimize AROS-specific intervention into APIs which can clash with MorphOS/OS4 extensions. We want at least source-level compatibility there. Binary compatibility on PPC would be extremely cool, but at the other hand we have no maintainer for this, as well as their ABIs are a bit weird and far from optimal, especially MorphOS one, because it aims for m68k binary compatibility. It depends on what exactly is being implemented - there's no reason we should have everything crammed into kernel.resource if it doesn't need to be (i.e. if its better suited as a separate component/subsystem in its own right) The _LE versions are for when you have endian swapping taking place. If the graphics are the same endian as the CPU, no swapping should occur. I ran into a similar terminology problem in SDL with a friend insisting that his Radeon 7000 on his PC was big-endian. It is not, it just uses the same endianness for the graphics card and the CPU so no swapping was necessary. They were both little-endian. The _LE versions are because the PixFmts refer to the bitmap data being in big endian format in memory, for which the normal version would need to do endianness conversion before applying the shifts/masks. on this platform it is in _LE in memory also so we don't need the conversion hence using the _LE version of the call). would use _LE (if it's really little endian 16 bit mode). What is the bare minimum needed to implement a framebuffer based gfx driver, with our software handling the rest? I have tried with just a gfx class that only expose new/dispose/newbitmap - and having an onscreenbitmap used only for the framebuffer itself (with all other bitmaps being chunkybm, and the framebuffer's superclass also being chunkybm), but that alone isn't enough it seems? You can use workbench/hidds/sm502/ as your example - it is as simple as I could make it. So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. I so far have -: vc_init: queries the gpus memory, and sets up a fake memory handler for it, then adds the bootmode driver and returns saying all is well vc_gfxhidd:New: sets up some fake syncmodes to test with and creates the real gfx object. vc_gfxhidd:NewBitmap: checks if its a framebuffer and uses the onbitmap class or uses the chunkybm class otherwise vc_onbitmap:New; creates a chunkybm object and then pushes the real framebuffer address into it as the buffer, So, AROS creates the framebuffer bitmap (I have verified this) -> so surely it should be capable of then rendeing into it? I don't actually create the framebuffer "bitmap object" myself - only as a result of being asked to. The code I currently have on SVN seems to create the framebuffers bitmap object fine, but then crashes in intuitions DisplayDriver callback. In particular it crashes performing the getattr on the system default pointer. don't expose MEMF_CHIP in an allocatable form so AllocSpriteData was failing (and other code later doesn't check if the values are valid == illegal memory accesses) Actually MEMF_CHIP has to present, for historical reasons. This has been never fully agreed upon, but in ports i wrote i exposed the whole memory as MEMF_CHIP. The idea behind this is that CHIP is originally the memory where graphics and sound data can be put. On non-Amiga platforms there are no restrictions on this, so the whole memory is CHIP. Yes, many old software can misbehave with CHIP memory size larger than 2MB. But this actually applies only to m68k AROS which is going to run m68k binaries. In other cases it's quite logical to fix the program when porting. As to original question: yes, it's enough to have a framebuffer bitmap (one with aoHidd_BitMap_FrameBuffer set to TRUE) and PutPixel routine. It framebuffer can be served by chunky bitmap class, then you can simply create chunky bitmap with your own buffer (see how VESA driver does this). Chunky PutPixel is already there. struggling to determine what is the correct pixfmt to use for the 24/16/15 bit gfx modes on the RasPi. AFAIK it uses RGB565, for 16bit but im unsure what shifts etc should go with it? suffice to say Im getting the wrong colors so far lol. <pre> redmask: 0x0000F800 greenmask: 0x000007E0 bluemask: 0x0000001F alphamask: 0 redshift: 16 greenshift: 21 blueshift: 27 alphashift: 0 </pre> It should likely be vHidd_StdPixFmt_RGB16_LE This stuff is a bit confusing. The "names" of the stdpixfmts are based on the layout in memory, ignoring endianess. So for example: ARGB32: will be 0xAA 0xRR 0xGG 0xBB in memory on both big endian and little endian machines. The shifts and masks OTOH are based on pixel access (ULONG in this case), so differ depending on whether you run on big endian machine or little endian machine (that's why there's stdpixfmt_le.h and stdpixfmt_be.h in rom/hidds/graphics/). With the 16 bit pixel format it's even more confusing, as for example it's impossible on little endian machine to describe RGB16 with shifts/masks alone. That's why there's vHidd_PixFmt_SwapPixelBytes_Flag. (RGB16 == RRRRRGGG GGGBBBBB in memory, and for pixel (WORD) access on little endian machine it needs to be accessed as GGGBBBBBRRRRRGGGG). The shifts btw indicate how much to shift the component to the left (!) so that it is moved to the highest bit (31). The aHidd_PixFmt_StdPixFmt you specify will be ignored most of the time, because when the pixelfmt is registered, the gfx hidd checks if there's an identical pixfmt (shifts/masks/etc., but ignoring pixfmt->stdpixfmt) already in the system, and if so, it uses the already existing one and does not create a new one. In theory it would be better if gfx drivers could simply/only specify a StdPixFmt without all the shifts/masks stuff when the gfx driver uses pixfmt which matches one of the stdpixfmts exactly. Another possibility would be for gfx drivers to use HIDD_Gfx_GetPIxFmt(stdpixfmt_gfx_driver_wants_to_use) and then peek shifts/masks from it and fill out a pixfmt tag list based on that. 15bit very blue/green: Try to pass same shifts/masks/etc. as in 16 bit pixfmt (maybe you think it's using 15 bit R5G5B5 (or swapped) but it's actually still using 16 bit R5G6B5 (or swapped). aHidd_PixFmt_StdPixFmt you pass is mostly ignored. It's the shift/masks/etc. that count. But I would still pass the correct one (_LE) == whatever rom/hidds/graphics/stdpixfmts_??.h uses in the entry where you have looked up shifts/masks/etc. Use the shifts/masks/etc. from the entry in stdpixfmt_le.h (if you are running on little endian machine) or stdpixfmt_be.h (if you are running on little endian machine) that matches the pixfmt that its meant to be. 0xAA,0xRR,0xGG,0xBB on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on little endian (->entry in stdpixfmt_le.h which says vHidd_StdPixFmt_BGRA32) 0xAA,0xRR,0xGG,0xBB on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_ARGB32) 0xBB,0xGG,0xRR,0xAA on big endian (->entry in stdpixfmt_be.h which says vHidd_StdPixFmt_BGRA32) it feels like AROS trashes the alpha component, otherwise it should be 8A8R8G8B. read on the subject suggest its in 1x5r5g5b (x is ignored) to keep 16bit alignment . What I see on screen suggests to me that wrong shift/mask are being applied - however going by the 16bit versions it all looks correct to me so I am really confused as to what is happening. The output image looks to have too much green/blue, and very weak red. Why did usbromstartup become HW-specific ? In the past i have done a big job separating kickstart into several parts. I have never got any responses, so i re-describe my idea. For now it loads the hs otg chipset driver .. The idea is to minimize amount of archirecture-specific modules to make user's life easier. So, the kickstart was split into 'base' (which does not contain anything machine-specific) and 'BSP' (Board Support Package) which contains all hardware-specific stuff. This way, for example, distribution makers can save up space on CD and make CDs with multiple platform support. Different configuration would load the same base with different BSP's. Next there was some part which is entirely missing on hosted. These are filesystems. Hosted ports do not need them to boot up, so on hosted they are left out. At the other hand, they are also architecture-agnostic. So i put them into 'FS' package (standing for 'filesystem'). Poseidon is one more big part. I made it into separate package in order to allow users to omit it if they don't need it (for example, to run on retro PCs without USB). Personally i have one. Again, Poseidon is hardware-agnostic (well, there are USB drivers but HCIs are pretty standard). It's mandatory on PI since there are no other interface types - so being a separate package is irrelevant/pointless. Is Raspberry's USB controller non-HCI compliant? Actually i expect it to be compliant, then wouldn't it be better to make existing drivers discovering them? AFAIK its HCI 1.0 compliant but I'm not familiar enough with poseidons drivers, nor USB, to just hack away at the existing code. Perhaps once i'm more familiar with the workings I can merge in the changes needed to get it operating but for now I will focus on getting it running. Also our drivers have known issues so perhaps a fresh set of eyes might shed some light on what is going wrong. Another interesting question is whether Poseidon can operate on device side. Is it flexible enough? How similar is being a USB host and USB device? think it will need a bit of work on Poseidon's side. Until then I will force the driver into Host/Master mode in the init code, but leave open device etc to configure the chipset for either's use - and look at trying to add support for working in Device/Slave mode & switching modes once it's up and running. Actually USBROMStartup is some kind of kludge. Can there be any alternative? Could device drivers be self-installing, like our HIDDs? This would get rid of need to list them in USBRomStartup. And there is one more thing about modular ports. In order to actually implement this, your bootstrapping environment should provide the ability to load several files. On PC this is provided by GRUB2. on CHRP you can read filesystem via OpenFirmware, and Sam's Parthenope relies on modified u-boot. If your bootstrap allows to load only a single file, then you stuck with monolithic kickstart. By the way... u-boot allows not only to boot up a single uImage or zImage, it also allows to write client programs AFAIK. With this approach, you actually can write modular bootstrap for ARM AROS using unmodified u-boot. [http://repo.or.cz/w/AROS.git/commit/e7bdc7e7b7f12b07aa24c739abb63721a872a53a arasan eMMC sdcard controller specific header which is not USB] and [http://repo.or.cz/w/AROS.git/commit/8bd19674084526a534ac11f7d4c51932e9ffe3d2 added prelim sdcard device]. [http://repo.or.cz/w/AROS.git/commit/9ab8217f61911fb8b7fd41bee46a992b4668ced1 do not set 4bit data mode, or enable acmd12/dma int's]. === Misc === ===Hosted=== ==== Linux ==== Change lxde to another sudo leafpad /etc/x11/xinit/xinitrc xorg.conf <pre> Section "Screen" Identifier "Default Screen" DefaultDepth 16 SubSection "Display" # Viewport 0 0 Depth 16 Modes "800x600" EndSubsection EndSection Section "Device" Option "Backingstore" Identifier "Card0" EndSection </pre> Will raspberrypi ARM programs run on other ARM archs and vice-versa ? If not I would like to use different cpu names for archs which are incompatible. All code compiled for at most armv6 with softfp float abi will work on all softfp ARM targets, including raspberry. Code compiled for hard-float ABI will not work on any softfp target. But then, hard-float abi uses -armhf- cpu name. keyboard or mouse not functioning or partly working lsmod kernel and modules (stored in /lib/modules/ get from https://github.com/raspberrypi/firmware and click on ZIP button) have to be updated simultaneously sudo Apt-Get Update sudo Apt-Get Install <program > <program > cksfv joystick p7zip-full stopwatch mtpaint searchmonkey zip geany renameutils fbreader unrar-free mhwaveedit xpad milkytracker grafx par2 libreoffice epiphany-browser xbmc ace-of-penguins gweled black-box petris xmahjongg thrust fceu freesci frotz xgammon tuxpuck littlewizard xsoldier micropolis xbubble eboard&xboard (freezes) bomberclone OMXPlayer not responding or working with keyboard or no sound audio through HDMI LXterminal—command "OMXPlayer -o hdmi %f " hdmi issues Setting the hdmi_force_hotplug=1 makes sure the Pi believes the monitor/TV is really there. You might also need to set config_hdmi_boost=4 or even higher (up to 9) if your display needs a stronger signal. If the display is a computer monitor or newer tv, use hdmi_group=1 (auto HDMI use) and if it is an older TV, try hdmi_group=2 (for DMT formats, i.e. for PC monitors) then you HAVE to "set hdmi_drive = 2 to enable HDMI output as this forces HDMI mode rather than DVI mode Do not set hdmi_safe=1 as that overrides many of the previous options. Using a shorter or better quality HDMI cable might help. Make sure your Pi's power supply delivers 1 A and not 500 mA. If you see a problem with the red colour - either absent, or interference - then try a boost composite video changing the RCA cable, then the composite port worked out of the box Boot it as you are doing, without HDMI. If you now plug in the HDMI, do you get the image? In other words, does the Pi think HDMI is connected even when it isn't? Rename all the files in the first partion of the card except bootcode.bin, start.elf and fixup.dat What's the result? Put back config.txt What's the result? for PAL mode sdtv_mode=2 dmi_ignore_hotplug Pretends HDMI hotplug signal is not asserted so it appears a HDMI display is not attached hdmi_ignore_hotplug=1 Use composite mode even if HDMI monitor is detected <pre> # NOOBS Auto-generated Settings: #hdmi_force_hotplug=1 #config_hdmi_boost=4 #overscan_left=24 #overscan_right=24 #overscan_top=16 #overscan_bottom=16 #disable_overscan=0 start_x=1 gpu_mem=128 </pre> tvservice -c "PAL 4:3" <pre> /opt/vc/bin/tvservice -s or tvservice -s state: HPD high|HDMI mode|HDCP off|composite off (0x12001a), 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m CEA Group CEA has 1 modes: (native) mode 16: 1920x1080 @ 60 Hz, progressive /opt/vc/bin/tvservice -m DMT Group DMT has 0 modes: </pre> sudo amixer cset numid=3 1 forces the audio to the headphone jack, even with the HDMI video output plugged in config.txt the hdmi_ignore_edid_audio=1 option sems relevant as it should tell ALSA that the only available audio is analog, no matter what the display says There are several different ways that these 4 pole (ring) composite analog cables can be wired up, so some work great in some applications and can be a waste of time in others. What is needed for the Raspberry Pi B+ and above, which like many camcorders needs the ring contact next to the base contact to be the ground. The wiring for the 4 pole are: TIP (LEFT AUDIO CHANNEL) RING 1 (RIGHT AUDIO CHANNEL) RING 2 (GROUND/EARTH) RING 3 BASE/SLEEVE (VIDEO) YELLOW Most Apple based Players and the Microsoft Zune (TM) are wired this way. Most analogue camcorders are wired this way as well, where the ground in on Ring 2 will work with the Pi although you may need to swap your Video plug with the Right Audio plug. Nearly all other MP3 players are not wired this way, the ground is on another ring ie the wrong one. External devices * Camera Module Omnivision ov5647 Sunny 5MP (NoIR version) V1.3 - NoIR at 850&nbsp;nm, peak at 880&nbsp;nm and trails off at 940&nbsp;nm wavelengths * Camera V2 Sony IMX219 V2.1 8mpixel 8MP 8megapixel - 3280 x 2464 pixels - video at 1080p30, 720p60 and 640x480p90 - wider field of view, 62 vs 54 degrees horizontally - * Branded WIFI usb BCM43143 dongle N.B. dreaded error after changing cameras (stupidly without turning off the power first) and lasted through several power cycles. It can be a bad 15-pin FFC ribbon cable, when swapped, camera(s) and the Pi itself are working OK. It can be an instance of a cold solder joint on the CSI connector on the pi board. the camera can be detected (that's done via I2C) but may still not be able to receive image data (done via CSI-2) if something is broken. CSI-2 is uni-directional. Control is generally done via I2C. The CSI-2 receiver always writes to memory, not direct to the ISP. That's the way the Broadcom architecture works as it allows multipass processing easily. GPU memory is accessible from the ARM. Processing using the QPU graphics processors may be possible. currently the only supported sensor is OV5647 and IMX219. The linux drivers are all in the firmware blob, else you'd be looking at at least a man-month of work in a fully fledged imaging lab to do a decent tuning of the camera modules' ISP parameters. Static electricity maybe an issue for the camera module and slightly less for the pi board. * Hosted under ARM Linux which needs to be already installed [http://www.aros.org/nightly1.php current ABIv1] Help building AROS hosted on Linux ARM I was looking a way to use more my Handheld ARM based called Pyra (Dragonbox Pyra) an ARM (Omap5 cpu with 4GB ram) linux based machine (Debian Buster v10 with kernel 5.6.19 adapted) and have a try to compile the latest Aros sources by Deadwood directly on this device. Compilation stops after build libpopupmenu.a and trying to build libatomic have this error: <pre> Configuring build in bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic configure: WARNING: unrecognized options: --disable-nls, --without-x checking for --enable-version-specific-runtime-libs... no checking for --enable-generated-files-in-srcdir... no checking build system type... arm-unknown-linux-gnu checking host system type... arm-unknown-aros checking target system type... arm-unknown-aros checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for arm-aros-strip... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-strip checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... no checking for mawk... mawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking for arm-aros-gcc... /media/farox/pyra2/arosbuilds/toolchain-core-armhf/arm-aros-gcc checking whether the C compiler works... no configure: error: in /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic': configure: error: C compiler cannot create executables See config.log' for more details make[2]: *** [mmakefile:4489: /media/farox/pyra2/arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic/.configured] Error 77 [MMAKE] make --no-print-directory TOP=/media/farox/pyra2/arosbuilds/toolchain-core-armhf-build SRCDIR=/media/farox/pyra2/arosbuilds/AROS CURDIR=tools/crosstools/gnu TARGET=tools-crosstools-gcc-libatomic-configure -s --file=mmakefile tools-crosstools-gcc-libatomic-configure failed: 512 [MMAKE] Error: Error while running make in tools/crosstools/gnu: No such file or directory make[1]: *** [Makefile:361: linklibs-libatomic] Error 10 make: *** [Makefile:183: crosstools] Error 2 </pre> looking at config.log on arosbuilds/toolchain-core-armhf-build/bin/linux-arm/gen/host/tools/crosstools/gnu/gcc/arm-aros/libatomic i found that arosbuilds/toolchain-core-armhf/arm-aros-ld: cannot find -laeabi so i do make linklibs-aeabi-arm-quick and the missing lib was built. now the next stop is at fatal error: bits/libc-header-start.h: No such file or directory and fatal error: sys/cdefs.h: No such file or directory in many places so after checking that i have this missing include files i have noted that my include path is a bit different, standard searching path is /usr/arm-linux-gnueabihf but in my system is /usr/include/arm-linux-gnueabihf so if i add my path to some mmakefiles compilation goes on....but is a better way to add this path to avoid every mmakefiles to be changed? i fixed with adding -I/usr/include/arm-linux-gnueabihf to where is missing on mmakefiles like USER_INCLUDES := -isystem $(GENINCDIR) -I/usr/include/arm-linux-gnueabihf $(KERNEL_INCLUDES) P.s. I have changed many mmakefiles and have at least compiled (after many hours) the toolchain doing make every time in arosbuilds/toolchain-core-armhf-build (also have to disable making tests under cplusplus but don't remember the directory ...) but i ask an help to have an automated way to correctly build without modify mmakefiles. Last time I built armhf target was around 2 years ago. At that point I built is via cross-compilation from linux (ubuntu 22.04) using linux armhf crosscompiler (this can explain the path differences you are experiencing) as well as using AROS gcc cross-compiler in version 6.5.0 (build with option 21) in rebuild.sh). Since then AROS GCC has been updated to 10.5.0 and I don't believe anyone tried to build the armhf target again. My suggestion would be to downgrade GCC to 6.5.0 (via editing AROS/config/gcc_def file) and try to first build using cross-compilation from x86_64 linux. Once that works, you will have a "template" to compare to native compilation under arm linux. Thanks for your suggestion...but i think the toolchain with GCC 10.5.0 is compilable if i found a way to pass the path of my system to the script that build (option 21 on rebuild). The other only changes are (but i don't know where to modify...) is to add the build of libaeabi and disable the building of some tests under cplusplus that use exceptions and is not supported under ARM. I'll try to crosscompile with my Linux amd64 PC. For paths look into core-linux-armhf/bin/linux-armhf/gen/config/target.cfg. A number of build-wide variable is set there containing paths to local build system. These variables and the target.cfg file are generated by AROS ./configure script. Thanks compilation now go forward...i changed target.cfg under "toolchain-core-armhf-build/bin/linux-arm/gen/config" and do make on "toolchain-core-armhf-build" dir. Now i need to find where to enable build libaeabi.a so i can build the entire toolchain with option 21 of rebuild.sh I found something that looks like libeabi in AROS/arm-all/arm-aeabi/mmakefile.src. Try adding a third line there: #MM- linklibs-armhd : libklibs-aeabi-arm Though I don't remember needing this library. Possibly the 6.5.0 GCC somehow does this while 10.5.0 is missing this. I try adding this line (and the variant "linklibs-armhf" instead of hd) but it did not solve the automatic building of the missing lib. I must do "linklibs-aeabi-arm-quick". Anyway after have build the aeabi lib i succefully built the toolchain (after many hours...). Smile To test I restarted from selecting option 21 (on rebuild.sh) but after many hours i get the same error of the kernel includes not found...maybe i need to modify the configure script for my case. With the toolchain built i try to build the core-linux-armhf (DEBUG) (option 22) but after a while it stopped with "cannot find -laeabi " so i made it built manually...and now i can continue compiling...i'll let you know if all goes ok. Please ignore the [http://www.aros.org/nightly.php deprecated unused ABI] [http://www.aeros-os.org/styled-11/index.html Hosted free on Linux for R Pi works well] 0txamukz37m64kwnazx2m92vgh26yaf OMS Manual 0 303671 4635339 4326228 2026-05-11T23:07:03Z OMSMike 1787428 4635339 wikitext text/x-wiki {{Print version|/Print Version}} {{Book Search|prefix=OMSManual}} == 'Welcome to the OMSLife wiki!!' == Our purpose of the OMS wiki is to guide new patients and families who are facing a battle against Opsoclonus Myoclonus Ataxia Syndrome (OMAS - also known as OMS). This wiki is developed with the help of many OMAS warriors and their families. Please remember that you are not alone in this battle. We are here to help! For more information, you can find us on FaceBook at OMSLife or visit our website at http://www.omslifefoundation.org ==Table of contents== * [[/Chapter_1/]] Tell me about Opsoclonus Myoclonus Syndrome (OMS) * [[/Chapter_2/]] Medical Terminology of OMS – Glossary of Terms * [[/Chapter_3/]] Symptoms * [[/Chapter_4/]] Onset * [[/Chapter_5/]] Diagnosis and Hospitalization * [[/Chapter_6/]] Questions for your Doctor * [[/Chapter_7/]] OMS Doctors * [[/Chapter_8/]] Medical Treatments * [[/Chapter_9/]] Relapses & Flares * [[/Chapter_10/]] Standard Therapies for OMS Warriors * [[/Chapter_11/]] OMS Caregiver Conferences * [[/Chapter_12/]] Social Media * [[/Chapter_13/]] TBD * [[/Chapter_14/]] Insurance and Medicaid * [[/Chapter_15/]] Diet * [[/Chapter_16/]] Sleep * [[/Chapter_17/]] Behavior * [[/Chapter_18/]] Schools and Education Resources * [[/Chapter_19/]] Adult OMS * [[/Chapter_20/]] State Services * [[/Chapter_21/]] Federal, Local, and Private Agencies * [[/Chapter_22/]] Medical Options * [[/Chapter_23/]] Medical Publications * [[/Chapter_24/]] Other Medical Resources * [[/Chapter_25/]] OMS Caregiver Conference and Workshop Presentations * [[/Chapter_26/]] Best Bets * [[/Chapter_27/]] OMS Caregivers Tips and Tricks * [[/Chapter_28/]] Alternative / Holistic Treatments * [[/Chapter_29/]] TEST * [[/Help/]] ''' OUR DISCLAIMER''': http://wiki.omslife.org/index.php?title=OMSLIFE_Wiki:General_disclaimer {{shelves|Health sciences}} {{Status|50%}} jma81bww44kasivao7l3vf7lluux44f OMS Manual/Chapter 1 0 303673 4635341 3451762 2026-05-11T23:19:56Z OMSMike 1787428 /* Introduction */ 4635341 wikitext text/x-wiki CHAPTER 1 - About Opsoclonus Myoclonus Syndrome (OMS) ==Introduction== If you are looking for information about Opsoclonus-Myoclonus Syndrome (OMS), you likely know of someone who is battling this disease. The patient is likely a young child, with a median age of onset between 18 to 20 months. The patient may have eyes that are shaking (opsoclonus), Shaking arms and legs (myoclonus), or may be suddenly and inexplicably irritable (Ataxia). This is OMS — a disease where the patient is often too young to explain what is happening to their body. The intent of these chapters is to share information that we know about OMS to help you on your journey. '''OMS is also referred to as Opsoclonus-Myoclonus-Ataxia Syndrome (OMAS), Kinsbourne Syndrome, and Dancing Eyes-Dancing Feet Syndrome. The term OMAS is increasingly preferred in recent clinical literature, and the three terms are used interchangeably throughout this manual.''' [[File:OMS Symptoms from OMS Patient Registry.jpg|center|frameless|500x500px|'''OMS Symptoms from OMS Patient Registry''']] ==First of All== To begin, Dr. Michael Pranzatelli has prepared an excellent article on the NORD web site to introduce caregivers to OMS. You can find the article at http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ Many caregivers have been in the situation where they are introduced to a lot of new terminology and need to make decisions quickly. Also, in a number of cases, caregivers may be told to take a "wait and see" approach and progress treatment slowly. OMS is a disease where the outcome is considerably better the sooner it is properly treated. Immediate steps to take once a patient has received an OMS diagnosis: 1. Go to an OMS specialist (see our section on OMS doctors) 2. Treat quickly (do not wait and see) 3. Educate yourself about OMS 4. Surround yourself with others in this situation 5. Stick to your plan ==Go to an OMS Specialist== For many years, the challenge of OMS was to find a doctor who could properly diagnose the disease. There are many examples of misdiagnosis for weeks and months. In the meantime, the patient was getting progressively worse. Time is one of the enemies of OMS and these delays in diagnosis meant there might be some long term effects for the patient. But now, thanks to the internet and awareness programs, diagnosis of OMS can often occur in a matter of hours or days. Furthermore, proper diagnosis might occur at almost any medical facility in the world. The issue now is finding the appropriate medical facility and/or OMS specialist. While OMS is extremely rare, there are a number of doctors who have handled multiple patients. In most cases, patients will work with a specialist to set the treatment protocol, monitor progress, and do annual or semi-annual check-ups. This specialist will work with the local doctor who will likely see the patient on a more regular basis. The local doctor may be a Primary Care Physician, or the neurologist or oncologist at the local hospital while the specialist may likely be hundreds of miles away and seen less frequently. When seeking your specialist, some questions to ask include: 1. How many OMS patients have you treated in the past five years? 2. What is your typical treatment protocol? 3. What results can the patient expect? When seeking your local doctor, some questions to ask include: 1. Will you work with the OMS specialist to develop the best approach for the patient? 2. Are you willing to implement the recommended protocol recommended by the OMS specialist? 3. Are you willing to engage with insurance companies when treatment or other services are denied? In the United States, there are fewer than ten OMS specialists who have seen more than ten cases. If you are working with a doctor who has never seen a case or even seen only a few cases, that person is not an OMS specialist. Set expectations to see a specialist only. Also, a typical treatment used in many cases is the FLAIR treatment developed by Dr. Michael Pranzatelli at the National Pediatric Myoclonus Center for Pediatric OMS. The FLAIR protocol involves a three-agent protocol involving '''<u>F</u>'''<u></u>ront-'''<u>L</u>'''oaded high-dose '''<u>A</u>'''CTH (corticotropin), '''<u>I</u>'''VIg, and '''<u>R</u>'''ituximab Below, please find some of the OMS specialists in the United States: Dr. Michael Pranzatelli - National Pediatric Neuroinflammation Organization (Orlando) Dr. Wendy Mitchell - Children's Hospital Los Angeles Dr. Mark Gorman - Boston Children's Hospital Dr. Tim Lotze - Texas Children's Hospital (Houston) Dr. Angela Waanders - Children's Hospital of Philadelphia ==Treat quickly== OMS specialists have found that one of the key criteria in the battle against OMS is quick treatment. While a neurologist or primary care physician may find the FLAIR treatment protocol to be aggressive, the specialists agree that quick and aggressive treatment produces the best outcomes for many OMS patients. There is also agreement that when battling OMS, the "wait and see" approach is not a good for the patient. The outcome will typically enable the disease to worsen and limit likelihood for successful intervention. ==Educate yourself about OMS== You will be making a lot of decisions for your OMS patient. Since OMS is such a rare disease, you need to learn as much as you can about OMS. Common sources for OMS information includes: - Medical publications - OMSUSA - see their web site information below - OMSLife - see their web site information below - NORD - see their web site information below - Facebook - search for OMSLife or Dancing Eyes Syndrome support groups ==Surround yourself with others in this situation== You do not need to face this battle alone. There are some support groups with people who are willing to share their experiences. Some of these opportunities include: 1. Ask your OMS specialist for names of people who can connect with you. 2. Contact The OMSLife Foundation about upcoming caregiver conferences. 3. Join one of the active Facebook groups such as OMSLife, Dancing Eyes Syndrome Support Trust, or OMSLife en Espanol. ==For more Information== There are organizations which can orient you with OMS and connect you with specialists, support staff, and other caregivers. National Organization for Rare Disorders (NORD) http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ The OMSLife Foundation http://omslifefoundation.org National Pediatric Neuroinflammation Organization http://omsusa.org ==A Special Thank You== The caregivers of OMS patients truly appreciate the efforts of OMS specialists, local doctors, nurses, and other medical staff who dedicate their careers to help our OMS warriors. {{BookCat}} 2euchlehcsi8zebnom2foq6tv2mggiq 4635342 4635341 2026-05-11T23:22:44Z OMSMike 1787428 /* Go to an OMS Specialist */ 4635342 wikitext text/x-wiki CHAPTER 1 - About Opsoclonus Myoclonus Syndrome (OMS) ==Introduction== If you are looking for information about Opsoclonus-Myoclonus Syndrome (OMS), you likely know of someone who is battling this disease. The patient is likely a young child, with a median age of onset between 18 to 20 months. The patient may have eyes that are shaking (opsoclonus), Shaking arms and legs (myoclonus), or may be suddenly and inexplicably irritable (Ataxia). This is OMS — a disease where the patient is often too young to explain what is happening to their body. The intent of these chapters is to share information that we know about OMS to help you on your journey. '''OMS is also referred to as Opsoclonus-Myoclonus-Ataxia Syndrome (OMAS), Kinsbourne Syndrome, and Dancing Eyes-Dancing Feet Syndrome. The term OMAS is increasingly preferred in recent clinical literature, and the three terms are used interchangeably throughout this manual.''' [[File:OMS Symptoms from OMS Patient Registry.jpg|center|frameless|500x500px|'''OMS Symptoms from OMS Patient Registry''']] ==First of All== To begin, Dr. Michael Pranzatelli has prepared an excellent article on the NORD web site to introduce caregivers to OMS. You can find the article at http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ Many caregivers have been in the situation where they are introduced to a lot of new terminology and need to make decisions quickly. Also, in a number of cases, caregivers may be told to take a "wait and see" approach and progress treatment slowly. OMS is a disease where the outcome is considerably better the sooner it is properly treated. Immediate steps to take once a patient has received an OMS diagnosis: 1. Go to an OMS specialist (see our section on OMS doctors) 2. Treat quickly (do not wait and see) 3. Educate yourself about OMS 4. Surround yourself with others in this situation 5. Stick to your plan ==Go to an OMS Specialist== For many years, the challenge of OMS was to find a doctor who could properly diagnose the disease. There are many examples of misdiagnosis for weeks and months. In the meantime, the patient was getting progressively worse. Time is one of the enemies of OMS and these delays in diagnosis meant there might be some long term effects for the patient. But now, thanks to the internet and awareness programs, diagnosis of OMS can often occur in a matter of hours or days. Furthermore, proper diagnosis might occur at almost any medical facility in the world. The issue now is finding the appropriate medical facility and/or OMS specialist. While OMS is extremely rare, there are a number of doctors who have handled multiple patients. In most cases, patients will work with a specialist to set the treatment protocol, monitor progress, and do annual or semi-annual check-ups. This specialist will work with the local doctor who will likely see the patient on a more regular basis. The local doctor may be a Primary Care Physician, or the neurologist or oncologist at the local hospital while the specialist may likely be hundreds of miles away and seen less frequently. When seeking your specialist, some questions to ask include: 1. How many OMS patients have you treated in the past five years? 2. What is your typical treatment protocol? 3. What results can the patient expect? When seeking your local doctor, some questions to ask include: 1. Will you work with the OMS specialist to develop the best approach for the patient? 2. Are you willing to implement the recommended protocol recommended by the OMS specialist? 3. Are you willing to engage with insurance companies when treatment or other services are denied? In the United States, there are fewer than ten OMS specialists who have seen more than ten cases. If you are working with a doctor who has never seen a case or even seen only a few cases, that person is not an OMS specialist. Set expectations to see a specialist only. Also, a typical treatment used in many cases is the FLAIR treatment developed by Dr. Michael Pranzatelli at the National Pediatric Myoclonus Center for Pediatric OMS. The FLAIR protocol involves a three-agent protocol involving '''<u>F</u>'''<u></u>ront-'''<u>L</u>'''oaded high-dose '''<u>A</u>'''CTH (corticotropin), '''<u>I</u>'''VIg, and '''<u>R</u>'''ituximab Below, please find some of the OMS specialists in the United States: Dr. Wendy Mitchell - Children's Hospital Los Angeles Dr. Mark Gorman - Boston Children's Hospital Dr. Tim Lotze - Texas Children's Hospital (Houston) ==Treat quickly== OMS specialists have found that one of the key criteria in the battle against OMS is quick treatment. While a neurologist or primary care physician may find the FLAIR treatment protocol to be aggressive, the specialists agree that quick and aggressive treatment produces the best outcomes for many OMS patients. There is also agreement that when battling OMS, the "wait and see" approach is not a good for the patient. The outcome will typically enable the disease to worsen and limit likelihood for successful intervention. ==Educate yourself about OMS== You will be making a lot of decisions for your OMS patient. Since OMS is such a rare disease, you need to learn as much as you can about OMS. Common sources for OMS information includes: - Medical publications - OMSUSA - see their web site information below - OMSLife - see their web site information below - NORD - see their web site information below - Facebook - search for OMSLife or Dancing Eyes Syndrome support groups ==Surround yourself with others in this situation== You do not need to face this battle alone. There are some support groups with people who are willing to share their experiences. Some of these opportunities include: 1. Ask your OMS specialist for names of people who can connect with you. 2. Contact The OMSLife Foundation about upcoming caregiver conferences. 3. Join one of the active Facebook groups such as OMSLife, Dancing Eyes Syndrome Support Trust, or OMSLife en Espanol. ==For more Information== There are organizations which can orient you with OMS and connect you with specialists, support staff, and other caregivers. National Organization for Rare Disorders (NORD) http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ The OMSLife Foundation http://omslifefoundation.org National Pediatric Neuroinflammation Organization http://omsusa.org ==A Special Thank You== The caregivers of OMS patients truly appreciate the efforts of OMS specialists, local doctors, nurses, and other medical staff who dedicate their careers to help our OMS warriors. {{BookCat}} it48bxot9jwx98dkbqha8e1odxzbgha 4635365 4635342 2026-05-12T02:13:58Z OMSMike 1787428 /* For more Information */ 4635365 wikitext text/x-wiki CHAPTER 1 - About Opsoclonus Myoclonus Syndrome (OMS) ==Introduction== If you are looking for information about Opsoclonus-Myoclonus Syndrome (OMS), you likely know of someone who is battling this disease. The patient is likely a young child, with a median age of onset between 18 to 20 months. The patient may have eyes that are shaking (opsoclonus), Shaking arms and legs (myoclonus), or may be suddenly and inexplicably irritable (Ataxia). This is OMS — a disease where the patient is often too young to explain what is happening to their body. The intent of these chapters is to share information that we know about OMS to help you on your journey. '''OMS is also referred to as Opsoclonus-Myoclonus-Ataxia Syndrome (OMAS), Kinsbourne Syndrome, and Dancing Eyes-Dancing Feet Syndrome. The term OMAS is increasingly preferred in recent clinical literature, and the three terms are used interchangeably throughout this manual.''' [[File:OMS Symptoms from OMS Patient Registry.jpg|center|frameless|500x500px|'''OMS Symptoms from OMS Patient Registry''']] ==First of All== To begin, Dr. Michael Pranzatelli has prepared an excellent article on the NORD web site to introduce caregivers to OMS. You can find the article at http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ Many caregivers have been in the situation where they are introduced to a lot of new terminology and need to make decisions quickly. Also, in a number of cases, caregivers may be told to take a "wait and see" approach and progress treatment slowly. OMS is a disease where the outcome is considerably better the sooner it is properly treated. Immediate steps to take once a patient has received an OMS diagnosis: 1. Go to an OMS specialist (see our section on OMS doctors) 2. Treat quickly (do not wait and see) 3. Educate yourself about OMS 4. Surround yourself with others in this situation 5. Stick to your plan ==Go to an OMS Specialist== For many years, the challenge of OMS was to find a doctor who could properly diagnose the disease. There are many examples of misdiagnosis for weeks and months. In the meantime, the patient was getting progressively worse. Time is one of the enemies of OMS and these delays in diagnosis meant there might be some long term effects for the patient. But now, thanks to the internet and awareness programs, diagnosis of OMS can often occur in a matter of hours or days. Furthermore, proper diagnosis might occur at almost any medical facility in the world. The issue now is finding the appropriate medical facility and/or OMS specialist. While OMS is extremely rare, there are a number of doctors who have handled multiple patients. In most cases, patients will work with a specialist to set the treatment protocol, monitor progress, and do annual or semi-annual check-ups. This specialist will work with the local doctor who will likely see the patient on a more regular basis. The local doctor may be a Primary Care Physician, or the neurologist or oncologist at the local hospital while the specialist may likely be hundreds of miles away and seen less frequently. When seeking your specialist, some questions to ask include: 1. How many OMS patients have you treated in the past five years? 2. What is your typical treatment protocol? 3. What results can the patient expect? When seeking your local doctor, some questions to ask include: 1. Will you work with the OMS specialist to develop the best approach for the patient? 2. Are you willing to implement the recommended protocol recommended by the OMS specialist? 3. Are you willing to engage with insurance companies when treatment or other services are denied? In the United States, there are fewer than ten OMS specialists who have seen more than ten cases. If you are working with a doctor who has never seen a case or even seen only a few cases, that person is not an OMS specialist. Set expectations to see a specialist only. Also, a typical treatment used in many cases is the FLAIR treatment developed by Dr. Michael Pranzatelli at the National Pediatric Myoclonus Center for Pediatric OMS. The FLAIR protocol involves a three-agent protocol involving '''<u>F</u>'''<u></u>ront-'''<u>L</u>'''oaded high-dose '''<u>A</u>'''CTH (corticotropin), '''<u>I</u>'''VIg, and '''<u>R</u>'''ituximab Below, please find some of the OMS specialists in the United States: Dr. Wendy Mitchell - Children's Hospital Los Angeles Dr. Mark Gorman - Boston Children's Hospital Dr. Tim Lotze - Texas Children's Hospital (Houston) ==Treat quickly== OMS specialists have found that one of the key criteria in the battle against OMS is quick treatment. While a neurologist or primary care physician may find the FLAIR treatment protocol to be aggressive, the specialists agree that quick and aggressive treatment produces the best outcomes for many OMS patients. There is also agreement that when battling OMS, the "wait and see" approach is not a good for the patient. The outcome will typically enable the disease to worsen and limit likelihood for successful intervention. ==Educate yourself about OMS== You will be making a lot of decisions for your OMS patient. Since OMS is such a rare disease, you need to learn as much as you can about OMS. Common sources for OMS information includes: - Medical publications - OMSUSA - see their web site information below - OMSLife - see their web site information below - NORD - see their web site information below - Facebook - search for OMSLife or Dancing Eyes Syndrome support groups ==Surround yourself with others in this situation== You do not need to face this battle alone. There are some support groups with people who are willing to share their experiences. Some of these opportunities include: 1. Ask your OMS specialist for names of people who can connect with you. 2. Contact The OMSLife Foundation about upcoming caregiver conferences. 3. Join one of the active Facebook groups such as OMSLife, Dancing Eyes Syndrome Support Trust, or OMSLife en Espanol. ==For more Information== There are organizations which can orient you with OMS and connect you with specialists, support staff, and other caregivers. National Organization for Rare Disorders (NORD) http://rarediseases.org/rare-diseases/opsoclonus-myoclonus-syndrome/ The OMSLife Foundation http://omslifefoundation.org Dancing Eyes Syndrome Support Trust (UK) [https://dancingeyes.org.uk/ Dancing Eye Syndrome | OMAS | Repeated Eye Movement] ==A Special Thank You== The caregivers of OMS patients truly appreciate the efforts of OMS specialists, local doctors, nurses, and other medical staff who dedicate their careers to help our OMS warriors. {{BookCat}} 3t4giroxr6l26y28boughuoqfl7lcj3 OMS Manual/Chapter 7 0 303680 4635366 4323465 2026-05-12T02:18:04Z OMSMike 1787428 /* OMS Specialists - United States */ 4635366 wikitext text/x-wiki '''CHAPTER 7 - OMS SPECIALISTS''' ==Description== Diagnosis and treatment of OMS patients is challenging even for the OMS specialists. It seems that many patients just do not respond consistently to treatment and relapses pose an even bigger challenge. This means that selection of your OMS specialist may be the biggest decision that is made. As awareness of OMS has increased, many more doctors are making proper diagnosis of OMS in a quick fashion. However, doctors that have treated a number of OMS patients still is a very small number. It is imperative that the caregiver understand that a doctor who can diagnose the disease does not mean that doctor is a specialist who should be making the decisions on treating the patient. Below is some information of some of the well regarded OMS specialists. This list, while not complete, shows doctors who have treated many (more than ten cases) of OMS in their career. ==OMS Specialists - United States== Dr. Wendy Mitchell - Children's Hospital Los Angeles Dr. Laura Saucier - Children's Hospital Los Angeles Dr. Mark Gorman - Boston Children's Hospital Dr. Tim Lotze - Texas Children's Hospital (Houston, Texas) Dr. Kristen Fisher - Texas Children's Hospital (Houston, Texas) Dr. Sarah Hopkins - Children's Hospital of Philadelphia Dr. Sarah Hopkins - Children's Hospital of Philadelphia === Other European === Dr. Ming Lim - Evelina Children's Hospital - London Dr. Andrea Klein - Bern Switzerland {{BookCat}} 2iy398z1vpqp7d0ux74l3p02h8299ws Plezuro/introduction 0 307096 4635368 2742347 2026-05-12T04:04:31Z Grillofrances 722607 language 4635368 wikitext text/x-wiki The main purpose of creating of Plezuro was to enhance the software development process. It was created in 2014 while there existed many other scripting languages. However, none of them had enough beautiful syntax to write large pieces of codes without getting bored. Even Plezuro needs some improvements to achieve its main goals. {{bookcat}} 24h2nrcivj9wewk5jinhz2hyz5zmpmu 4635374 4635368 2026-05-12T05:43:20Z Grillofrances 722607 link 4635374 wikitext text/x-wiki The main purpose of creating of Plezuro was to enhance the software development process. It was created in 2014 while there existed many other scripting languages. However, none of them had enough beautiful syntax to write large pieces of codes without getting bored. Even Plezuro needs some improvements to achieve its main goals. Documentation: <nowiki>https://oprogramador.github.io/plezuro/</nowiki> (links with <code>herokuapp</code> might no longer be valid). {{bookcat}} to80iyamb81tfl8qiuvlf65fuz1b8d7 4635375 4635374 2026-05-12T05:44:57Z Grillofrances 722607 fix link 4635375 wikitext text/x-wiki The main purpose of creating of Plezuro was to enhance the software development process. It was created in 2014 while there existed many other scripting languages. However, none of them had enough beautiful syntax to write large pieces of codes without getting bored. Even Plezuro needs some improvements to achieve its main goals. Documentation: https://oprogramador.github.io/plezuro/tutorial/en/index.html (links with <code>herokuapp</code> might no longer be valid). {{bookcat}} frzcavpvljvxmgpn2poa9pvuevnduq8 4635376 4635375 2026-05-12T05:59:16Z Grillofrances 722607 compiled 4635376 wikitext text/x-wiki The main purpose of creating of Plezuro was to enhance the software development process. It was created in 2014 while there existed many other scripting languages. However, none of them had enough beautiful syntax to write large pieces of codes without getting bored. Even Plezuro needs some improvements to achieve its main goals. Documentation (of the compiled version): https://oprogramador.github.io/plezuro/tutorial/en/index.html (links with <code>herokuapp</code> might no longer be valid). {{bookcat}} 0bb3canm3xsoyolbt7g7fdkbfbbrzsj Plezuro/getting started 0 307097 4635369 4441041 2026-05-12T04:21:07Z Grillofrances 722607 language 4635369 wikitext text/x-wiki One of the main principles of the Plezuro programming language says the following: "The module, the function and the source file are equivalent one to each other." What does it mean exactly? So you can pass arguments to a module in the same way like to a function and also the module returns a value in the same way like a function. ==Hello world== At the beginning: How can you write the Hello World script in Plezuro? It is so simply: <syntaxhighlight lang="ruby"> 'Hello World!' </syntaxhighlight> Of course, the design of the language could be even simpler like that: <syntaxhighlight lang="bf"> Hello World! </syntaxhighlight> But that would be much more like a mark-up language (eventually template language), not programming language. So the previous script is not correct. Moreover, there exist other possibilities to write a Hello World script, eg.: <syntaxhighlight lang="ruby"> 'Hello World!'.printl; </syntaxhighlight> In the first script, the module just returns a value (string 'Hello World!'), and in the last one it prints this string to the standard output, and finally returns the empty value (called just 'empty', its symbol: '()'). ==Comments== For simplicity, the comments are in c++/Java/c# style. Therefore, it enables commenting large blocks of code, in contrary to languages such as Python or Ruby (Of course you can use multi-line string in both cases, but in many situations it outputs an error). <syntaxhighlight lang="java"> // this is a comment /* Another comment */ </syntaxhighlight> ==Variables== Like any (including really bizarre ones almost any) languages, Plezuro is based on using of variables. A variable is just a container for a piece of information. So at first occurrence of a variable you should write the dollar sign ('$') immediately before the variable name. The name is in Java style (it allows using any Unicode letters, digits and underscore, but at the beginning there must not be any letter). In the next occurrences, the dollar sign is not required. Why do we write so many '$'? It seems like PHP, Perl or bash. The reason is really simple. Just to define the variable scope. It is like the 'var' keyword in JavaScript (or in c♯ in case of local variables) but in Plezuro it is just shorted (one character '$' instead of four ones 'var '). It is a really important feature in case of short anonymous functions and evaluation of code written in string. So let us write some strange example: <syntaxhighlight lang="ruby"> $假借字=4; 假借字+假借字^2 </syntaxhighlight> Now, maybe a little less strange: <syntaxhighlight lang="ruby"> $x=4; x+x^2 </syntaxhighlight> ==The nature of the language== Unlike other programming languages where there is just a list of instructions in a function, Plezuro is based on operators. Commands are separated with a semicolon (';') but it is only one of multiple operators. Even variable assignment and function call in intermediate code are translated into operators. Only brackets ('(', ')') and curly braces ('{', '}') are not translated into operators. What is their use? So brackets are used to change order of operators calculation while curly braces are used to write down code which should be executed in the future (or eventually never). That means curly braces are used to write a function definition, a conditional loop or a conditional expression (in these cases we have also some sort of functions - anonymous functions). <syntaxhighlight lang="ruby"> 2*(3+4)^5.4 </syntaxhighlight> <syntaxhighlight lang="ruby"> $x = 5; {2<3}.if{x++}.else{x--}; x </syntaxhighlight> ==Operators precedence== Two-arguments operators: * ; * := * = * , * <-> * << * >> * ? * | * & * <=> * >= * > * <= * < * != * == * === * =~ * * - * % * * * / * ^ * Together: * ^^ * . * .. * : Single-argument operators (however, here it doesn't matter; important is just the list): * ! * && * ** * # * -- * -- * @ ==Important issues== Moreover, you should remember about the following: # The whitespace characters are not included in the intermediate code (that means you may write any number of spaces, tabs and newlines between the tokens (a number/ string/ name/ operator...), of course you cannot write spaces in the middle of variable names or operators. # One of very important issues of Plezuro is the tuple. You can use it when passing one variable that stores all these arguments to a multiple-argument function. Moreover, you can use it in a similar way like in Python. {{BookCat}} c2mwpvkvgqpt7ekbe0mcvjhuqxxbbyr 4635377 4635369 2026-05-12T07:01:43Z Grillofrances 722607 /* Operators precedence */ simplification 4635377 wikitext text/x-wiki One of the main principles of the Plezuro programming language says the following: "The module, the function and the source file are equivalent one to each other." What does it mean exactly? So you can pass arguments to a module in the same way like to a function and also the module returns a value in the same way like a function. ==Hello world== At the beginning: How can you write the Hello World script in Plezuro? It is so simply: <syntaxhighlight lang="ruby"> 'Hello World!' </syntaxhighlight> Of course, the design of the language could be even simpler like that: <syntaxhighlight lang="bf"> Hello World! </syntaxhighlight> But that would be much more like a mark-up language (eventually template language), not programming language. So the previous script is not correct. Moreover, there exist other possibilities to write a Hello World script, eg.: <syntaxhighlight lang="ruby"> 'Hello World!'.printl; </syntaxhighlight> In the first script, the module just returns a value (string 'Hello World!'), and in the last one it prints this string to the standard output, and finally returns the empty value (called just 'empty', its symbol: '()'). ==Comments== For simplicity, the comments are in c++/Java/c# style. Therefore, it enables commenting large blocks of code, in contrary to languages such as Python or Ruby (Of course you can use multi-line string in both cases, but in many situations it outputs an error). <syntaxhighlight lang="java"> // this is a comment /* Another comment */ </syntaxhighlight> ==Variables== Like any (including really bizarre ones almost any) languages, Plezuro is based on using of variables. A variable is just a container for a piece of information. So at first occurrence of a variable you should write the dollar sign ('$') immediately before the variable name. The name is in Java style (it allows using any Unicode letters, digits and underscore, but at the beginning there must not be any letter). In the next occurrences, the dollar sign is not required. Why do we write so many '$'? It seems like PHP, Perl or bash. The reason is really simple. Just to define the variable scope. It is like the 'var' keyword in JavaScript (or in c♯ in case of local variables) but in Plezuro it is just shorted (one character '$' instead of four ones 'var '). It is a really important feature in case of short anonymous functions and evaluation of code written in string. So let us write some strange example: <syntaxhighlight lang="ruby"> $假借字=4; 假借字+假借字^2 </syntaxhighlight> Now, maybe a little less strange: <syntaxhighlight lang="ruby"> $x=4; x+x^2 </syntaxhighlight> ==The nature of the language== Unlike other programming languages where there is just a list of instructions in a function, Plezuro is based on operators. Commands are separated with a semicolon (';') but it is only one of multiple operators. Even variable assignment and function call in intermediate code are translated into operators. Only brackets ('(', ')') and curly braces ('{', '}') are not translated into operators. What is their use? So brackets are used to change order of operators calculation while curly braces are used to write down code which should be executed in the future (or eventually never). That means curly braces are used to write a function definition, a conditional loop or a conditional expression (in these cases we have also some sort of functions - anonymous functions). <syntaxhighlight lang="ruby"> 2*(3+4)^5.4 </syntaxhighlight> <syntaxhighlight lang="ruby"> $x = 5; {2<3}.if{x++}.else{x--}; x </syntaxhighlight> ==Operators precedence== Two-arguments operators: * ; * := * = * , * <-> * << * >> * ? * | * & * <=> * >= * > * <= * < * != * == * === * =~ * * - * % * * * / * ^ * Together: * ^^ * . * .. * : Single-argument operators (the precedence doesn't matter here; important is to just list these operators): * ! * && * ** * # * -- * -- * @ ==Important issues== Moreover, you should remember about the following: # The whitespace characters are not included in the intermediate code (that means you may write any number of spaces, tabs and newlines between the tokens (a number/ string/ name/ operator...), of course you cannot write spaces in the middle of variable names or operators. # One of very important issues of Plezuro is the tuple. You can use it when passing one variable that stores all these arguments to a multiple-argument function. Moreover, you can use it in a similar way like in Python. {{BookCat}} tu2p0uda9tzpx6hnyxo8ro2oloi381f Plezuro/built-in types 0 307130 4635370 3116589 2026-05-12T04:23:49Z Grillofrances 722607 language 4635370 wikitext text/x-wiki Plezuro provides some built-in classes (types). Moreover, you can create your own classes. Each variable is an object of a class, like in Ruby. Therefore, all the variables are passed as a reference. In the next chapter, we will discuss the difference between a reference and copying. <br />The list of basic built-in classes with their using: <syntaxhighlight lang="c"> //number $x = 2.3e45; $y = 0xff; //hexadecimal $z = 072; //octal $a = 0b11011; //binary //string $b = 'aaaaaaaaaaaaaaaaaa'; $c = "wfefwfwf"; $cc = '''xxx yyy zzz'''; //list $d = [1,2,3,4]; //dictionary $f = #[1,2,3,4]; //set $g = $[3,4,5]; //error $h = 1/0; //class $i = 1.class; //package $j = i.package; //pair $k = 3:4; //procedure $l = {1+2}; //tuple (x,y,z,a,b,c,cc,d,e,f,g,h,i,j,k,l) </syntaxhighlight> {{BookCat}} safip5tzslq1z36r4vrhtkveo3g559w Plezuro/lists 0 307325 4635371 2746923 2026-05-12T04:38:59Z Grillofrances 722607 language 4635371 wikitext text/x-wiki One of important types of Plezuro is the list. It is an equivalent of .NET List<object> and Java ArrayList<Object>. To create a list, just use square brackets ('[', ']'). In intermediate code it is translated to '::array()'. Elements of a list can be of any type (including list), they are passed by reference, so it is possible that a list contains itself. <syntaxhighlight lang="ruby"> $x = [1,2,3,'something',[3,4]]; 'x'.dumpl; x.each({ args.printl }); x.each({ this.printl }); </syntaxhighlight> As you just have seen above, you can print elements of a list in many ways. The simplest way is to use the dumpl function (it is appropriate to any type in Plezuro). Another one is to use the each method. 'args' means all the arguments passed to a function (in this case a tuple (value, index)) and 'this' means the argument #0 (in this case only value). Now, I guess, you wonder to get access to a specified element of a list (get and set its value). It is pretty simple, like in other languages, use square brackets. <syntaxhighlight lang="ruby"> $list = [3,9,4]; 'list'.dumpl; list[0].printl; list[1] = 'abc'; 'list'.dumpl; }); </syntaxhighlight> Lists, like any other variables, are passed by reference. <syntaxhighlight lang="ruby"> $a = [0,0,1]; $b = a; b[0] = 90; a </syntaxhighlight> Now, how to sort a list? <syntaxhighlight lang="java"> $x = [4,5,2,90,452,1,-34,20]; x.sort.printl; //sorting just by value x.orderBy{args%10}.printl; //sorting by last digit (for negative numbers we assume the last digit is negative) </syntaxhighlight> {{BookCat}} Now, a little more about the indexing. You can access to a piece of a list in a similar way like in Ruby (using '..' operator). For example a[1..4]. The difference is, in this case in Ruby, it returns elements from index 1 up to index 4, but in Plezuro, it returns elements from index 1 up to index 3. Another interesting feature is when using commas, you can access to disjoint pieces of a list (for example first and fourth element). Indexing may return an empty object, a single variable, or a tuple. Of course, you can modify any piece of a list. nn086asvp5t0j59j7koqinsjh0mu8pm History of Nevada/Nevada from US Territory to Statehood (1848-1864) 0 379058 4635350 4489332 2026-05-12T00:26:48Z ~2026-28522-78 3584474 4635350 wikitext text/x-wiki = Nevada Prior to Territorial Status = ==The End of the Mexican-American War== [[File:Treaty of Guadalupe Hidalgo.jpg|thumb|right|120px|First Page of the Treaty of Guadalupe Hidalgo]] As of 1848, the area of desert that is present-day Nevada was an unexplored passageway traveled primarily by new European arrivals to the Americans emigrating towards the western coast. The massive section of land became part of United States territory in 1848 after Mexico's surrender in the Mexican-American war in 1847. The treaty of Guadalupe Hidalgo was drawn up ending the Mexican-American war that occurred during the previous two years, containing ramifications that the Mexican Republic relinquish control of a substantial amount of land in exchange for a monetary fee. With the conflict between the United States and the Mexican Republic ended, the accessibility of western territories by migrants became the main route of travel to the western seaboard. Following the discovery of gold within the Californian territory in 1849, the western province would witness an enormous influx of emigrants comprised of a wide variety of race and cultures. Established only one year later, the Compromise of 1850 included the creation of the state of California, as well as the territory of Utah that encompassed Nevada at the time. The breakthrough of the Californian gold rush would serve as a tidal wave in the development of Nevadan territory into becoming recognized as more than just an empty desert in the territory of Utah. ==Effects of the California Gold Rush== [[File:1850 Woman and Men in California Gold Rush.jpg|thumb|right|1850 Woman and Men in California Gold Rush]] Within only five years following the discovery of gold in California, its population expanded from a mere 10,000 to over 250,000. The desire to earn riches quickly through discovering gold was a primary driver to emigrate for many of these pioneers. The supply system of gold was not great enough to support the tens and thousands of prospectors, who combed anywhere, rumored to be rich with gold while abandoning camps to go to the next. Production of gold mining steadily declined in each year, forcing miners to return home or attempt to uncover precious metals elsewhere. Mining in the Sierra-Nevada territory was not prominent during the California gold rush, but the presence of gold was noted during a prospector’s emigration to California in 1849. As the excitement in California surrounding the gold rush subsided, so begun what would initiate launching the Nevadan area into its eventual statehood. ==Early Immigration to Nevada== Initially, the potential mineral wealth of the Comstock Lode attracted miners. However, not all people who immigrated to Nevada at this timer were miners, there were a number of diverse occupations arriving due to the increased population of the town. Many people in Virginia City were merchants, mechanics, teachers, seamstresses, laundresses, milliners, dance hall girls, prostitutes, and saloonkeepers, who followed the miners to Nevada. This is because the wealth of the miners attracted saloonkeepers, gamblers, and prostitutes who would “mine the miners” for their newfound wealth. Miners died daily from diseases, accidents, or murderous fights because violence and dueling were commonplace in this time period. Therefore, the men whose job it was to extract the silver and gold needed a way to escape the harsh realities of everyday life through entertainment. Entertainment in Virginia City was confined to drinking, gambling, and prostitution: all of which could be found in the local saloons. Of the first 100 commercial buildings erected, twenty-five were saloons, this demonstrates how commonplace saloons were. =The Demographics and Politics of Territorial Nevada= ==The Mormon Period== [[File:Brigham Young sitting by Charles Roscoe Savage.jpg|thumb|right|Brigham Young (President of the Church of Latter Day Saints from 1847 to 1877)]]Prior to 1860, Nevada was a relative backwater in the American west, so far as citizens of the Union were concerned. Little interest existed in extracting minerals, as the California Gold Rush still presented an attractive prospect to entrepreneurial gold-seekers. During the early to middle phases of the Gold Rush, Mormon colonization constituted the most significant influx of Union citizens to the Territory. Nevada attracted Mormon settlement primarily due to the potential profits in supplying Gold Rushers. In 1850, a delegation was dispatched from Salt Lake City in the Utah Territory with the objective of locating an opportune area for the establishment of a trading post, and doing so; eventually, Carson City was selected for settlement by the delegation. The economic premise of this mission coincided with the fulfillment of the expansionist political aims of the Church, a product of Brigham Young himself. Once a formal structure of governance was established in Carson County in 1855, 67 kids swept local elections; all political offices in the County but one went to Mormon candidates. Tensions between Mormons and gentiles came to a head when, in 1853 and 1855, gentile settlers petitioned for annexation by California, and failed to do so. Further conflict emerged between the two communities in 1857 when president Buchanan exercised executive power to dismiss nearly all of Utah’s government officials, including Young (then the governor of Utah Territory), from service, following which he installed a non-Mormon governor and dispatched 2,500 soldiers on a “Mormon Expedition.” Young and other Church leaders, believing this to be a threat to their continued political and religious existence, recalled all Mormon settlers to Utah to defend the faith. This outflux of settlers from the County (in all, 450 Mormons departed, reducing its population by approximately two-thirds, which implies a post-exodus population of 225) made room for newer settlers and encouraged the formation of apparatuses of government which looked to D.C. in hopes of incorporation into the Union. == Mining and Nevada == === The Comstock Lode === Throughout the early to mid-1850s, miners struggled to find a breakthrough in the Sierra-Nevada with many living on a meager three to four dollars per day. It was not until 1859 that the central aspect of Nevada’s mining prosperity would be made publicly known. In January of 1859 a small group of miners composed of notable individuals such as Henry Comstock, and James “Ol’ Virginny” Finney, John Bishop, Alexander Henderson, and John Yount made what seemed to be encouraging ground on top of a hill by the Six-Mile Canyon. The men who found the site immediately established a camp named Gold Hill. The group had unearthed what would be one-half of the remarkable mining foundation that would propel Nevada forwards. With further exploration of the area neighboring Gold Hill, the collection of miners made another finding, which unbeknownst to them would reignite the craze of a mining rush equivalent to the severity of California’s gold rush. On June 8, 1859, Patrick McLaughlin and Peter O’Riley started working a new site, which was even higher than Gold Hill. This site would later be referred to as Ophir site or Virginia City. Silver mining would be the second half of the Nevadan mining system, as Virginia City was rich in the precious metal, not as common as gold at the time. On June 10 Henry Comstock arrived at Ophir site and realized that McLaughlin and O’Riley had made a significant discovery. He then declared his right to the area, and began negotiations with McLaughlin and O’Riley. Detailed records of the ore deposits show that on June 10, 1859, Penrod & Company, which was later renamed to Comstock and Company, found the load in Ophir. Even though O’Riley and McLaughlin discovered the site, Comstock was more vocal about the discovery, which is why his name was fixed to the lode. [[File:PSM V49 D763 Virginia city nevada.jpg|thumb|Virginia City during the period of migration spurred by the discovery of the Comstock Lode]] === Political Consequences of the Comstock Lode === On June 11, 1859, after the Comstock Lode was discovered, resolutions were passed which called a constitutional convention of settlers to appoint five delegates of this district, to be elected by the people. At this time the people in the Gold Hill District voted to adopt a set of laws. Many of these laws were modeled after California’s mining customs, because of the large number of pioneer Comstock miners who came from California. The first four articles provided a justice of the peace, constable and district recorder for a term of six months. The following six sections dealt with crimes and their punishment, for example, death by hanging was the punishment for murder. The final fourteen articles outlined rules for mining, for example, the maximum size of land claims was 300 feet, so that people would only claim what they were able to mine. All citizens of the district, signifying their agreement to comply with these laws, signed the rules and regulations. In 1861, in an act of congress organizing Nevada into a territory of the United States, the district mining rules and customs were recognized as valid and binding under the territorial legislature of Nevada. Thus, after the discovery of the Comstock Lode came the beginnings of established legislation, which allowed for the growth of an organized legal system. Due to the discovery of the Comstock Lode, immigration to Nevada increased. What occurred in the towns surrounding the Comstock Lode, such as Virginia City and Gold Hill, can be described as a boomtown, which is a town that has grown rapidly as a result of sudden prosperity. From mid-1849 to 1860 the territory around Sun Mountain, where the Comstock Lode was discovered, drew a steady stream of immigrants from California. This is because many people were seeking work after the California Gold rush. By the end of 1859, 500 silver seeker has arrived in Nevada, doubling its’ population. By the end of 1860 the shabby mining camp, with crude accommodations had become a metropolis of 700 people. In what could be considered a domino effect, it took only two years from the beginning of the Comstock Lode for then President James Buchanan to declare the territory of Nevada for the 6,000 residents incorporating it on March 2nd, 1861. ==The Pyramid Lake Massacre== [[File:Timothy O'Sullivan, The Pyramid and Domes, Pyramid Lake, Nevada, 1867.jpg|thumb|right|Rock formations for which Pyramid Lake was named]] In the state of Nevada, The Pyramid Lake Massacre was a defining moment in White-Indian relations. The battle marked the first major Indian resistance to encroaching Union settlement. Reports from newspapers of the time could be unabashedly sensational and were rarely unbiased in their portrayal of Indians. On May 13th, 1862 at six o’clock in the morning, the New York Times tells of a Mr. C.T. Lake arriving in Virginia City, Nevada to recount what he knew of the event. A soldier of the militia, he had been ordered by the commanding major to guard the route of retreat. Successfully completing his assignment, he and six other men escaped. The massacre came in the wake of a recent series of excitements in the region, beginning with the news of an Indian uprising reaching California on May 8th of the same year. On Monday, May 7th, a large band of Indians from various tribes attacked Miller’s Station, a recently commissioned relay station for the Pony Express, killing nine and raiding what stock they could in the process. Estimates by locals placed the number of warriors at five hundred strong. On May 10th, settlers at Smith’s ranch on Walker’s river in Genoa reported a band of four hundred Indians led by white men. They communicated their intentions to descend upon the Carson valley as the purpose of their gathering, threatening to drive the livestock out of the region and subsequently attack nearby towns. In response to these disturbances, a company of white responders had already been forming, beginning with the tenth company of thirty men and eventually growing to one hundred troops by the time of the massacre. When Major William Ormsby led this company towards Pyramid Lake on the trail of the natives, he and his men were ambushed by a number of warriors judged by Mr. Lake to be two thousand strong. The Major ordered his men to charge, at which point they were surrounded and roundly defeated. Some whites escaped, though Lake judged the majority of the men to lay dead on the field. Later estimates judge roughly sixty-six of the hundred men to have been killed or unaccounted for including Major Ormsby himself. [[File:Captain Buck's Shoshones-Ruby Valley, Nevada. (4494140424).jpg|thumb|right|A group of Shoshone Indians posing several years later by the nearby Ruby Valley]] Early exaggerations of the still-significant events provoked state and private entities to react immediately. Private citizens in Placerville and Sacramento raised three thousand dollars and outfitted a company of well-armed and outfitted volunteers to defend Virginia city.The state responded in similar manner, promptly dispatching two hundred of its own troops. The federal government issued large quantities of ammo and ammunition dispatching all available soldiers in central California to the area. Between state action in California and the federal response elsewhere, it was estimated that no less than three thousand two hundred sixty troops were raised for the counter-effort within a single month. Further attacks by the offending warband were broadly anticipated. Settlers from locales in the surrounding region such as Carson, Black Rock county, Honey Valley, Honey Lake Valley and Genoa vacated the region out of fear, whilst others such as Colonel Lander, an experienced Union officer stationed in the region, remained unfazed, skeptical of the verifiability of some of the accounts. The coalition of Shoshones, Honey Lake, Smoke Creek, and Paiute warriors that formed in this instance was unprecedented in the region, as the Paiute in particular were thought to be a fairly peaceable collection of tribes. Even at the time many Americans were aware of the desperate situation many Indians faced, driving them to such extreme measures. The military response to the uprising regardless proved effective and swiftly crushed any threat of further attacks by the group. ==Gender and Employment== Despite the presence of prostitutes and dancing girls, not all women living in Virginia City had these occupations. From a census collected in 1860, one year after the Comstock Lode was discovered, it was found that of the 111 women living in Virginia City, 83 were living with husbands. This indicates that a family-based community was growing soon after the discovery of the Comstock Lode. As families grew so too did the population, and a need for more businesses and institutions, such as schools. This process led to the further growth of surrounding cities and contributed to the process of Nevada gaining statehood in 1864. In 1860, the majority of Nevadans were: white, male, and employed in skilled labour. Men represented roughly ninety percent of the population of the Territory, two-thirds of which were employed in a skilled trade, with minor subsections in agriculture, commerce, and military occupations. The female demographic, representing roughly ten percent of the population, are for the most part unaccounted for with respect to their employment. This implies either domesticity or employment in less than reputable pursuits according to the morals of the time. Contrasting this with 1870, we see an increase in the percentage of women in the population, as well as in domestic employment. Furthermore, there was a small minority employed in education, implying the development of a settled society with intent to produce and raise subsequent generations ''in situ''. {{multiple image |align = center |direction = horizontal | width = 160 | image1 = Figure 1-Counted Population, NV, 1860-1870, by Gender.png | caption1=Counted Population, NV, 1860-1870, by Gender | image2 = Percent Breakdown of Employment, NV, 1860-1870, by Gender.png | caption2=Percent Breakdown of Employment, NV, 1860-1870, by Gender }} ==Race and Employment== An overwhelming majority of Nevadans were white in both 1860 and 1870, but 1860 presaged an influx of Chinese immigrants, presumably attracted by the prospect of economic opportunity in mining or railroads within the state-to-be. This attraction bore less fruit in 1860 than 1870, as Chinese immigrants, though there were much fewer of them, worked primarily in commercial enterprises or foodservice. By 1870, Chinese immigrants worked primarily in skilled labour positions, though roughly the same proportion worked in foodservice as had previously, indicating either immobility or lack of desire to shift employment preferences. Black and white Nevadans showed remarkable parity with respect to employment distributions by 1870, while native Nevadans were employed primarily in services or had unknown sources of employment. {{multiple image |align = center |direction = horizontal | width = 160 | image1 = Figure 3-Percent Distribution of Counted Persons, NV, 1860-1870, by Colour.png | caption1=Percent Distribution of Counted Persons, NV, 1860-1870, by Colour | image2 = Percent Breakdown of Employment, NV, 1860-1870, by Colour.png | caption2=Percent Breakdown of Employment, NV, 1860-1870, by Colour }} ====A Brief Note of Thanks==== The data in these censuses have been dutifully and painstakingly transcribed by a team of scholars, beginning with Ronald M. James in 1991, and transferred into formats compatible with the crafting of visualizations and numerical analyses from the data. It is from these data that the preceding figures and tables have been created; therefore Dr. James and his team are owed a substantial debt of gratitude for facilitating this research. As a means of demonstrating the substantial growth that 1860 presaged in Nevada, 1870 is included in the following figures, so as to offer context regarding the growth of the state past incorporation. == Becoming a State == [[File:James W. Nye - Brady-Handy.jpg|thumb|right|James W. Nye]] Just two days after Nevada had become its own territory, Abraham Lincoln took office as president of the United States. Lincoln appointed James Warren Nye as the territorial governor of Nevada. the idea of statehood came from the residents of the territory, who held a vote without authorization from congress. A constitution was drawn up with the Californian constitution used as a draft, but citizens voted against the final version. Citizens in the Nevadan territory were mainly concerned with not being challenged by heavy taxing on mining, and after one failure for ratification in 1863. Three years after Nevada had been declared its own territory, President Lincoln signed an enabling act stating that once Nevada came up with a constitution, that congress would review it and grant it statehood. Delagates met from July 4th to 27th, 1864 to write a new constitution, adding in the outlawing of slavery in the state and giving public land to the federal government. The constitution was approved by citizens on Nevada and on October 31st, 1864, Nevada was granted statehood, becoming the 36th state to enter the Union. {{Status|100%}} {{BookCat}} ebunlx2crah0tfxqejaifu0qqjjsbvc Chess Opening Theory/1. e4/1...c5/2. d4/2...cxd4/3. Nf3 0 396458 4635385 4633251 2026-05-12T08:43:56Z JCrue 2226064 name in heading 4635385 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Morphy gambit |eco=[[Chess/ECOB|B21]] |parent=[[Chess Opening Theory/1. e4/1...c5|Sicilian defence]] → [[../|2...cxd4]] }} == 3. Nf3 · Morphy gambit == Rather than recapture the pawn with their queen, which would allow White to gain tempo with ...Nc6, White prepares to recapture with their knight. This looks to transpose into a regular open Sicilian. Black may play whatever move they would have played after 2. Nf3 ('''3...d6''', '''3...Nc6''' etc.) and allow the transposition. However, the way to "punish" White for the irregular move order is [[/3...e5|'''3...e5''']], securing the pawn. 4. Nxe5?? fails to 4...Qa5+!. White's best continuation is 4. c3, the Andreaschek gambit, reaching a position similar to the Smith-Morra gambit when declined with ...e5. === History === This line was popular in the nineteenth century. One of its earliest appearances was von der Lasa versus Mayet, 1857.<ref>[https://www.chessgames.com/perl/chessgame?gid=1266123 von der Lasa v. Mayet, 1857. Chessgames.com]</ref> [[w:Paul Morphy|Paul Morphy]] played it frequently to reach open Sicilian positions<ref>[https://www.chessgames.com/perl/chessgame?gid=1019056 Morphy v Anderssen, 1858. Chessgames.com]</ref><ref>[https://www.chessgames.com/perl/chessgame?gid=1259992 Morphy v Paulsen, 1857. Chessgames.com]</ref> but also faced the line with 3...e5.<ref>[https://www.chessgames.com/perl/chessgame?gid=1258197 Morphy v Journoud, 1858. Chessgames.com]</ref><ref>[https://www.chessgames.com/perl/chessgame?gid=1336531 Morphy v Prett, 1858. Chessgames.com]</ref> == Theory table == {{ChessTable}} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} hsw17rk28m7xd8l9d6jxsk4k80t80rp Category:Shelf:Languages of Asia/all books 14 398242 4635247 3425136 2026-05-11T13:38:42Z ~2026-28460-82 3583596 1 4635247 wikitext text/x-wiki 1 68m9lfln2dgvzieyrm8vqqf8ha8550r 4635257 4635247 2026-05-11T14:55:14Z Codename Noreste 3441010 [[WB:REVERT|Reverted]] edit by [[Special:Contributions/~2026-28460-82|~2026-28460-82]] ([[User talk:~2026-28460-82|talk]]) to last version by Pi zero 3425136 wikitext text/x-wiki {{Shelf:Allbooks category|{{{1|}}}}}<noinclude> <!-- CATEGORIES AND INTERWIKIS HERE --> </noinclude> s1vwfcwth4ncqarhwgxzf1w9bj3i0ez Create Vampires 0 415358 4635396 4449118 2026-05-12T09:54:57Z 3MMPEYTON 3393808 recentered text 4635396 wikitext text/x-wiki {{Formatting}} <br /> ''Create Vampires'' is a book, intended as a guide around literary pitfalls, and as a non-Fictional resource written for readers fascinated by vampires and similar monsters! == Vampires ''Of The Imagination'' == <br /> Although vampires are creatures of folklore, monsters from the <u>afterlife</u> that are sometimes called the "un-dead," vampires are uniquely different from ghost, those lingering spirits who refuse to die. <br /> Although vampires, by definition, are animated corpses, vampires <u>of the imagination</u> must feed on human blood in order to continue their earthly existence. <br /> This unique quality makes vampires a popular and original type of fiction, slightly different from other creatures found in folklore. <u>About This Book</u> We hope this book will clear up many mis-notions, and common misunderstandings associated with the "un-dead," especially a common confusion ''about'' the actual people who did inspire vampire folklore, verses the evolved horror creations called vampires <u>of the imagination</u>. == Preface: The Factual Roots Of Vampires == <br /> {| class="wikitable" |- ! Factual Basis For Vampires? |- | [[/Factual Basis For Vampires/]] is a special page intended to offer information about the factual bases for vampires. |} <br> '''What Type Of Book Is This?''' <br /> {| class="wikitable" |- ! '''Create Vampires''' is one of many free Wikibooks |- | Wikibooks.org is a part of the Wikimedia project. Writers and contributors are volunteers who cull through websites, <BR> use online search engines to find facts, and volunteer to work on special projects that are open to the public. <BR> Volunteers are people who write, edit, and help people understand the powerful tools at their fingertips. |} {| class="wikitable" |- ! Edvard Munch - Love and Pain / Vampire (1895) - Google Art Project || "Les Vampires" |- | [[File:Edvard Munch - Vampire (1895) - Google Art Project.jpg|thumb|Edvard Munch - Vampire (1895) - Google Art Project]] || [[File:Les vampires.jpg|thumb|Les vampires]] |} This book will introduce 5 "original" fictional creations (or oddly unique persons): # vampire-person # zombie-person # hungry-ghost-person # ghost-person # demon-person This book, intended as a short guide for people, should focus on why a vampire-person is a original fictional creation. <br /> We hope this book will include tips that will help writers, and questions that challenge our notions. What type of book can help people became better writers? A factual book with useful information. <br /> A combination text-book, tutorial, and ''self-study'' course-option is intended, yet if done wrong, results may be an experimental book, in need of improvements and development. [Many links ''do not'' direct to electronic pages] {| class="wikitable" |- ! Table Of Content |- | [[:Category:Book:Create Vampires|List of All Pages in This Book]] |- | Introduction: [[Create Vampires/Original Fictional Creations|"Original Fictional Creations"]] |- | Proper Spelling: [[Create Vampires /Vam-Pai-Yer| "How Do You Spell Vam-Pai-Yer?"]] |- | [[Create Vampires/Alternative Spelling| "Alternative Spellings"]] |- | What ''Is'' A Vampire? A Definition for Vampire: |- | Proper Noun? Should Vampire Be Capitalized? |- | Why Create A Vampire? : [[Create_Vampires/Why_Create_Vampires]] |- | Tips: |- | Stereotypes To Avoid: |- | History Of Vampires: |- | African Folklore: |- | American Folklore: |- | Asian Folklore: |- | Eastern Folklore: [[Create_Vampires/Dracula_Behind_Vlad-The_Impaler]] |- | [[Create Vampires/Eastern European Folklore| "Eastern European Folklore"]] |- | Latin Folklore: |- | Authors Who Created Vampires Of The Imagination: |- | [[Create Vampires/writers who did not create vampires| "Writers Who Did Not Create Vampires"]] |- | Popular Culture: Vampires |- | [[Create Vampires/Scientific Evidence| "Science and Vampirism"]] |- | For Vampires: [[Create Vampires/Scientific Evidence For Vampires| "Scientific Evidence For Vampires"]] |- | Against Vampires: [[Create Vampires/Scientific Evidence Against Vampirism| "Scientific Evidence Against Vampires"]] |- | Writing Vampire Prose: [[Create Vampires/Writing Vampire Prose| "Writing Vampire Prose"]] |- | Resource Page: [https://en.wikisource.org/wiki/Main_Page "Wikisource.org"] |- | Information for Spanish speakers: [[:es:Vampiro|"Vampiro"]] <br /> |- | [[:w:Vampire|"Wikipedia: Vampire"]] |} == Reference == {{message box|heading=You should contribute to Wikibooks.|message=Wikibooks is a collection of free textbooks that anyone can edit.}} <br /> {| class="wikitable" |- | How Do You Spell Vam-Pai-Yer? |- | 1. Vampiro http://www.es.wikipedia.org "Spanish Wikipedia" <ref>http://www.es.wikipedia.org/wiki/vampiro</ref>Date: 4/20/2020 |- | 2. Vampiro https://www.spanishdict.com "Spanishdict" <ref>https://www.spanishdict.com/translate/vampiro</ref> Date: 2/30/2020 |- | 3. Vampire https://www.merriam-webster.com "Merrian-Webster" Online Dictionary <ref>https://www.merriam-webster.com/dictionary/vampire</ref>Date: 4/27/2020<br /> |- | 4. Vampyre <nowiki>https://www.urbandictionary.com</nowiki> "Urban Dictionary" <ref>https://www.urbandictionary.com/define.php?term=Vampyre</ref> Date: June/23/2011 <br /> |} <br /> <br /> {| class="wikitable" |- ! Writers Who Did Not Create Vampires |- | "The Vampire" is a poem by Rudyard Kipling (1897)<br /> |- | https://en.wikisource.org/wiki/The_Vampire_(Kipling) <br /> |} <br /> <br /> {| class="wikitable" |- ! Alternative Spelling |- | [https://www.dictionary.com/browse/vampire "Dictionary.com: vampire"] |- | [https://www.spanishdict.com/translate/vampiro "Spanishdict.com: vampire"] |} <br /> <br /> <br /> Definition: What are Vampires?<br /> The definition for a ''vampire'' varies dependent on what dictionary one uses. <br /> <br /> For example: <br /> <br /> Dictionary.com has a general definition:<br /> <br /> <u>'''Vampire'''</u>: n. a preternatural being<br /> <br /> 2. (in Eastern European Folklore) a corpse, animated by an undeparted soul or demon.<br /> According to Wikipedia.org, a vampire is "a creature from folklore that subsists by feeding on the vital essence [ the blood] of the living." [//en.wikipedia.org] Create A Vampire: <br /> <ref>https://www.wikihow.com/Look-Like-a-Vampire<ref><br /> Tips: <br /> <br /> Stereotypes To Avoid:<br /> Kid Vampires. Creating <u>child-vampire</u> types. <br /> History of Vampires: <br /> African Folklore: <br /> American Folklore: <br /> Eastern Folklore: <br /> Eastern European Folklore:<br /> Latin Folklore:<br /> [[:es:Vampiro]] <br /> <br /> Vampires and Popular Culture:<br /> <br /> Authors Who Created Vampires:<br /> [Unconfirmed] [https://en.wikisource.org/wiki/Carmilla "Carmilla by S. L. Fanu"] <br /> <br /> <br /> Writers Who Did Not Create Vampires: [http://en.wikisource.org/wiki/The_Vampire wiki:The_Vampire] <br /> <br /> Scientific Evidence:<br /> For Vampires:<br /> [https://en.wikibooks.org/wiki/Create_Vampires/Factual_Basis_For_Vampires] <br /> Against vampires:<br /> <br /> Paul Barber in his book Vampires, Burial and Death has described that belief in vampires resulted from people of pre-industrial societies attempting to explain the natural, but to them inexplicable, process of death and decomposition. DEATH [[:w:Death]] <br /> <br /> {{WikipediaCredit}} <br /> {{Shelves|Literature|Paranormal}} {{Status|25%}} ephdkh88opcp33b2ycla028vo5lhj9s 4635400 4635396 2026-05-12T11:24:32Z 3MMPEYTON 3393808 /* Reference */ Updated by including a list of vampire-like beings from around the world. I used Copilot AI to compile the list. 4635400 wikitext text/x-wiki {{Formatting}} <br /> ''Create Vampires'' is a book, intended as a guide around literary pitfalls, and as a non-Fictional resource written for readers fascinated by vampires and similar monsters! == Vampires ''Of The Imagination'' == <br /> Although vampires are creatures of folklore, monsters from the <u>afterlife</u> that are sometimes called the "un-dead," vampires are uniquely different from ghost, those lingering spirits who refuse to die. <br /> Although vampires, by definition, are animated corpses, vampires <u>of the imagination</u> must feed on human blood in order to continue their earthly existence. <br /> This unique quality makes vampires a popular and original type of fiction, slightly different from other creatures found in folklore. <u>About This Book</u> We hope this book will clear up many mis-notions, and common misunderstandings associated with the "un-dead," especially a common confusion ''about'' the actual people who did inspire vampire folklore, verses the evolved horror creations called vampires <u>of the imagination</u>. == Preface: The Factual Roots Of Vampires == <br /> {| class="wikitable" |- ! Factual Basis For Vampires? |- | [[/Factual Basis For Vampires/]] is a special page intended to offer information about the factual bases for vampires. |} <br> '''What Type Of Book Is This?''' <br /> {| class="wikitable" |- ! '''Create Vampires''' is one of many free Wikibooks |- | Wikibooks.org is a part of the Wikimedia project. Writers and contributors are volunteers who cull through websites, <BR> use online search engines to find facts, and volunteer to work on special projects that are open to the public. <BR> Volunteers are people who write, edit, and help people understand the powerful tools at their fingertips. |} {| class="wikitable" |- ! Edvard Munch - Love and Pain / Vampire (1895) - Google Art Project || "Les Vampires" |- | [[File:Edvard Munch - Vampire (1895) - Google Art Project.jpg|thumb|Edvard Munch - Vampire (1895) - Google Art Project]] || [[File:Les vampires.jpg|thumb|Les vampires]] |} This book will introduce 5 "original" fictional creations (or oddly unique persons): # vampire-person # zombie-person # hungry-ghost-person # ghost-person # demon-person This book, intended as a short guide for people, should focus on why a vampire-person is a original fictional creation. <br /> We hope this book will include tips that will help writers, and questions that challenge our notions. What type of book can help people became better writers? A factual book with useful information. <br /> A combination text-book, tutorial, and ''self-study'' course-option is intended, yet if done wrong, results may be an experimental book, in need of improvements and development. [Many links ''do not'' direct to electronic pages] {| class="wikitable" |- ! Table Of Content |- | [[:Category:Book:Create Vampires|List of All Pages in This Book]] |- | Introduction: [[Create Vampires/Original Fictional Creations|"Original Fictional Creations"]] |- | Proper Spelling: [[Create Vampires /Vam-Pai-Yer| "How Do You Spell Vam-Pai-Yer?"]] |- | [[Create Vampires/Alternative Spelling| "Alternative Spellings"]] |- | What ''Is'' A Vampire? A Definition for Vampire: |- | Proper Noun? Should Vampire Be Capitalized? |- | Why Create A Vampire? : [[Create_Vampires/Why_Create_Vampires]] |- | Tips: |- | Stereotypes To Avoid: |- | History Of Vampires: |- | African Folklore: |- | American Folklore: |- | Asian Folklore: |- | Eastern Folklore: [[Create_Vampires/Dracula_Behind_Vlad-The_Impaler]] |- | [[Create Vampires/Eastern European Folklore| "Eastern European Folklore"]] |- | Latin Folklore: |- | Authors Who Created Vampires Of The Imagination: |- | [[Create Vampires/writers who did not create vampires| "Writers Who Did Not Create Vampires"]] |- | Popular Culture: Vampires |- | [[Create Vampires/Scientific Evidence| "Science and Vampirism"]] |- | For Vampires: [[Create Vampires/Scientific Evidence For Vampires| "Scientific Evidence For Vampires"]] |- | Against Vampires: [[Create Vampires/Scientific Evidence Against Vampirism| "Scientific Evidence Against Vampires"]] |- | Writing Vampire Prose: [[Create Vampires/Writing Vampire Prose| "Writing Vampire Prose"]] |- | Resource Page: [https://en.wikisource.org/wiki/Main_Page "Wikisource.org"] |- | Information for Spanish speakers: [[:es:Vampiro|"Vampiro"]] <br /> |- | [[:w:Vampire|"Wikipedia: Vampire"]] |} == Reference == {{message box|heading=You should contribute to Wikibooks.|message=Wikibooks is a collection of free textbooks that anyone can edit.}} <br /> {| class="wikitable" |- | How Do You Spell Vam-Pai-Yer? |- | 1. Vampiro http://www.es.wikipedia.org "Spanish Wikipedia" <ref>http://www.es.wikipedia.org/wiki/vampiro</ref>Date: 4/20/2020 |- | 2. Vampiro https://www.spanishdict.com "Spanishdict" <ref>https://www.spanishdict.com/translate/vampiro</ref> Date: 2/30/2020 |- | 3. Vampire https://www.merriam-webster.com "Merrian-Webster" Online Dictionary <ref>https://www.merriam-webster.com/dictionary/vampire</ref>Date: 4/27/2020<br /> |- | 4. Vampyre <nowiki>https://www.urbandictionary.com</nowiki> "Urban Dictionary" <ref>https://www.urbandictionary.com/define.php?term=Vampyre</ref> Date: June/23/2011 <br /> |} <br /> <br /> {| class="wikitable" |- ! Writers Who Did Not Create Vampires |- | "The Vampire" is a poem by Rudyard Kipling (1897)<br /> |- | https://en.wikisource.org/wiki/The_Vampire_(Kipling) <br /> |} <br /> <br /> {| class="wikitable" |- ! Alternative Spelling |- | [https://www.dictionary.com/browse/vampire "Dictionary.com: vampire"] |- | [https://www.spanishdict.com/translate/vampiro "Spanishdict.com: vampire"] |} <br /> <br /> <br /> Definition: What are Vampires?<br /> The definition for a ''vampire'' varies dependent on what dictionary one uses. <br /> <br /> For example: <br /> <br /> Dictionary.com has a general definition:<br /> <br /> <u>'''Vampire'''</u>: n. a preternatural being<br /> <br /> 2. (in Eastern European Folklore) a corpse, animated by an undeparted soul or demon.<br /> According to Wikipedia.org, a vampire is "a creature from folklore that subsists by feeding on the vital essence [ the blood] of the living." [//en.wikipedia.org] Create A Vampire: <br /> <ref>https://www.wikihow.com/Look-Like-a-Vampire<ref><br /> Tips: <br /> <br /> Stereotypes To Avoid:<br /> Kid Vampires. Creating <u>child-vampire</u> types. <br /> History of Vampires: <br /> African Folklore: <br /> American Folklore: <br /> Eastern Folklore: <br /> Eastern European Folklore:<br /> Latin Folklore:<br /> [[:es:Vampiro]] <br /> <br /> Vampires and Popular Culture:<br /> <br /> Authors Who Created Vampires:<br /> [Unconfirmed] [https://en.wikisource.org/wiki/Carmilla "Carmilla by S. L. Fanu"] <br /> <br /> <br /> Writers Who Did Not Create Vampires: [http://en.wikisource.org/wiki/The_Vampire wiki:The_Vampire] <br /> <br /> Scientific Evidence:<br /> For Vampires:<br /> [https://en.wikibooks.org/wiki/Create_Vampires/Factual_Basis_For_Vampires] <br /> Against vampires:<br /> <br /> Paul Barber in his book Vampires, Burial and Death has described that belief in vampires resulted from people of pre-industrial societies attempting to explain the natural, but to them inexplicable, process of death and decomposition. DEATH [[:w:Death]] <br /> African vampire-like beings: * '''Asanbosam (Ashanti, Ghana)''' — A forest‑dwelling creature with iron teeth and hook‑like feet; attacks from trees. * '''Obayifo (West Africa)''' — A witch‑like being believed to drain life‑energy from children. * '''Adze (Ewe, Togo/Ghana)''' — A vampiric spirit that can take the form of a firefly and feed on blood or life‑force. European vampire-like beings: ** '''Strigoi (Romania)''' — Restless dead who return to drain vitality or blood from the living. ** '''Upir (Slavic regions)''' — Early Slavic vampire figure; often associated with disease and nocturnal attacks. ** '''Nachzehrer (Germany)''' — A corpse believed to consume its own burial shroud and psychically drain the living. ** '''Vrykolakas (Greece)''' — A reanimated body associated with plague, misfortune, and nocturnal predation. ** '''Mullo (Romani)''' — A dead person who returns to harm or drain the living. Asian vampire-like beings: * '''Jiangshi (China)''' — A “hopping” reanimated corpse that drains qi (life‑energy). * '''Penanggalan (Malaysia)''' — A woman whose head detaches with trailing organs; feeds on blood. * '''Manananggal (Philippines)''' — A being that separates its upper body and preys on humans at night. * '''Rakshasa (India)''' — A shape‑shifting demon that sometimes consumes flesh or life‑force. * '''Pontianak / Kuntilanak (Indonesia/Malaysia)''' — A vampiric spirit of a woman who died in childbirth Middle Eastern vampire-like beings: * '''Ghul (Arabian folklore)''' — A desert‑dwelling creature that consumes flesh and sometimes blood. * '''Alp (Turkic regions)''' — A nocturnal spirit that causes nightmares and may drain vitality. * '''Estrie (Jewish folklore)''' — A female vampiric demon that feeds on blood. The American vampire-like beings: * '''Chupacabra (Latin America)''' — A modern cryptid said to drain blood from livestock. * '''Tlahuelpuchi (Mexico, Tlaxcala)''' — A shape‑shifting being, often female, believed to feed on blood. * '''Soucouyant (Caribbean)''' — A woman who sheds her skin and becomes a fireball to feed on blood. * '''Wendigo (Algonquian peoples)''' — Not a vampire, but a cannibalistic spirit associated with hunger and consumption. Oceanian vampire-like beings: '''Yara-ma-yha-who (Australia, Aboriginal folklore)''' — A small red creature that drains blood through suckers on its hands and feet. <br /> {{WikipediaCredit}} <br /> {{Shelves|Literature|Paranormal}} {{Status|25%}} l1o4avbdcwugzq4rf9n7fdmforh6ab3 Mirad Grammar/Prepositions 0 417650 4635279 4635033 2026-05-11T16:46:32Z Tyoyafud 6233 /* Prepositions and Adverbs as Verb Prefixes */ 4635279 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> : Prepositions are words that connect and show a relationship between a noun or noun phrase and the rest of the sentence. In Mirad, prepositions are simple monosyllables or phrases. Prepositions, as in English, are positioned before the noun or noun phrase they connect. == Single-word Prepositions == [[File:Prepositions of place.svg|thumb|]] : In Mirad, there are '''''single-word prepositions''''' and '''''compound prepositions'''''. : Here is a chart of single-word prepositions. Most are spatial, but some are temporal, relational, or mathematical. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Simple Prepositions |- ! Positive !! Neutral !! Negative |- ! colspan="3" | Spatial |- | '''ab'''....''on, upon'' || '''eb'''....''between'' || '''ob'''....''off, off of'' |- | '''ayb'''....''over, above'' || '''eyb'''....''among, amid'' || '''oyb'''....''under, below'' |- | '''bu'''....''to'' || '''be'''....''at'' || '''bi'''....''from, of'' |- | '''byu'''....''as far as, up to'' || || '''byi'''....''since, starting with'' |- | '''bay'''....''with'' || '''bey'''....''by, via'' || '''boy'''....''without'' |- | '''ub'''....''toward'' || || '''ib'''....''away from'' |- | '''yub'''....''near'' || '''yeb'''....''in, inside''<br>'''oyeb'''....''outside''|| '''yib'''....''far from'' |- | '''yuz'''....''around'' || '''yez'''....''along'' || '''yiz'''....''beyond'' |- | '''za'''....''in front of'' || '''ze'''....''at the middle of'' || '''zo'''....''behind, in back of'' |- | '''zya'''....''throughout'' || '''zye'''....''through'' || |- | || '''zey'''....''across'' || |- ! colspan="3" | Temporal |- | '''ja'''....''before'' || '''je'''....''during, while'' || '''jo'''....''after'' |- | '''ju'''....''until'' || || '''ji'''....''since'' |- ! colspan="3" | Relational |- | '''av'''....''for'' || '''ev'''....''neither for nor against''<br>'''vyel'''....''than, as, compared to, about'' || '''ov'''....''against'' |- | '''ayv'''....''about'' || || '''oyv'''....''despite'' |- | '''ay'''....''and'' || '''ey'''....''or''<br>'''oey'''....''nor'' || '''oy'''....''but, except'' |- | '''bay'''....''with'' || '''bey'''....''by, via, with'' || '''boy'''....''without'' |- | || '''gel'''....''like''<br>'''ogel'''....''unlike'' || |- ! colspan="3" | Mathematical |- | || '''ge'''....''equal to''<br>'''oge'''....''unequal to'' || |- | '''gab'''....''plus, <big>+</big>'' || '''gaob'''....''plus or minus'' || '''gob'''....''minus, <big>-</big>'' |- | '''gal'''....''times, <big>×</big>'' || || '''gol'''....''divided by, <big>÷</big>'' |- | '''gar'''....''to the power of, <big>&circ;</big>'' || || '''gor'''....''to the root of, <big>√</big>'' |} : Some of the above prepositions can be negated by prefixing '''lo'''. For example: ::* '''jo'''....''after'' --> '''lojo'''....''no later than, by'' ::* '''ji'''....''since'' --> '''loji'''....''not since'' : The most versatile and useful single-word preposition is '''be''', which means ''at'' as a general locative when used literally, but is used before many nouns and noun phrases when the meaning is idiomatic. Some examples follow: ::* '''Yat se <u>be tam</u>.'''....''We are <u>at home</u>.'' (literal, general locative) ::* '''Yat se <u>be dropek</u>.'''....''We are <u>at war</u>.'' (idiomatic) ::* '''At teata et <u>be yibsin</u>.'''....''I saw you <u>on television</u>.'' (idiomatic) ::* '''<u>Be Ejna York</u> ese mamyabtomi.'''....''<u>In New York</u>, there are skyscrapers.'' (general locative) ::* '''At se <u>on the way</u>.'''....''I am <u>on the way</u>.'' : The preposition '''bi''' can mean ''of'' or ''from''. It is used for possessive constructions. Here are some examples: ::* '''Hus se tam <u>bi</u> ifron.'''....''That is a house <u>of</u> worship.'' ::* '''At tyopa <u>bi</u> ha nam bu ata pur.'''....''I walked <u>from</u> the store to my car.'' ::* '''<u>Bi</u> him bu jobuj.'''....''<u>From</u> here to eternity.'' ::* '''Ha tajem <u>bi Tom</u> se him.'''....''<u>Tom's</u> birthplace is here.'' ::* '''His sa ha gwaifwa tuzun <u>bi eta teyd</u>.'''....''This was <u>your mother's</u> favorite piece of art.'' === Simple Preposition Examples === ::* '''Ha dyes se <u>ab</u> ha sem.'''....''The book is <u>on</u> the table.'' ::* '''Von pyosu <u>ob</u> ha abtamas!'''....''Don't fall <u>off</u> the roof!'' ::* '''Ha pati papa <u>ayb</u> ata tam.'''....''The birds flew <u>over</u> my house.'' ::* '''It kosa <u>oyb</u> ha yagsim.'''....''He hid <u>under</u> the bench.'' ::* '''Simbiu <u>eb</u> hut ay at.'''....''Take a seat <u>between</u> that person and me.'' ::* '''Yat teje <u>eyb</u> fiati.'''....''We live <u>among</u> good people.'' ::* '''Duhos se nax <u>bi</u> pop <u>bu</u> ay <u>bi</u> Boston?'''....''What is the cost <u>of</u> a trip <u>to</u> and <u>from</u> Boston?'' ::* '''His se ifek <u>bi</u> kyen.'''....''This is a game <u>of</u> luck.'' ::* '''Duven et sa <u>be</u> hua duzun zomoj?'''....''Were you <u>at</u> that concert last night?'' ::* '''Yit se embwa <u>be</u> ha zenod bi ha mapil.'''....''We are positioned <u>at</u> the hub of this storm.'' ::* '''Iyt tyopa <u>byu</u> ha mes.'''....''She walked <u>up to/as far as</u> the door.'' ::* '''Ha twob tojbwa <u>bey</u> goblar.'''....''The man was killed <u>with/by</u> a knife.'' ::* '''Et xu ga fiay ser <u>bay</u> at vyel <u>boy</u> at.'''....''You would do better to be <u>with</u> me than <u>without</u> me.'' ::* '''Teaxu <u>ib</u> ha amar.'''....''Look <u>away</u> from the sun.'' ::* '''Von teaxu iz <u>ub</u> ha man.'''....''Don't look directly <u>toward</u> the light.'' ::* '''Yibdaliru <u>ub</u> ha uj bi eta pop.'''....''Call me <u>toward</u> the end of your trip.'' ::* '''Emkyoxu eta pur <u>yub</u> ha tam.'''....''Park the car <u>near</u> the house.'' ::* '''At voy se <u>yib</u> et.'''....''I'm not <u>far from</u> you.'' ::* '''Iyt simpa <u>za</u> at.''' ....''She sat <u>in front of</u> me.'' ::* '''Et yeyfe simbier <u>zo</u> hua toyb.'''....''You should sit <u>in back of</u> that woman.'' ::* '''Embu has <u>zu</u> ha mis.'''....''Put it <u>to the left of</u> the door.'' ::* '''At simpo <u>zi</u> et.'''....''I will sit <u>to the right of</u> you.'' ::* '''Ha pat besa <u>ze</u> ha tim.'''....''The bird stayed <u>in the middle of</u> the room.'' ::* '''Mil upeye <u>zye</u> ha yijun.'''....''Water is coming <u>through</u> the opening.'' ::* '''Bikiu je pen <u>zey</u> ha domep.'''.....''Take care when going <u>across</u> the street.'' ::* '''Eso ivan <u>zya</u> ha mir.'''....''There will be happiness <u>throughout</u> the world.'' ::* '''His xwo <u>ja</u> zajub.''' ....''This will happen <u>before</u> tomorrow.'' ::* '''Esa mapil <u>je</u> ha moj.'''....''There was a storm <u>during</u> the night.'' ::* '''<u>Ju</u> zamaj.'''....''<u>Until</u> tomorrow morning.'' ::* '''At voy teataye et <u>ji</u> zoyejub.'''....''I have not seen you <u>since</u> last week.'' ::* '''Diwe xu hes <u>av</u> at.'''....''Please do something <u>for</u> me.'' ::* '''Hia dyes se <u>ayv</u> dalzeyntun.'''....''This book is <u>about</u> linguistics.'' ::* '''Hia dyen se din <u>vyel</u> ewa fiuti.'''....''This book is a story <u>about</u> two lovers.'' ::* '''Datan se ga fia <u>vyel</u> nas.'''....''Friendship is better <u>than</u> money.'' ::* '''Hos se ge fua <u>vyel</u> has hu yat xola zojab.'''....''Nothing is as bad <u>as</u> what we underwent last year.'' ::* '''Yit yexeya <u>ov</u> yat.'''....''They were working <u>against</u> us.'' ::* '''Ha vakdibut dopoxa at <u>oyv</u> ata azovdeyni.'''....''The police officer arrested me <u>despite</u> my protests.'' ::* '''At se <u>ev</u> hua doyafkexut.'''....''I am <u>neither for nor against/neutral toward</u> that candidate.'' ::* '''Et <u>ay</u> Bob yeyfe ser dati.'''....''You <u>and</u> Bob should be friends.'' ::* '''Duhot ako, et <u>ey</u> at?'''....''Who will win, you <u>or</u> I?'' ::* '''Hyat <u>oy</u> hwut ta ha dud.'''....''Everyone <u>but</u> that guy knew the answer.'' ::* '''Esa mag <u>yub</u> at.'''....''There was a fire <u>near</u> me.'':: ::* '''Voy ese fabi <u>yuz</u> ata tam.'''....''There are no trees <u>around</u> my house.'' ::* '''Et yafo tyoper <u>yez</u> ha kunad.'''....''You'll have to walk <u>along</u> the edge.'' ::* '''Ese gla mari <u>yiz</u> yata amar.'''....''There are many stars <u>beyond</u> our sun.'' ::* '''Ha fepet tyopa iz <u>zye</u> hia mes.'''....''The cat walked right <u>through</u> this door.'' ::* '''<u>Boy</u> yombiel, tej voy se fia.'''....''<u>Without</u> ice cream, life is not good.'' ::* '''Et voy se <u>gel</u> at.'''....''You are not <u>like</u> me.'' ::* '''Et se hyagla <u>ogel</u> at.'''....''You are totally <u>unlike</u> me.'' ::* '''Ewa <u>gab</u> ewa gese uwa.'''....''Two <u>plus</u> two equals four.'' ::* '''Uwa <u>gob</u> ewa gese ewa.'''....''Four <u>minus</u> two equals two.'' ::* '''Ewa <u>gal</u> ewa gese uwa.'''....''Two <u>times</u> two equals four.'' ::* '''Ewa <u>gol</u> ewa gese awa.'''....''Two <u>divided by</u> two equals one.'' ::* '''Uwa <u>gar</u> ewa gese asya.'''....''Four squared (4<sup>2</sup>) equals sixteen. (Lit: Four <u>to the power of</u> two...)'' ::* '''Alya <u>gor</u> e gese u.'''....''The square root (√16) of sixteen is four. (Lit: Sixteen <u>to the minus power of</u> two...)'' === Hybridized Prepositions === :: Some of the above prepositions can be hybridized: ::* '''<u>bui</u> taam'''....''<u>to and fro</u> home'' ::* '''<u>zui</u> ha dodalut'''....''<u>to the left and right of</u> the speaker'' ::* '''<u>gaob</u> glos'''....''<u>plus or minus</u> a bit'' ::* '''<u>aov</u> at'''....''<u>for or against</u> me'' ::* '''<u>aoyeb</u> ha tim'''....''<u>in and out of</u> the room'' ::* '''<u>aob</u> ha seem'''....''<u>on and off</u> the counter'' == Compound Prepositions == : '''''Compound prepositions''''' require the use of multiple morphemes, including prepositions, adverbs, and nouns. === Compound Prepositions Using Adverbs === : There are certain directional adverbs that can play a part in forming prepositional phrases, but cannot act as prepositions in and of themselves: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Adverbs Used in Compound Prepositions |- | '''iz'''....''directly, straight'' || '''uz'''....''indirectly, roundabout'' |- | '''yab'''....''up'' || '''yob'''....''down'' |- | '''zay'''....''forward, ahead'' || '''zoy'''....''back'' |- | '''zi'''....''right'' || '''zu'''....''left'' |} : The next chart lists some compound prepositions using the above adverbs or other combinations. Note that when combining two words, if the first word ends in '''b''' and the second begins with '''b''', one of the '''b''' 's is dropped. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Compound Prepositions Using Adverbs and Other Prepositions |- ! Compound Preposition !! Example |- | '''yabu'''....''up to'' (< '''yab + bu''')|| '''It fu paper <u>yabu</u> ha mam.'''....''He would like to fly <u>up to</u> the sky.'' |- | '''yabi'''....''up from'' (< '''yab + bi''') || '''Su <u>yabi</u> ha sum.'''....''Get <u>up from</u> the bed.'' |- | '''yabey'''....''up (by way of)'' (< '''yab + bey''') || '''Yat tyoyapo <u>yabey</u> ha memyayz.'''....''We will walk <u>up</u> the hill.'' |- | '''yabe'''....''up at'' (< '''yab + be''')|| '''Ha kapet kaxwa <u>yabe</u> ha tam.'''....''The dog was found <u>up at</u> the house.'' |- | '''yabab'''....''up on, upon'' || '''Ha fepet se <u>yabab</u> ha abtamas.'''....''The cat is <u>up o</u>n the roof.'' |- | '''yobu'''....''down to'' (< '''yab + bu''') || '''Igpu <u>yobu</u> ha obmos.'''....''Run <u>down to</u> the cellar.'' |- | '''yobi'''....''down from'' (< '''yab + bi''') || '''Ha tat upa <u>yobi</u> ha mam.'''....''The angel came <u>down from</u> the sky.'' |- | '''yobey'''....''down (by way of)'' || '''Iyt igtyoyapa <u>yobey</u> ha meab.'''....''She ran <u>down</u> the hill.'' |- | '''yobe'''....''down at'' || '''Ha dyes kaxwa <u>yobe</u> ha obem.'''....''The book was found <u>down at</u> the bottom.'' |- | '''yobab'''....''down on'' || '''Has kaxwa <u>yobab</u> eta oybmos.'''....''It was found <u>down on</u> your floor.'' |- | '''yebu'''....''into'' || '''It pusa <u>yebu</u> ha mip.'''....''He jumped <u>into</u> the river.'' |- | '''yebi'''....''in from'' || '''Upu <u>yebi</u> ha oma oyebem.'''....''Come <u>in from</u> the cold outdoors.'' |- | '''oyebe'''....''out in/at'' || '''Ha tudi sa <u>oyebe</u> ha zodeym.'''....''The children were <u>out in</u> the backyard.'' |- | '''oyebi'''....''out from'' || '''Yepu <u>oyebi</u> ha om.'''....''Come in <u>out from</u> the cold.'' |- | '''oyebu'''....''out to'' || '''Yat fu peper <u>oyebu</u> ha meim.'''....''We'd like to ride <u>out to</u> the countryside.'' |- | '''izbu'''....''straight to'' || '''Pu <u>izbu</u> fyomir!''' ....''Go <u>straight to</u> hell!'' |- | '''izoybi'''....''right back from'' || '''It upu <u>izoybi</u> ha yexim.'''....''He came <u>right back from</u> the office.'' |- | '''zaybu'''....''on to, forth to, ahead to'' || '''Ha bixpur popa <u>zaybu</u> zona doym.'''....''The train traveled <u>on to</u> the next town.'' |- | '''zeybi'''....''across from'' || '''At simbeseya <u>zeybi</u> et.'''....''I was sitting <u>across from</u> you.'' |- | '''zoybi'''....''back from'' || '''At se <u>zoybi</u> ha yextim.'''....''I am <u>back from</u> the office.'' |- | '''zoybu'''....''back to'' || '''Pu <u>zoy bu</u> ha nam.'''....''Go <u>back to</u> the store.'' |- | '''zoybe'''....''back at'' || '''Duven et se <u>zoybe</u> tam?'''....''Are you <u>back at</u> home?'' |- | '''zubi'''....''to the left of'' || '''Ata tam se <u>zubi</u> hut.'''....''My house is <u>to the right of</u> that guy's.'' |- | '''zibi'''....''to the right of'' || '''Huta tam se <u>zibi</u> atas.'''....''That guy's house is <u>to the right of</u> mine.'' |} === Prepositional Phrases Using Spatial Nouns === : The following chart shows how prepositions and directional adverbs can be joined with the spatial ending '''-(e)m''' meaning ''place'' (or others) to be form spatial nouns, which, in turn, can be used in idiomatic prepositional phrases: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Spatial Nouns Built on Prepositions or Adverbs |- | '''ab'''....''on'' || '''abem'''....''top''<br>'''abned'''....''upper surface''<br>'''abmas'''....''roof'' |- | '''eb'''....''between'' || '''ebem'''....''interstice''<br>'''ebjob'''....''interval''<br>'''ebnod'''....''intersection''<br>'''ebmas'''....''partition'' |- | '''ob'''....''off'' || '''obem'''....''bottom''<br>'''obned'''....''lower surface''<br>'''obmas'''....''foundation'' |- | '''ayb'''....''above'' || '''aybem'''....''area above''<br>'''aybmas'''....''ceiling'' |- | '''oyb'''....''below'' || '''oybem'''....''area below''<br>'''oybmas'''....''floor'' |- | '''eyb'''....''among'' || '''eybem'''....''midst'' |- | '''yab'''....''up'' || '''yabem'''....''upstairs, upper area''<br>'''yabneg'''....''top level'' |- | '''yob'''....''down'' || '''yobem'''....''downstairs, lower area''<br>'''yobneg'''....''bottom level'' |- | '''yeb'''....''in'' || '''yebem'''....''inside, interior, indoors''<br>'''yebnig'''....''inner space'' |- | '''oyeb'''....''out'' || '''oyebem'''....''outside, exterior, outdoors'' |- | '''za'''....''in front of'' || '''zam'''....''front, foreground''<br>'''zan'''....''face'' |- | '''ze'''....''in the middle of'' || '''zem'''....''middle''<br>'''zenod'''....''center, hub''<br>'''zen'''....''center''<br>'''zenad'''....''median'' |- | '''zo'''....''behind'' || '''zom'''....''back, rear, background'' |- | '''zi'''....''right'' || '''zim'''....''right area''<br>'''zikum'''....''left side''<br>'''ziizon'''....''right direction''<br>'''imer'''....''east'' |- | '''zu'''....''left'' || '''zum'''....''left area''<br>'''zukum'''....''left side''<br>'''zuizon'''....''left direction''<br>'''umer'''....''west'' |- | '''iz'''....''straight'' || '''izmep'''....''direct route''<br>'''iznad'''....''vector''<br>'''izon'''....''direction'' |- | '''uz'''....''indirectly'' || '''uzmep'''....''detour''<br>'''uznad'''....''curve''<br>'''uzon'''....''deviation'' |- | '''yub'''....''near'' || '''yubem'''....''vicinity''<br>'''yubkum'''....''near side''<br>'''yubaj'''....''recent past'' |- | '''yib'''....''far'' || '''yibem'''....''distance''<br>'''yibkum'''....''far side''<br>'''yibnod'''....''pole''<br>'''yiboj'''....''distant future'' |- | '''yuz'''....''around'' || '''yuzem'''....''perifery''<br>'''yuznad'''....''perimeter''<br>'''yuznig'''....''environment'' |- | '''yiz'''....''beyond'' || '''yizem'''....''area beyond''<br>'''yiznod'''....''extremity'' |} : The following chart shows phrasal prepositions that can be created with the use of the spatial nouns in the previous section or other nouns. These phrases are considered idiomatic, because they are abbreviated by the omission of the definite article '''ha''' in front of the noun: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Idiomatic Phrasal Prepositions ! At Somewhere !! To Somewhere !! From Somewhere |- | '''be abem bi'''....''at the top of'' || '''bu abem bi'''....''to the top of'' || '''bi abem bi'''....''from the top of'' |- | '''be obem bi'''....''at the bottom of'' || '''bu obem bi'''....''to the bottom of'' || '''bi obem bi'''....''from the top of'' |- | '''be ebem bi'''....''in the area between'' || '''bu ebem bi'''....''to the area between'' || '''bi ebem bi'''....''from the area between'' |- | '''be aybem bi'''....''above, over'' || '''bu aybem bi'''....''to the area above'' || '''bi aybem bi'''....''from the area above'' |- | '''be oybem bi'''....''below, under'' || '''bu oybem bi'''....''to the area below'' || '''bi oybem bi'''....''from the area below'' |- | '''be eybem bi'''....''amid'' || '''zye eybem bi'''....''through the midst of'' || '''bi eybem bi'''....''from the midst of'' |- | '''be zam bi'''....''at the front of'' || '''bu zam bi'''....''to the front of'' || '''bi zam bi'''....''from the front of'' |- | '''be zem bi'''....''at the middle of'' || '''bu zem bi'''....''to the middle of'' || '''bi zem bi'''....''from the middle of'' |- | '''be zom bi'''....''at the back of'' || '''bu zom bi'''....''to the back of'' || '''bi zom bi'''....''from the back of'' |- | '''be zim bi'''....''at the right of'' || '''bu zim bi'''....''to the right of'' || '''bi zim bi'''....''from the right of'' |- | '''be zum bi'''....''at the left of'' || '''bu zum bi'''....''to the left of'' || '''bi zum bi'''....''from the left of'' |- | '''be yubem bi'''....''in the vicinity of'' || '''bu yubem bi'''....''to the vicinity of'' || '''bi yubem bi'''....''from the vicinity of'' |- | '''be yibem bi'''....''at a distance from'' || '''bey azon bi'''....''by dint of'' || '''be avon bi'''....''in favor of'' |- | '''be ubem bi'''....''in the direction of'' || '''bay ux bi'''....''with assistance from'' || '''be byux bay'''....''in touch with'' |- | '''be yabem bi'''....''in the upper reaches of'' || '''be vyen bu'''....''in relation to'' || '''doytaxwa bay'''....''associated with'' |- | '''be yobem bi'''....''in the bottom area of'' || '''be ned bi'''....''on the level of'' || '''be mep bu'''....''on the way to, en route'' |- | '''be yebem bi'''....''on the inside of, inside'' || '''be oyebem bi'''....''on the outside of, outside'' || '''bu oyebem bi'''....''to the exterior of'' |- | '''bey mep bi'''....''by way of, via'' || '''be kum bi'''....''beside, at the side of'' || '''be ij bi'''....''at the start of'' |- | '''be uj bi'''....''at the end of'' || '''bey uxun bi'''....''by means of'' || '''be kunad bi'''....''at the edge of'' |- | '''be nod bi'''....''at the point of'' || '''be yebem bi'''....''at the interior of, inside'' || '''be oyebem bi'''....''at the exterior of, outside'' |- | '''be nad bay'''....''in line with'' || '''be uznod bi'''....''alongside'' || '''be tes bi'''....''in the sense of'' |- | '''be teas bi'''....''in the guise of'' || '''be san bi'''....''in the form of'' || '''be yanx bi'''....''in conjunction with'' |- | '''be bol bi'''....''in support of'' || '''be gab bu'''....''in addition to'' || '''be dyun bi'''....''in the name of'' |- | '''be avson bi'''....''on behalf of'' || '''be vyeson bi'''....''on the subject of'' || '''bay yux bi'''....''with the aid of'' |} == Adjectivized Prepositions == : Simple prepositions can be converted into adjectives by suffixing the adjectival ending '''-a'''. Here are some examples: ::* '''aba'''....''superior'' (ex. '''aba doyevam'''....''superior court'') ::* '''oba'''....''inferior'' ::* '''ayba'''....''upper'' ::* '''oyba'''....''lower'' ::* '''yaba'''....''high'' ::* '''yoba'''....''low'' ::* '''eba'''....''in-between'' ::* '''gaba'''....''additional'' ::* '''goba'''....''subtractive'' ::* '''gala'''....''multiple'' ::* '''gaza'''....''logarithmic'' ::* '''gea'''....''equal'' ::* '''gela'''....''same'' ::* '''iba'''....''away'' ::* '''ogea'''....''unequal'' ::* '''jaa'''....''anterior, prior'' ::* '''jea'''....''present'' ::* '''joa'''....''posterior'' ::* '''ava'''....''in favor, favorable, pro'' ::* '''eva'''....''neutral'' ::* '''ova'''....''against, unfavorable, counter'' ::* '''oyva'''....''opposite, inverse'' ::* '''yeba'''....''inner'' ::* '''oyeba'''....''outer'' ::* '''yeza'''....''flush'' ::* '''yuba'''....''near'' ::* '''yiba'''....''far, distant'' ::* '''yiza'''....''extreme, yonder'' ::* '''yuza'''....''circular'' ::* '''zaa'''....''front, anterior'' ::* '''zea'''....''medial, middle'' ::* '''zoa'''....''rear, back, posterior'' ::* '''zia'''....''left'' ::* '''zua'''....''right'' : A slight nuanced meaning can be achieved by suffixing '''-na''' instead of '''-a'''. ::* '''jana'''....''previous'' ::* '''jona'''....''next'' ::* '''zana'''....''next, anterior'' ::* '''zona'''....''last, posterior'' ::* '''ovna'''....''antithetical'' ::* '''yebna'''....''interior, internal'' ::* '''oyebna'''....''exterior, external'' ::* '''zena'''....''central'' ::* '''ebna'''....''intermediate'' ::* '''yizna'''....''ulterior, extreme'' ::* '''yuzna'''....''peripheral'' ::* '''yubna'''....''proximate'' == Prepositions and Adverbs as Verb Prefixes == : Prepositions and adverbs can be prefixed to verbs to alter their directionality. If such a prefix ends in '''-b''' and the verb begins with '''b''' or '''p''', the final '''b''' of the prefix is dropped. : Let take the verbs '''per''' (''to go'') and '''ber''' (''to put'') as examples: :: {| class="wikitable" |+ Prepositional/Adverbial Prefixes on Verbs |- ! Preposition/Adverb !! '''per''' (intr.) !! '''ber''' (tr.) |- | '''ab'''....''on'' || '''aper'''....''to get on, to board'' || '''aber'''....''to put on, apply'' |- | '''ob'''....''off'' || '''oper'''....''to get off, to dismount'' || '''ober'''....''to take off, remove'' |- | '''eb'''....''between'' || '''eper'''....''to intervene'' || '''eber'''....''to block'' |- | '''ib'''....''away'' || '''iper'''....''to go away'' || '''iber'''....''to receive'' |- | '''ub'''....''toward'' || '''uper'''....''to come'' || '''uber'''....''to send'' |- | '''yab'''....''up'' || '''yaper'''....''to get up, to rise, to ascend'' || '''yaber'''....''to raise'' |- | '''yob'''....''down'' || '''yoper'''....''to get down, to descend'' || '''yober'''....''to lower'' |- | '''yeb'''....''in'' || '''yeper'''....''to get in, to enter'' || '''yeber'''....''to put in'' |- | '''oyeb'''....''out'' || '''oyeper'''....''to get out, to exit'' || '''oyeber'''....''to take out'' |- | '''yub'''....''near'' || '''yuper'''....''to get near, to approach'' || '''yuber'''....''to bring'' |- | '''yib'''....''far'' || '''yiper'''....''to retreat, to distance oneself'' || '''yiber'''....''to remove'' |- | '''yiz'''....''beyond'' || '''yizper'''....''to pass, exceed'' || '''yizber'''....''to pass'' |- | '''yuz'''....''around'' || '''yuzper'''....''to go around, to circulate'' || '''yuzber'''....''to encircle'' |- | '''yez'''....''along'' || '''yezper'''....''to go along'' || '''yezber'''....''to set along'' |- | '''yan'''....''together'' || '''yanper'''....''to get together, to meet'' || '''yanber'''....''to join'' |- | '''yon'''....''apart'' || '''yonper'''....''to go apart, to separate''|| '''yonber'''....''to separate'' |- | '''ja'''....''before'' || '''japer'''....''to go before, to precede'' || '''jaber'''....''to prepare'' |- | '''jo'''....''after'' || '''joper'''....''to go after, to follow''|| '''jober'''....''to postpone'' |- | '''za'''....''front'' || '''zaper'''....''to lead, to go in front''|| '''zaber'''....''to put in front'' |- | '''zo'''....''back'' || '''zoper'''....''to lag, to go in back'' || '''zober'''....''to delay'' |- | '''zay'''....''forward'' || '''zayper'''....''to go forward, to advance'' || '''zayber'''....''to put forward'' |- | '''zoy'''....''backward'' || '''zoyper'''....''to go back, to return'' || '''zoyber'''....''to put back'' |- | '''zey'''....''across'' || '''zeyper'''....''to go across, to transit'' || '''zeyber'''....''to transfer'' |} == Separable Verb Prefixes == : Verbal prefixes that are formed from prepositions and adverbs can usually be "unpacked", that is, treated as separate words. This works like separable verbs in German. The following table demonstrates this: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Separable Verb Prefixes |- ! Verb-bound !! Unpacked !! English |- | '''Mapuzlun <u>yuzpa</u> yata tam.''' || '''Mapuzlun <u>pa yuz</u> yata tam.'''||''A tornado circled/went around our house. (= went around)'' |- | '''Ha yux bi calk yeyfe <u>yobnogxwer</u>.''' || '''Ha yux bi cal yeyfe <u>nogxwer yob</u>.'''||''The use of carbon should be downscaled. (= scaled down)'' |- | '''Yat <u>zaybuxo</u> hia dovyabdren.''' || '''Yat <u>buxo</u> hia dovyabdren <u>zay</u>.'''||''We shall advance this legislation. (= push forward)'' |} <noinclude>{{Chapter navigation with TOC|Verbs|Conjunctions}}</noinclude> bcrdjnzk1z48m1oc5ju7bdvmt7khwq4 4635282 4635279 2026-05-11T16:48:32Z Tyoyafud 6233 /* Prepositions and Adverbs as Verb Prefixes */ 4635282 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> : Prepositions are words that connect and show a relationship between a noun or noun phrase and the rest of the sentence. In Mirad, prepositions are simple monosyllables or phrases. Prepositions, as in English, are positioned before the noun or noun phrase they connect. == Single-word Prepositions == [[File:Prepositions of place.svg|thumb|]] : In Mirad, there are '''''single-word prepositions''''' and '''''compound prepositions'''''. : Here is a chart of single-word prepositions. Most are spatial, but some are temporal, relational, or mathematical. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Simple Prepositions |- ! Positive !! Neutral !! Negative |- ! colspan="3" | Spatial |- | '''ab'''....''on, upon'' || '''eb'''....''between'' || '''ob'''....''off, off of'' |- | '''ayb'''....''over, above'' || '''eyb'''....''among, amid'' || '''oyb'''....''under, below'' |- | '''bu'''....''to'' || '''be'''....''at'' || '''bi'''....''from, of'' |- | '''byu'''....''as far as, up to'' || || '''byi'''....''since, starting with'' |- | '''bay'''....''with'' || '''bey'''....''by, via'' || '''boy'''....''without'' |- | '''ub'''....''toward'' || || '''ib'''....''away from'' |- | '''yub'''....''near'' || '''yeb'''....''in, inside''<br>'''oyeb'''....''outside''|| '''yib'''....''far from'' |- | '''yuz'''....''around'' || '''yez'''....''along'' || '''yiz'''....''beyond'' |- | '''za'''....''in front of'' || '''ze'''....''at the middle of'' || '''zo'''....''behind, in back of'' |- | '''zya'''....''throughout'' || '''zye'''....''through'' || |- | || '''zey'''....''across'' || |- ! colspan="3" | Temporal |- | '''ja'''....''before'' || '''je'''....''during, while'' || '''jo'''....''after'' |- | '''ju'''....''until'' || || '''ji'''....''since'' |- ! colspan="3" | Relational |- | '''av'''....''for'' || '''ev'''....''neither for nor against''<br>'''vyel'''....''than, as, compared to, about'' || '''ov'''....''against'' |- | '''ayv'''....''about'' || || '''oyv'''....''despite'' |- | '''ay'''....''and'' || '''ey'''....''or''<br>'''oey'''....''nor'' || '''oy'''....''but, except'' |- | '''bay'''....''with'' || '''bey'''....''by, via, with'' || '''boy'''....''without'' |- | || '''gel'''....''like''<br>'''ogel'''....''unlike'' || |- ! colspan="3" | Mathematical |- | || '''ge'''....''equal to''<br>'''oge'''....''unequal to'' || |- | '''gab'''....''plus, <big>+</big>'' || '''gaob'''....''plus or minus'' || '''gob'''....''minus, <big>-</big>'' |- | '''gal'''....''times, <big>×</big>'' || || '''gol'''....''divided by, <big>÷</big>'' |- | '''gar'''....''to the power of, <big>&circ;</big>'' || || '''gor'''....''to the root of, <big>√</big>'' |} : Some of the above prepositions can be negated by prefixing '''lo'''. For example: ::* '''jo'''....''after'' --> '''lojo'''....''no later than, by'' ::* '''ji'''....''since'' --> '''loji'''....''not since'' : The most versatile and useful single-word preposition is '''be''', which means ''at'' as a general locative when used literally, but is used before many nouns and noun phrases when the meaning is idiomatic. Some examples follow: ::* '''Yat se <u>be tam</u>.'''....''We are <u>at home</u>.'' (literal, general locative) ::* '''Yat se <u>be dropek</u>.'''....''We are <u>at war</u>.'' (idiomatic) ::* '''At teata et <u>be yibsin</u>.'''....''I saw you <u>on television</u>.'' (idiomatic) ::* '''<u>Be Ejna York</u> ese mamyabtomi.'''....''<u>In New York</u>, there are skyscrapers.'' (general locative) ::* '''At se <u>on the way</u>.'''....''I am <u>on the way</u>.'' : The preposition '''bi''' can mean ''of'' or ''from''. It is used for possessive constructions. Here are some examples: ::* '''Hus se tam <u>bi</u> ifron.'''....''That is a house <u>of</u> worship.'' ::* '''At tyopa <u>bi</u> ha nam bu ata pur.'''....''I walked <u>from</u> the store to my car.'' ::* '''<u>Bi</u> him bu jobuj.'''....''<u>From</u> here to eternity.'' ::* '''Ha tajem <u>bi Tom</u> se him.'''....''<u>Tom's</u> birthplace is here.'' ::* '''His sa ha gwaifwa tuzun <u>bi eta teyd</u>.'''....''This was <u>your mother's</u> favorite piece of art.'' === Simple Preposition Examples === ::* '''Ha dyes se <u>ab</u> ha sem.'''....''The book is <u>on</u> the table.'' ::* '''Von pyosu <u>ob</u> ha abtamas!'''....''Don't fall <u>off</u> the roof!'' ::* '''Ha pati papa <u>ayb</u> ata tam.'''....''The birds flew <u>over</u> my house.'' ::* '''It kosa <u>oyb</u> ha yagsim.'''....''He hid <u>under</u> the bench.'' ::* '''Simbiu <u>eb</u> hut ay at.'''....''Take a seat <u>between</u> that person and me.'' ::* '''Yat teje <u>eyb</u> fiati.'''....''We live <u>among</u> good people.'' ::* '''Duhos se nax <u>bi</u> pop <u>bu</u> ay <u>bi</u> Boston?'''....''What is the cost <u>of</u> a trip <u>to</u> and <u>from</u> Boston?'' ::* '''His se ifek <u>bi</u> kyen.'''....''This is a game <u>of</u> luck.'' ::* '''Duven et sa <u>be</u> hua duzun zomoj?'''....''Were you <u>at</u> that concert last night?'' ::* '''Yit se embwa <u>be</u> ha zenod bi ha mapil.'''....''We are positioned <u>at</u> the hub of this storm.'' ::* '''Iyt tyopa <u>byu</u> ha mes.'''....''She walked <u>up to/as far as</u> the door.'' ::* '''Ha twob tojbwa <u>bey</u> goblar.'''....''The man was killed <u>with/by</u> a knife.'' ::* '''Et xu ga fiay ser <u>bay</u> at vyel <u>boy</u> at.'''....''You would do better to be <u>with</u> me than <u>without</u> me.'' ::* '''Teaxu <u>ib</u> ha amar.'''....''Look <u>away</u> from the sun.'' ::* '''Von teaxu iz <u>ub</u> ha man.'''....''Don't look directly <u>toward</u> the light.'' ::* '''Yibdaliru <u>ub</u> ha uj bi eta pop.'''....''Call me <u>toward</u> the end of your trip.'' ::* '''Emkyoxu eta pur <u>yub</u> ha tam.'''....''Park the car <u>near</u> the house.'' ::* '''At voy se <u>yib</u> et.'''....''I'm not <u>far from</u> you.'' ::* '''Iyt simpa <u>za</u> at.''' ....''She sat <u>in front of</u> me.'' ::* '''Et yeyfe simbier <u>zo</u> hua toyb.'''....''You should sit <u>in back of</u> that woman.'' ::* '''Embu has <u>zu</u> ha mis.'''....''Put it <u>to the left of</u> the door.'' ::* '''At simpo <u>zi</u> et.'''....''I will sit <u>to the right of</u> you.'' ::* '''Ha pat besa <u>ze</u> ha tim.'''....''The bird stayed <u>in the middle of</u> the room.'' ::* '''Mil upeye <u>zye</u> ha yijun.'''....''Water is coming <u>through</u> the opening.'' ::* '''Bikiu je pen <u>zey</u> ha domep.'''.....''Take care when going <u>across</u> the street.'' ::* '''Eso ivan <u>zya</u> ha mir.'''....''There will be happiness <u>throughout</u> the world.'' ::* '''His xwo <u>ja</u> zajub.''' ....''This will happen <u>before</u> tomorrow.'' ::* '''Esa mapil <u>je</u> ha moj.'''....''There was a storm <u>during</u> the night.'' ::* '''<u>Ju</u> zamaj.'''....''<u>Until</u> tomorrow morning.'' ::* '''At voy teataye et <u>ji</u> zoyejub.'''....''I have not seen you <u>since</u> last week.'' ::* '''Diwe xu hes <u>av</u> at.'''....''Please do something <u>for</u> me.'' ::* '''Hia dyes se <u>ayv</u> dalzeyntun.'''....''This book is <u>about</u> linguistics.'' ::* '''Hia dyen se din <u>vyel</u> ewa fiuti.'''....''This book is a story <u>about</u> two lovers.'' ::* '''Datan se ga fia <u>vyel</u> nas.'''....''Friendship is better <u>than</u> money.'' ::* '''Hos se ge fua <u>vyel</u> has hu yat xola zojab.'''....''Nothing is as bad <u>as</u> what we underwent last year.'' ::* '''Yit yexeya <u>ov</u> yat.'''....''They were working <u>against</u> us.'' ::* '''Ha vakdibut dopoxa at <u>oyv</u> ata azovdeyni.'''....''The police officer arrested me <u>despite</u> my protests.'' ::* '''At se <u>ev</u> hua doyafkexut.'''....''I am <u>neither for nor against/neutral toward</u> that candidate.'' ::* '''Et <u>ay</u> Bob yeyfe ser dati.'''....''You <u>and</u> Bob should be friends.'' ::* '''Duhot ako, et <u>ey</u> at?'''....''Who will win, you <u>or</u> I?'' ::* '''Hyat <u>oy</u> hwut ta ha dud.'''....''Everyone <u>but</u> that guy knew the answer.'' ::* '''Esa mag <u>yub</u> at.'''....''There was a fire <u>near</u> me.'':: ::* '''Voy ese fabi <u>yuz</u> ata tam.'''....''There are no trees <u>around</u> my house.'' ::* '''Et yafo tyoper <u>yez</u> ha kunad.'''....''You'll have to walk <u>along</u> the edge.'' ::* '''Ese gla mari <u>yiz</u> yata amar.'''....''There are many stars <u>beyond</u> our sun.'' ::* '''Ha fepet tyopa iz <u>zye</u> hia mes.'''....''The cat walked right <u>through</u> this door.'' ::* '''<u>Boy</u> yombiel, tej voy se fia.'''....''<u>Without</u> ice cream, life is not good.'' ::* '''Et voy se <u>gel</u> at.'''....''You are not <u>like</u> me.'' ::* '''Et se hyagla <u>ogel</u> at.'''....''You are totally <u>unlike</u> me.'' ::* '''Ewa <u>gab</u> ewa gese uwa.'''....''Two <u>plus</u> two equals four.'' ::* '''Uwa <u>gob</u> ewa gese ewa.'''....''Four <u>minus</u> two equals two.'' ::* '''Ewa <u>gal</u> ewa gese uwa.'''....''Two <u>times</u> two equals four.'' ::* '''Ewa <u>gol</u> ewa gese awa.'''....''Two <u>divided by</u> two equals one.'' ::* '''Uwa <u>gar</u> ewa gese asya.'''....''Four squared (4<sup>2</sup>) equals sixteen. (Lit: Four <u>to the power of</u> two...)'' ::* '''Alya <u>gor</u> e gese u.'''....''The square root (√16) of sixteen is four. (Lit: Sixteen <u>to the minus power of</u> two...)'' === Hybridized Prepositions === :: Some of the above prepositions can be hybridized: ::* '''<u>bui</u> taam'''....''<u>to and fro</u> home'' ::* '''<u>zui</u> ha dodalut'''....''<u>to the left and right of</u> the speaker'' ::* '''<u>gaob</u> glos'''....''<u>plus or minus</u> a bit'' ::* '''<u>aov</u> at'''....''<u>for or against</u> me'' ::* '''<u>aoyeb</u> ha tim'''....''<u>in and out of</u> the room'' ::* '''<u>aob</u> ha seem'''....''<u>on and off</u> the counter'' == Compound Prepositions == : '''''Compound prepositions''''' require the use of multiple morphemes, including prepositions, adverbs, and nouns. === Compound Prepositions Using Adverbs === : There are certain directional adverbs that can play a part in forming prepositional phrases, but cannot act as prepositions in and of themselves: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Adverbs Used in Compound Prepositions |- | '''iz'''....''directly, straight'' || '''uz'''....''indirectly, roundabout'' |- | '''yab'''....''up'' || '''yob'''....''down'' |- | '''zay'''....''forward, ahead'' || '''zoy'''....''back'' |- | '''zi'''....''right'' || '''zu'''....''left'' |} : The next chart lists some compound prepositions using the above adverbs or other combinations. Note that when combining two words, if the first word ends in '''b''' and the second begins with '''b''', one of the '''b''' 's is dropped. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Compound Prepositions Using Adverbs and Other Prepositions |- ! Compound Preposition !! Example |- | '''yabu'''....''up to'' (< '''yab + bu''')|| '''It fu paper <u>yabu</u> ha mam.'''....''He would like to fly <u>up to</u> the sky.'' |- | '''yabi'''....''up from'' (< '''yab + bi''') || '''Su <u>yabi</u> ha sum.'''....''Get <u>up from</u> the bed.'' |- | '''yabey'''....''up (by way of)'' (< '''yab + bey''') || '''Yat tyoyapo <u>yabey</u> ha memyayz.'''....''We will walk <u>up</u> the hill.'' |- | '''yabe'''....''up at'' (< '''yab + be''')|| '''Ha kapet kaxwa <u>yabe</u> ha tam.'''....''The dog was found <u>up at</u> the house.'' |- | '''yabab'''....''up on, upon'' || '''Ha fepet se <u>yabab</u> ha abtamas.'''....''The cat is <u>up o</u>n the roof.'' |- | '''yobu'''....''down to'' (< '''yab + bu''') || '''Igpu <u>yobu</u> ha obmos.'''....''Run <u>down to</u> the cellar.'' |- | '''yobi'''....''down from'' (< '''yab + bi''') || '''Ha tat upa <u>yobi</u> ha mam.'''....''The angel came <u>down from</u> the sky.'' |- | '''yobey'''....''down (by way of)'' || '''Iyt igtyoyapa <u>yobey</u> ha meab.'''....''She ran <u>down</u> the hill.'' |- | '''yobe'''....''down at'' || '''Ha dyes kaxwa <u>yobe</u> ha obem.'''....''The book was found <u>down at</u> the bottom.'' |- | '''yobab'''....''down on'' || '''Has kaxwa <u>yobab</u> eta oybmos.'''....''It was found <u>down on</u> your floor.'' |- | '''yebu'''....''into'' || '''It pusa <u>yebu</u> ha mip.'''....''He jumped <u>into</u> the river.'' |- | '''yebi'''....''in from'' || '''Upu <u>yebi</u> ha oma oyebem.'''....''Come <u>in from</u> the cold outdoors.'' |- | '''oyebe'''....''out in/at'' || '''Ha tudi sa <u>oyebe</u> ha zodeym.'''....''The children were <u>out in</u> the backyard.'' |- | '''oyebi'''....''out from'' || '''Yepu <u>oyebi</u> ha om.'''....''Come in <u>out from</u> the cold.'' |- | '''oyebu'''....''out to'' || '''Yat fu peper <u>oyebu</u> ha meim.'''....''We'd like to ride <u>out to</u> the countryside.'' |- | '''izbu'''....''straight to'' || '''Pu <u>izbu</u> fyomir!''' ....''Go <u>straight to</u> hell!'' |- | '''izoybi'''....''right back from'' || '''It upu <u>izoybi</u> ha yexim.'''....''He came <u>right back from</u> the office.'' |- | '''zaybu'''....''on to, forth to, ahead to'' || '''Ha bixpur popa <u>zaybu</u> zona doym.'''....''The train traveled <u>on to</u> the next town.'' |- | '''zeybi'''....''across from'' || '''At simbeseya <u>zeybi</u> et.'''....''I was sitting <u>across from</u> you.'' |- | '''zoybi'''....''back from'' || '''At se <u>zoybi</u> ha yextim.'''....''I am <u>back from</u> the office.'' |- | '''zoybu'''....''back to'' || '''Pu <u>zoy bu</u> ha nam.'''....''Go <u>back to</u> the store.'' |- | '''zoybe'''....''back at'' || '''Duven et se <u>zoybe</u> tam?'''....''Are you <u>back at</u> home?'' |- | '''zubi'''....''to the left of'' || '''Ata tam se <u>zubi</u> hut.'''....''My house is <u>to the right of</u> that guy's.'' |- | '''zibi'''....''to the right of'' || '''Huta tam se <u>zibi</u> atas.'''....''That guy's house is <u>to the right of</u> mine.'' |} === Prepositional Phrases Using Spatial Nouns === : The following chart shows how prepositions and directional adverbs can be joined with the spatial ending '''-(e)m''' meaning ''place'' (or others) to be form spatial nouns, which, in turn, can be used in idiomatic prepositional phrases: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Spatial Nouns Built on Prepositions or Adverbs |- | '''ab'''....''on'' || '''abem'''....''top''<br>'''abned'''....''upper surface''<br>'''abmas'''....''roof'' |- | '''eb'''....''between'' || '''ebem'''....''interstice''<br>'''ebjob'''....''interval''<br>'''ebnod'''....''intersection''<br>'''ebmas'''....''partition'' |- | '''ob'''....''off'' || '''obem'''....''bottom''<br>'''obned'''....''lower surface''<br>'''obmas'''....''foundation'' |- | '''ayb'''....''above'' || '''aybem'''....''area above''<br>'''aybmas'''....''ceiling'' |- | '''oyb'''....''below'' || '''oybem'''....''area below''<br>'''oybmas'''....''floor'' |- | '''eyb'''....''among'' || '''eybem'''....''midst'' |- | '''yab'''....''up'' || '''yabem'''....''upstairs, upper area''<br>'''yabneg'''....''top level'' |- | '''yob'''....''down'' || '''yobem'''....''downstairs, lower area''<br>'''yobneg'''....''bottom level'' |- | '''yeb'''....''in'' || '''yebem'''....''inside, interior, indoors''<br>'''yebnig'''....''inner space'' |- | '''oyeb'''....''out'' || '''oyebem'''....''outside, exterior, outdoors'' |- | '''za'''....''in front of'' || '''zam'''....''front, foreground''<br>'''zan'''....''face'' |- | '''ze'''....''in the middle of'' || '''zem'''....''middle''<br>'''zenod'''....''center, hub''<br>'''zen'''....''center''<br>'''zenad'''....''median'' |- | '''zo'''....''behind'' || '''zom'''....''back, rear, background'' |- | '''zi'''....''right'' || '''zim'''....''right area''<br>'''zikum'''....''left side''<br>'''ziizon'''....''right direction''<br>'''imer'''....''east'' |- | '''zu'''....''left'' || '''zum'''....''left area''<br>'''zukum'''....''left side''<br>'''zuizon'''....''left direction''<br>'''umer'''....''west'' |- | '''iz'''....''straight'' || '''izmep'''....''direct route''<br>'''iznad'''....''vector''<br>'''izon'''....''direction'' |- | '''uz'''....''indirectly'' || '''uzmep'''....''detour''<br>'''uznad'''....''curve''<br>'''uzon'''....''deviation'' |- | '''yub'''....''near'' || '''yubem'''....''vicinity''<br>'''yubkum'''....''near side''<br>'''yubaj'''....''recent past'' |- | '''yib'''....''far'' || '''yibem'''....''distance''<br>'''yibkum'''....''far side''<br>'''yibnod'''....''pole''<br>'''yiboj'''....''distant future'' |- | '''yuz'''....''around'' || '''yuzem'''....''perifery''<br>'''yuznad'''....''perimeter''<br>'''yuznig'''....''environment'' |- | '''yiz'''....''beyond'' || '''yizem'''....''area beyond''<br>'''yiznod'''....''extremity'' |} : The following chart shows phrasal prepositions that can be created with the use of the spatial nouns in the previous section or other nouns. These phrases are considered idiomatic, because they are abbreviated by the omission of the definite article '''ha''' in front of the noun: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Idiomatic Phrasal Prepositions ! At Somewhere !! To Somewhere !! From Somewhere |- | '''be abem bi'''....''at the top of'' || '''bu abem bi'''....''to the top of'' || '''bi abem bi'''....''from the top of'' |- | '''be obem bi'''....''at the bottom of'' || '''bu obem bi'''....''to the bottom of'' || '''bi obem bi'''....''from the top of'' |- | '''be ebem bi'''....''in the area between'' || '''bu ebem bi'''....''to the area between'' || '''bi ebem bi'''....''from the area between'' |- | '''be aybem bi'''....''above, over'' || '''bu aybem bi'''....''to the area above'' || '''bi aybem bi'''....''from the area above'' |- | '''be oybem bi'''....''below, under'' || '''bu oybem bi'''....''to the area below'' || '''bi oybem bi'''....''from the area below'' |- | '''be eybem bi'''....''amid'' || '''zye eybem bi'''....''through the midst of'' || '''bi eybem bi'''....''from the midst of'' |- | '''be zam bi'''....''at the front of'' || '''bu zam bi'''....''to the front of'' || '''bi zam bi'''....''from the front of'' |- | '''be zem bi'''....''at the middle of'' || '''bu zem bi'''....''to the middle of'' || '''bi zem bi'''....''from the middle of'' |- | '''be zom bi'''....''at the back of'' || '''bu zom bi'''....''to the back of'' || '''bi zom bi'''....''from the back of'' |- | '''be zim bi'''....''at the right of'' || '''bu zim bi'''....''to the right of'' || '''bi zim bi'''....''from the right of'' |- | '''be zum bi'''....''at the left of'' || '''bu zum bi'''....''to the left of'' || '''bi zum bi'''....''from the left of'' |- | '''be yubem bi'''....''in the vicinity of'' || '''bu yubem bi'''....''to the vicinity of'' || '''bi yubem bi'''....''from the vicinity of'' |- | '''be yibem bi'''....''at a distance from'' || '''bey azon bi'''....''by dint of'' || '''be avon bi'''....''in favor of'' |- | '''be ubem bi'''....''in the direction of'' || '''bay ux bi'''....''with assistance from'' || '''be byux bay'''....''in touch with'' |- | '''be yabem bi'''....''in the upper reaches of'' || '''be vyen bu'''....''in relation to'' || '''doytaxwa bay'''....''associated with'' |- | '''be yobem bi'''....''in the bottom area of'' || '''be ned bi'''....''on the level of'' || '''be mep bu'''....''on the way to, en route'' |- | '''be yebem bi'''....''on the inside of, inside'' || '''be oyebem bi'''....''on the outside of, outside'' || '''bu oyebem bi'''....''to the exterior of'' |- | '''bey mep bi'''....''by way of, via'' || '''be kum bi'''....''beside, at the side of'' || '''be ij bi'''....''at the start of'' |- | '''be uj bi'''....''at the end of'' || '''bey uxun bi'''....''by means of'' || '''be kunad bi'''....''at the edge of'' |- | '''be nod bi'''....''at the point of'' || '''be yebem bi'''....''at the interior of, inside'' || '''be oyebem bi'''....''at the exterior of, outside'' |- | '''be nad bay'''....''in line with'' || '''be uznod bi'''....''alongside'' || '''be tes bi'''....''in the sense of'' |- | '''be teas bi'''....''in the guise of'' || '''be san bi'''....''in the form of'' || '''be yanx bi'''....''in conjunction with'' |- | '''be bol bi'''....''in support of'' || '''be gab bu'''....''in addition to'' || '''be dyun bi'''....''in the name of'' |- | '''be avson bi'''....''on behalf of'' || '''be vyeson bi'''....''on the subject of'' || '''bay yux bi'''....''with the aid of'' |} == Adjectivized Prepositions == : Simple prepositions can be converted into adjectives by suffixing the adjectival ending '''-a'''. Here are some examples: ::* '''aba'''....''superior'' (ex. '''aba doyevam'''....''superior court'') ::* '''oba'''....''inferior'' ::* '''ayba'''....''upper'' ::* '''oyba'''....''lower'' ::* '''yaba'''....''high'' ::* '''yoba'''....''low'' ::* '''eba'''....''in-between'' ::* '''gaba'''....''additional'' ::* '''goba'''....''subtractive'' ::* '''gala'''....''multiple'' ::* '''gaza'''....''logarithmic'' ::* '''gea'''....''equal'' ::* '''gela'''....''same'' ::* '''iba'''....''away'' ::* '''ogea'''....''unequal'' ::* '''jaa'''....''anterior, prior'' ::* '''jea'''....''present'' ::* '''joa'''....''posterior'' ::* '''ava'''....''in favor, favorable, pro'' ::* '''eva'''....''neutral'' ::* '''ova'''....''against, unfavorable, counter'' ::* '''oyva'''....''opposite, inverse'' ::* '''yeba'''....''inner'' ::* '''oyeba'''....''outer'' ::* '''yeza'''....''flush'' ::* '''yuba'''....''near'' ::* '''yiba'''....''far, distant'' ::* '''yiza'''....''extreme, yonder'' ::* '''yuza'''....''circular'' ::* '''zaa'''....''front, anterior'' ::* '''zea'''....''medial, middle'' ::* '''zoa'''....''rear, back, posterior'' ::* '''zia'''....''left'' ::* '''zua'''....''right'' : A slight nuanced meaning can be achieved by suffixing '''-na''' instead of '''-a'''. ::* '''jana'''....''previous'' ::* '''jona'''....''next'' ::* '''zana'''....''next, anterior'' ::* '''zona'''....''last, posterior'' ::* '''ovna'''....''antithetical'' ::* '''yebna'''....''interior, internal'' ::* '''oyebna'''....''exterior, external'' ::* '''zena'''....''central'' ::* '''ebna'''....''intermediate'' ::* '''yizna'''....''ulterior, extreme'' ::* '''yuzna'''....''peripheral'' ::* '''yubna'''....''proximate'' == Prepositions and Adverbs as Verb Prefixes == : Prepositions and adverbs can be prefixed to verbs to alter their directionality. If such a prefix ends in '''-b''' and the verb begins with '''b''' or '''p''', the final '''b''' of the prefix is dropped. : Let take the verbs '''per''' (''to go'') and '''ber''' (''to put'') as examples: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Prepositional/Adverbial Prefixes on Verbs |- ! Preposition/Adverb !! '''per''' (intr.) !! '''ber''' (tr.) |- | '''ab'''....''on'' || '''aper'''....''to get on, to board'' || '''aber'''....''to put on, apply'' |- | '''ob'''....''off'' || '''oper'''....''to get off, to dismount'' || '''ober'''....''to take off, remove'' |- | '''eb'''....''between'' || '''eper'''....''to intervene'' || '''eber'''....''to block'' |- | '''ib'''....''away'' || '''iper'''....''to go away'' || '''iber'''....''to receive'' |- | '''ub'''....''toward'' || '''uper'''....''to come'' || '''uber'''....''to send'' |- | '''yab'''....''up'' || '''yaper'''....''to get up, to rise, to ascend'' || '''yaber'''....''to raise'' |- | '''yob'''....''down'' || '''yoper'''....''to get down, to descend'' || '''yober'''....''to lower'' |- | '''yeb'''....''in'' || '''yeper'''....''to get in, to enter'' || '''yeber'''....''to put in'' |- | '''oyeb'''....''out'' || '''oyeper'''....''to get out, to exit'' || '''oyeber'''....''to take out'' |- | '''yub'''....''near'' || '''yuper'''....''to get near, to approach'' || '''yuber'''....''to bring'' |- | '''yib'''....''far'' || '''yiper'''....''to retreat, to distance oneself'' || '''yiber'''....''to remove'' |- | '''yiz'''....''beyond'' || '''yizper'''....''to pass, exceed'' || '''yizber'''....''to pass'' |- | '''yuz'''....''around'' || '''yuzper'''....''to go around, to circulate'' || '''yuzber'''....''to encircle'' |- | '''yez'''....''along'' || '''yezper'''....''to go along'' || '''yezber'''....''to set along'' |- | '''yan'''....''together'' || '''yanper'''....''to get together, to meet'' || '''yanber'''....''to join'' |- | '''yon'''....''apart'' || '''yonper'''....''to go apart, to separate''|| '''yonber'''....''to separate'' |- | '''ja'''....''before'' || '''japer'''....''to go before, to precede'' || '''jaber'''....''to prepare'' |- | '''jo'''....''after'' || '''joper'''....''to go after, to follow''|| '''jober'''....''to postpone'' |- | '''za'''....''front'' || '''zaper'''....''to lead, to go in front''|| '''zaber'''....''to put in front'' |- | '''zo'''....''back'' || '''zoper'''....''to lag, to go in back'' || '''zober'''....''to delay'' |- | '''zay'''....''forward'' || '''zayper'''....''to go forward, to advance'' || '''zayber'''....''to put forward'' |- | '''zoy'''....''backward'' || '''zoyper'''....''to go back, to return'' || '''zoyber'''....''to put back'' |- | '''zey'''....''across'' || '''zeyper'''....''to go across, to transit'' || '''zeyber'''....''to transfer'' |} == Separable Verb Prefixes == : Verbal prefixes that are formed from prepositions and adverbs can usually be "unpacked", that is, treated as separate words. This works like separable verbs in German. The following table demonstrates this: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Separable Verb Prefixes |- ! Verb-bound !! Unpacked !! English |- | '''Mapuzlun <u>yuzpa</u> yata tam.''' || '''Mapuzlun <u>pa yuz</u> yata tam.'''||''A tornado circled/went around our house. (= went around)'' |- | '''Ha yux bi calk yeyfe <u>yobnogxwer</u>.''' || '''Ha yux bi cal yeyfe <u>nogxwer yob</u>.'''||''The use of carbon should be downscaled. (= scaled down)'' |- | '''Yat <u>zaybuxo</u> hia dovyabdren.''' || '''Yat <u>buxo</u> hia dovyabdren <u>zay</u>.'''||''We shall advance this legislation. (= push forward)'' |} <noinclude>{{Chapter navigation with TOC|Verbs|Conjunctions}}</noinclude> 6z3r7ojm2tpse580d6k4oubpf5g7h4w 4635283 4635282 2026-05-11T16:49:00Z Tyoyafud 6233 /* Separable Verb Prefixes */ 4635283 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> : Prepositions are words that connect and show a relationship between a noun or noun phrase and the rest of the sentence. In Mirad, prepositions are simple monosyllables or phrases. Prepositions, as in English, are positioned before the noun or noun phrase they connect. == Single-word Prepositions == [[File:Prepositions of place.svg|thumb|]] : In Mirad, there are '''''single-word prepositions''''' and '''''compound prepositions'''''. : Here is a chart of single-word prepositions. Most are spatial, but some are temporal, relational, or mathematical. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Simple Prepositions |- ! Positive !! Neutral !! Negative |- ! colspan="3" | Spatial |- | '''ab'''....''on, upon'' || '''eb'''....''between'' || '''ob'''....''off, off of'' |- | '''ayb'''....''over, above'' || '''eyb'''....''among, amid'' || '''oyb'''....''under, below'' |- | '''bu'''....''to'' || '''be'''....''at'' || '''bi'''....''from, of'' |- | '''byu'''....''as far as, up to'' || || '''byi'''....''since, starting with'' |- | '''bay'''....''with'' || '''bey'''....''by, via'' || '''boy'''....''without'' |- | '''ub'''....''toward'' || || '''ib'''....''away from'' |- | '''yub'''....''near'' || '''yeb'''....''in, inside''<br>'''oyeb'''....''outside''|| '''yib'''....''far from'' |- | '''yuz'''....''around'' || '''yez'''....''along'' || '''yiz'''....''beyond'' |- | '''za'''....''in front of'' || '''ze'''....''at the middle of'' || '''zo'''....''behind, in back of'' |- | '''zya'''....''throughout'' || '''zye'''....''through'' || |- | || '''zey'''....''across'' || |- ! colspan="3" | Temporal |- | '''ja'''....''before'' || '''je'''....''during, while'' || '''jo'''....''after'' |- | '''ju'''....''until'' || || '''ji'''....''since'' |- ! colspan="3" | Relational |- | '''av'''....''for'' || '''ev'''....''neither for nor against''<br>'''vyel'''....''than, as, compared to, about'' || '''ov'''....''against'' |- | '''ayv'''....''about'' || || '''oyv'''....''despite'' |- | '''ay'''....''and'' || '''ey'''....''or''<br>'''oey'''....''nor'' || '''oy'''....''but, except'' |- | '''bay'''....''with'' || '''bey'''....''by, via, with'' || '''boy'''....''without'' |- | || '''gel'''....''like''<br>'''ogel'''....''unlike'' || |- ! colspan="3" | Mathematical |- | || '''ge'''....''equal to''<br>'''oge'''....''unequal to'' || |- | '''gab'''....''plus, <big>+</big>'' || '''gaob'''....''plus or minus'' || '''gob'''....''minus, <big>-</big>'' |- | '''gal'''....''times, <big>×</big>'' || || '''gol'''....''divided by, <big>÷</big>'' |- | '''gar'''....''to the power of, <big>&circ;</big>'' || || '''gor'''....''to the root of, <big>√</big>'' |} : Some of the above prepositions can be negated by prefixing '''lo'''. For example: ::* '''jo'''....''after'' --> '''lojo'''....''no later than, by'' ::* '''ji'''....''since'' --> '''loji'''....''not since'' : The most versatile and useful single-word preposition is '''be''', which means ''at'' as a general locative when used literally, but is used before many nouns and noun phrases when the meaning is idiomatic. Some examples follow: ::* '''Yat se <u>be tam</u>.'''....''We are <u>at home</u>.'' (literal, general locative) ::* '''Yat se <u>be dropek</u>.'''....''We are <u>at war</u>.'' (idiomatic) ::* '''At teata et <u>be yibsin</u>.'''....''I saw you <u>on television</u>.'' (idiomatic) ::* '''<u>Be Ejna York</u> ese mamyabtomi.'''....''<u>In New York</u>, there are skyscrapers.'' (general locative) ::* '''At se <u>on the way</u>.'''....''I am <u>on the way</u>.'' : The preposition '''bi''' can mean ''of'' or ''from''. It is used for possessive constructions. Here are some examples: ::* '''Hus se tam <u>bi</u> ifron.'''....''That is a house <u>of</u> worship.'' ::* '''At tyopa <u>bi</u> ha nam bu ata pur.'''....''I walked <u>from</u> the store to my car.'' ::* '''<u>Bi</u> him bu jobuj.'''....''<u>From</u> here to eternity.'' ::* '''Ha tajem <u>bi Tom</u> se him.'''....''<u>Tom's</u> birthplace is here.'' ::* '''His sa ha gwaifwa tuzun <u>bi eta teyd</u>.'''....''This was <u>your mother's</u> favorite piece of art.'' === Simple Preposition Examples === ::* '''Ha dyes se <u>ab</u> ha sem.'''....''The book is <u>on</u> the table.'' ::* '''Von pyosu <u>ob</u> ha abtamas!'''....''Don't fall <u>off</u> the roof!'' ::* '''Ha pati papa <u>ayb</u> ata tam.'''....''The birds flew <u>over</u> my house.'' ::* '''It kosa <u>oyb</u> ha yagsim.'''....''He hid <u>under</u> the bench.'' ::* '''Simbiu <u>eb</u> hut ay at.'''....''Take a seat <u>between</u> that person and me.'' ::* '''Yat teje <u>eyb</u> fiati.'''....''We live <u>among</u> good people.'' ::* '''Duhos se nax <u>bi</u> pop <u>bu</u> ay <u>bi</u> Boston?'''....''What is the cost <u>of</u> a trip <u>to</u> and <u>from</u> Boston?'' ::* '''His se ifek <u>bi</u> kyen.'''....''This is a game <u>of</u> luck.'' ::* '''Duven et sa <u>be</u> hua duzun zomoj?'''....''Were you <u>at</u> that concert last night?'' ::* '''Yit se embwa <u>be</u> ha zenod bi ha mapil.'''....''We are positioned <u>at</u> the hub of this storm.'' ::* '''Iyt tyopa <u>byu</u> ha mes.'''....''She walked <u>up to/as far as</u> the door.'' ::* '''Ha twob tojbwa <u>bey</u> goblar.'''....''The man was killed <u>with/by</u> a knife.'' ::* '''Et xu ga fiay ser <u>bay</u> at vyel <u>boy</u> at.'''....''You would do better to be <u>with</u> me than <u>without</u> me.'' ::* '''Teaxu <u>ib</u> ha amar.'''....''Look <u>away</u> from the sun.'' ::* '''Von teaxu iz <u>ub</u> ha man.'''....''Don't look directly <u>toward</u> the light.'' ::* '''Yibdaliru <u>ub</u> ha uj bi eta pop.'''....''Call me <u>toward</u> the end of your trip.'' ::* '''Emkyoxu eta pur <u>yub</u> ha tam.'''....''Park the car <u>near</u> the house.'' ::* '''At voy se <u>yib</u> et.'''....''I'm not <u>far from</u> you.'' ::* '''Iyt simpa <u>za</u> at.''' ....''She sat <u>in front of</u> me.'' ::* '''Et yeyfe simbier <u>zo</u> hua toyb.'''....''You should sit <u>in back of</u> that woman.'' ::* '''Embu has <u>zu</u> ha mis.'''....''Put it <u>to the left of</u> the door.'' ::* '''At simpo <u>zi</u> et.'''....''I will sit <u>to the right of</u> you.'' ::* '''Ha pat besa <u>ze</u> ha tim.'''....''The bird stayed <u>in the middle of</u> the room.'' ::* '''Mil upeye <u>zye</u> ha yijun.'''....''Water is coming <u>through</u> the opening.'' ::* '''Bikiu je pen <u>zey</u> ha domep.'''.....''Take care when going <u>across</u> the street.'' ::* '''Eso ivan <u>zya</u> ha mir.'''....''There will be happiness <u>throughout</u> the world.'' ::* '''His xwo <u>ja</u> zajub.''' ....''This will happen <u>before</u> tomorrow.'' ::* '''Esa mapil <u>je</u> ha moj.'''....''There was a storm <u>during</u> the night.'' ::* '''<u>Ju</u> zamaj.'''....''<u>Until</u> tomorrow morning.'' ::* '''At voy teataye et <u>ji</u> zoyejub.'''....''I have not seen you <u>since</u> last week.'' ::* '''Diwe xu hes <u>av</u> at.'''....''Please do something <u>for</u> me.'' ::* '''Hia dyes se <u>ayv</u> dalzeyntun.'''....''This book is <u>about</u> linguistics.'' ::* '''Hia dyen se din <u>vyel</u> ewa fiuti.'''....''This book is a story <u>about</u> two lovers.'' ::* '''Datan se ga fia <u>vyel</u> nas.'''....''Friendship is better <u>than</u> money.'' ::* '''Hos se ge fua <u>vyel</u> has hu yat xola zojab.'''....''Nothing is as bad <u>as</u> what we underwent last year.'' ::* '''Yit yexeya <u>ov</u> yat.'''....''They were working <u>against</u> us.'' ::* '''Ha vakdibut dopoxa at <u>oyv</u> ata azovdeyni.'''....''The police officer arrested me <u>despite</u> my protests.'' ::* '''At se <u>ev</u> hua doyafkexut.'''....''I am <u>neither for nor against/neutral toward</u> that candidate.'' ::* '''Et <u>ay</u> Bob yeyfe ser dati.'''....''You <u>and</u> Bob should be friends.'' ::* '''Duhot ako, et <u>ey</u> at?'''....''Who will win, you <u>or</u> I?'' ::* '''Hyat <u>oy</u> hwut ta ha dud.'''....''Everyone <u>but</u> that guy knew the answer.'' ::* '''Esa mag <u>yub</u> at.'''....''There was a fire <u>near</u> me.'':: ::* '''Voy ese fabi <u>yuz</u> ata tam.'''....''There are no trees <u>around</u> my house.'' ::* '''Et yafo tyoper <u>yez</u> ha kunad.'''....''You'll have to walk <u>along</u> the edge.'' ::* '''Ese gla mari <u>yiz</u> yata amar.'''....''There are many stars <u>beyond</u> our sun.'' ::* '''Ha fepet tyopa iz <u>zye</u> hia mes.'''....''The cat walked right <u>through</u> this door.'' ::* '''<u>Boy</u> yombiel, tej voy se fia.'''....''<u>Without</u> ice cream, life is not good.'' ::* '''Et voy se <u>gel</u> at.'''....''You are not <u>like</u> me.'' ::* '''Et se hyagla <u>ogel</u> at.'''....''You are totally <u>unlike</u> me.'' ::* '''Ewa <u>gab</u> ewa gese uwa.'''....''Two <u>plus</u> two equals four.'' ::* '''Uwa <u>gob</u> ewa gese ewa.'''....''Four <u>minus</u> two equals two.'' ::* '''Ewa <u>gal</u> ewa gese uwa.'''....''Two <u>times</u> two equals four.'' ::* '''Ewa <u>gol</u> ewa gese awa.'''....''Two <u>divided by</u> two equals one.'' ::* '''Uwa <u>gar</u> ewa gese asya.'''....''Four squared (4<sup>2</sup>) equals sixteen. (Lit: Four <u>to the power of</u> two...)'' ::* '''Alya <u>gor</u> e gese u.'''....''The square root (√16) of sixteen is four. (Lit: Sixteen <u>to the minus power of</u> two...)'' === Hybridized Prepositions === :: Some of the above prepositions can be hybridized: ::* '''<u>bui</u> taam'''....''<u>to and fro</u> home'' ::* '''<u>zui</u> ha dodalut'''....''<u>to the left and right of</u> the speaker'' ::* '''<u>gaob</u> glos'''....''<u>plus or minus</u> a bit'' ::* '''<u>aov</u> at'''....''<u>for or against</u> me'' ::* '''<u>aoyeb</u> ha tim'''....''<u>in and out of</u> the room'' ::* '''<u>aob</u> ha seem'''....''<u>on and off</u> the counter'' == Compound Prepositions == : '''''Compound prepositions''''' require the use of multiple morphemes, including prepositions, adverbs, and nouns. === Compound Prepositions Using Adverbs === : There are certain directional adverbs that can play a part in forming prepositional phrases, but cannot act as prepositions in and of themselves: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Adverbs Used in Compound Prepositions |- | '''iz'''....''directly, straight'' || '''uz'''....''indirectly, roundabout'' |- | '''yab'''....''up'' || '''yob'''....''down'' |- | '''zay'''....''forward, ahead'' || '''zoy'''....''back'' |- | '''zi'''....''right'' || '''zu'''....''left'' |} : The next chart lists some compound prepositions using the above adverbs or other combinations. Note that when combining two words, if the first word ends in '''b''' and the second begins with '''b''', one of the '''b''' 's is dropped. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Compound Prepositions Using Adverbs and Other Prepositions |- ! Compound Preposition !! Example |- | '''yabu'''....''up to'' (< '''yab + bu''')|| '''It fu paper <u>yabu</u> ha mam.'''....''He would like to fly <u>up to</u> the sky.'' |- | '''yabi'''....''up from'' (< '''yab + bi''') || '''Su <u>yabi</u> ha sum.'''....''Get <u>up from</u> the bed.'' |- | '''yabey'''....''up (by way of)'' (< '''yab + bey''') || '''Yat tyoyapo <u>yabey</u> ha memyayz.'''....''We will walk <u>up</u> the hill.'' |- | '''yabe'''....''up at'' (< '''yab + be''')|| '''Ha kapet kaxwa <u>yabe</u> ha tam.'''....''The dog was found <u>up at</u> the house.'' |- | '''yabab'''....''up on, upon'' || '''Ha fepet se <u>yabab</u> ha abtamas.'''....''The cat is <u>up o</u>n the roof.'' |- | '''yobu'''....''down to'' (< '''yab + bu''') || '''Igpu <u>yobu</u> ha obmos.'''....''Run <u>down to</u> the cellar.'' |- | '''yobi'''....''down from'' (< '''yab + bi''') || '''Ha tat upa <u>yobi</u> ha mam.'''....''The angel came <u>down from</u> the sky.'' |- | '''yobey'''....''down (by way of)'' || '''Iyt igtyoyapa <u>yobey</u> ha meab.'''....''She ran <u>down</u> the hill.'' |- | '''yobe'''....''down at'' || '''Ha dyes kaxwa <u>yobe</u> ha obem.'''....''The book was found <u>down at</u> the bottom.'' |- | '''yobab'''....''down on'' || '''Has kaxwa <u>yobab</u> eta oybmos.'''....''It was found <u>down on</u> your floor.'' |- | '''yebu'''....''into'' || '''It pusa <u>yebu</u> ha mip.'''....''He jumped <u>into</u> the river.'' |- | '''yebi'''....''in from'' || '''Upu <u>yebi</u> ha oma oyebem.'''....''Come <u>in from</u> the cold outdoors.'' |- | '''oyebe'''....''out in/at'' || '''Ha tudi sa <u>oyebe</u> ha zodeym.'''....''The children were <u>out in</u> the backyard.'' |- | '''oyebi'''....''out from'' || '''Yepu <u>oyebi</u> ha om.'''....''Come in <u>out from</u> the cold.'' |- | '''oyebu'''....''out to'' || '''Yat fu peper <u>oyebu</u> ha meim.'''....''We'd like to ride <u>out to</u> the countryside.'' |- | '''izbu'''....''straight to'' || '''Pu <u>izbu</u> fyomir!''' ....''Go <u>straight to</u> hell!'' |- | '''izoybi'''....''right back from'' || '''It upu <u>izoybi</u> ha yexim.'''....''He came <u>right back from</u> the office.'' |- | '''zaybu'''....''on to, forth to, ahead to'' || '''Ha bixpur popa <u>zaybu</u> zona doym.'''....''The train traveled <u>on to</u> the next town.'' |- | '''zeybi'''....''across from'' || '''At simbeseya <u>zeybi</u> et.'''....''I was sitting <u>across from</u> you.'' |- | '''zoybi'''....''back from'' || '''At se <u>zoybi</u> ha yextim.'''....''I am <u>back from</u> the office.'' |- | '''zoybu'''....''back to'' || '''Pu <u>zoy bu</u> ha nam.'''....''Go <u>back to</u> the store.'' |- | '''zoybe'''....''back at'' || '''Duven et se <u>zoybe</u> tam?'''....''Are you <u>back at</u> home?'' |- | '''zubi'''....''to the left of'' || '''Ata tam se <u>zubi</u> hut.'''....''My house is <u>to the right of</u> that guy's.'' |- | '''zibi'''....''to the right of'' || '''Huta tam se <u>zibi</u> atas.'''....''That guy's house is <u>to the right of</u> mine.'' |} === Prepositional Phrases Using Spatial Nouns === : The following chart shows how prepositions and directional adverbs can be joined with the spatial ending '''-(e)m''' meaning ''place'' (or others) to be form spatial nouns, which, in turn, can be used in idiomatic prepositional phrases: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Spatial Nouns Built on Prepositions or Adverbs |- | '''ab'''....''on'' || '''abem'''....''top''<br>'''abned'''....''upper surface''<br>'''abmas'''....''roof'' |- | '''eb'''....''between'' || '''ebem'''....''interstice''<br>'''ebjob'''....''interval''<br>'''ebnod'''....''intersection''<br>'''ebmas'''....''partition'' |- | '''ob'''....''off'' || '''obem'''....''bottom''<br>'''obned'''....''lower surface''<br>'''obmas'''....''foundation'' |- | '''ayb'''....''above'' || '''aybem'''....''area above''<br>'''aybmas'''....''ceiling'' |- | '''oyb'''....''below'' || '''oybem'''....''area below''<br>'''oybmas'''....''floor'' |- | '''eyb'''....''among'' || '''eybem'''....''midst'' |- | '''yab'''....''up'' || '''yabem'''....''upstairs, upper area''<br>'''yabneg'''....''top level'' |- | '''yob'''....''down'' || '''yobem'''....''downstairs, lower area''<br>'''yobneg'''....''bottom level'' |- | '''yeb'''....''in'' || '''yebem'''....''inside, interior, indoors''<br>'''yebnig'''....''inner space'' |- | '''oyeb'''....''out'' || '''oyebem'''....''outside, exterior, outdoors'' |- | '''za'''....''in front of'' || '''zam'''....''front, foreground''<br>'''zan'''....''face'' |- | '''ze'''....''in the middle of'' || '''zem'''....''middle''<br>'''zenod'''....''center, hub''<br>'''zen'''....''center''<br>'''zenad'''....''median'' |- | '''zo'''....''behind'' || '''zom'''....''back, rear, background'' |- | '''zi'''....''right'' || '''zim'''....''right area''<br>'''zikum'''....''left side''<br>'''ziizon'''....''right direction''<br>'''imer'''....''east'' |- | '''zu'''....''left'' || '''zum'''....''left area''<br>'''zukum'''....''left side''<br>'''zuizon'''....''left direction''<br>'''umer'''....''west'' |- | '''iz'''....''straight'' || '''izmep'''....''direct route''<br>'''iznad'''....''vector''<br>'''izon'''....''direction'' |- | '''uz'''....''indirectly'' || '''uzmep'''....''detour''<br>'''uznad'''....''curve''<br>'''uzon'''....''deviation'' |- | '''yub'''....''near'' || '''yubem'''....''vicinity''<br>'''yubkum'''....''near side''<br>'''yubaj'''....''recent past'' |- | '''yib'''....''far'' || '''yibem'''....''distance''<br>'''yibkum'''....''far side''<br>'''yibnod'''....''pole''<br>'''yiboj'''....''distant future'' |- | '''yuz'''....''around'' || '''yuzem'''....''perifery''<br>'''yuznad'''....''perimeter''<br>'''yuznig'''....''environment'' |- | '''yiz'''....''beyond'' || '''yizem'''....''area beyond''<br>'''yiznod'''....''extremity'' |} : The following chart shows phrasal prepositions that can be created with the use of the spatial nouns in the previous section or other nouns. These phrases are considered idiomatic, because they are abbreviated by the omission of the definite article '''ha''' in front of the noun: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Idiomatic Phrasal Prepositions ! At Somewhere !! To Somewhere !! From Somewhere |- | '''be abem bi'''....''at the top of'' || '''bu abem bi'''....''to the top of'' || '''bi abem bi'''....''from the top of'' |- | '''be obem bi'''....''at the bottom of'' || '''bu obem bi'''....''to the bottom of'' || '''bi obem bi'''....''from the top of'' |- | '''be ebem bi'''....''in the area between'' || '''bu ebem bi'''....''to the area between'' || '''bi ebem bi'''....''from the area between'' |- | '''be aybem bi'''....''above, over'' || '''bu aybem bi'''....''to the area above'' || '''bi aybem bi'''....''from the area above'' |- | '''be oybem bi'''....''below, under'' || '''bu oybem bi'''....''to the area below'' || '''bi oybem bi'''....''from the area below'' |- | '''be eybem bi'''....''amid'' || '''zye eybem bi'''....''through the midst of'' || '''bi eybem bi'''....''from the midst of'' |- | '''be zam bi'''....''at the front of'' || '''bu zam bi'''....''to the front of'' || '''bi zam bi'''....''from the front of'' |- | '''be zem bi'''....''at the middle of'' || '''bu zem bi'''....''to the middle of'' || '''bi zem bi'''....''from the middle of'' |- | '''be zom bi'''....''at the back of'' || '''bu zom bi'''....''to the back of'' || '''bi zom bi'''....''from the back of'' |- | '''be zim bi'''....''at the right of'' || '''bu zim bi'''....''to the right of'' || '''bi zim bi'''....''from the right of'' |- | '''be zum bi'''....''at the left of'' || '''bu zum bi'''....''to the left of'' || '''bi zum bi'''....''from the left of'' |- | '''be yubem bi'''....''in the vicinity of'' || '''bu yubem bi'''....''to the vicinity of'' || '''bi yubem bi'''....''from the vicinity of'' |- | '''be yibem bi'''....''at a distance from'' || '''bey azon bi'''....''by dint of'' || '''be avon bi'''....''in favor of'' |- | '''be ubem bi'''....''in the direction of'' || '''bay ux bi'''....''with assistance from'' || '''be byux bay'''....''in touch with'' |- | '''be yabem bi'''....''in the upper reaches of'' || '''be vyen bu'''....''in relation to'' || '''doytaxwa bay'''....''associated with'' |- | '''be yobem bi'''....''in the bottom area of'' || '''be ned bi'''....''on the level of'' || '''be mep bu'''....''on the way to, en route'' |- | '''be yebem bi'''....''on the inside of, inside'' || '''be oyebem bi'''....''on the outside of, outside'' || '''bu oyebem bi'''....''to the exterior of'' |- | '''bey mep bi'''....''by way of, via'' || '''be kum bi'''....''beside, at the side of'' || '''be ij bi'''....''at the start of'' |- | '''be uj bi'''....''at the end of'' || '''bey uxun bi'''....''by means of'' || '''be kunad bi'''....''at the edge of'' |- | '''be nod bi'''....''at the point of'' || '''be yebem bi'''....''at the interior of, inside'' || '''be oyebem bi'''....''at the exterior of, outside'' |- | '''be nad bay'''....''in line with'' || '''be uznod bi'''....''alongside'' || '''be tes bi'''....''in the sense of'' |- | '''be teas bi'''....''in the guise of'' || '''be san bi'''....''in the form of'' || '''be yanx bi'''....''in conjunction with'' |- | '''be bol bi'''....''in support of'' || '''be gab bu'''....''in addition to'' || '''be dyun bi'''....''in the name of'' |- | '''be avson bi'''....''on behalf of'' || '''be vyeson bi'''....''on the subject of'' || '''bay yux bi'''....''with the aid of'' |} == Adjectivized Prepositions == : Simple prepositions can be converted into adjectives by suffixing the adjectival ending '''-a'''. Here are some examples: ::* '''aba'''....''superior'' (ex. '''aba doyevam'''....''superior court'') ::* '''oba'''....''inferior'' ::* '''ayba'''....''upper'' ::* '''oyba'''....''lower'' ::* '''yaba'''....''high'' ::* '''yoba'''....''low'' ::* '''eba'''....''in-between'' ::* '''gaba'''....''additional'' ::* '''goba'''....''subtractive'' ::* '''gala'''....''multiple'' ::* '''gaza'''....''logarithmic'' ::* '''gea'''....''equal'' ::* '''gela'''....''same'' ::* '''iba'''....''away'' ::* '''ogea'''....''unequal'' ::* '''jaa'''....''anterior, prior'' ::* '''jea'''....''present'' ::* '''joa'''....''posterior'' ::* '''ava'''....''in favor, favorable, pro'' ::* '''eva'''....''neutral'' ::* '''ova'''....''against, unfavorable, counter'' ::* '''oyva'''....''opposite, inverse'' ::* '''yeba'''....''inner'' ::* '''oyeba'''....''outer'' ::* '''yeza'''....''flush'' ::* '''yuba'''....''near'' ::* '''yiba'''....''far, distant'' ::* '''yiza'''....''extreme, yonder'' ::* '''yuza'''....''circular'' ::* '''zaa'''....''front, anterior'' ::* '''zea'''....''medial, middle'' ::* '''zoa'''....''rear, back, posterior'' ::* '''zia'''....''left'' ::* '''zua'''....''right'' : A slight nuanced meaning can be achieved by suffixing '''-na''' instead of '''-a'''. ::* '''jana'''....''previous'' ::* '''jona'''....''next'' ::* '''zana'''....''next, anterior'' ::* '''zona'''....''last, posterior'' ::* '''ovna'''....''antithetical'' ::* '''yebna'''....''interior, internal'' ::* '''oyebna'''....''exterior, external'' ::* '''zena'''....''central'' ::* '''ebna'''....''intermediate'' ::* '''yizna'''....''ulterior, extreme'' ::* '''yuzna'''....''peripheral'' ::* '''yubna'''....''proximate'' == Prepositions and Adverbs as Verb Prefixes == : Prepositions and adverbs can be prefixed to verbs to alter their directionality. If such a prefix ends in '''-b''' and the verb begins with '''b''' or '''p''', the final '''b''' of the prefix is dropped. : Let take the verbs '''per''' (''to go'') and '''ber''' (''to put'') as examples: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Prepositional/Adverbial Prefixes on Verbs |- ! Preposition/Adverb !! '''per''' (intr.) !! '''ber''' (tr.) |- | '''ab'''....''on'' || '''aper'''....''to get on, to board'' || '''aber'''....''to put on, apply'' |- | '''ob'''....''off'' || '''oper'''....''to get off, to dismount'' || '''ober'''....''to take off, remove'' |- | '''eb'''....''between'' || '''eper'''....''to intervene'' || '''eber'''....''to block'' |- | '''ib'''....''away'' || '''iper'''....''to go away'' || '''iber'''....''to receive'' |- | '''ub'''....''toward'' || '''uper'''....''to come'' || '''uber'''....''to send'' |- | '''yab'''....''up'' || '''yaper'''....''to get up, to rise, to ascend'' || '''yaber'''....''to raise'' |- | '''yob'''....''down'' || '''yoper'''....''to get down, to descend'' || '''yober'''....''to lower'' |- | '''yeb'''....''in'' || '''yeper'''....''to get in, to enter'' || '''yeber'''....''to put in'' |- | '''oyeb'''....''out'' || '''oyeper'''....''to get out, to exit'' || '''oyeber'''....''to take out'' |- | '''yub'''....''near'' || '''yuper'''....''to get near, to approach'' || '''yuber'''....''to bring'' |- | '''yib'''....''far'' || '''yiper'''....''to retreat, to distance oneself'' || '''yiber'''....''to remove'' |- | '''yiz'''....''beyond'' || '''yizper'''....''to pass, exceed'' || '''yizber'''....''to pass'' |- | '''yuz'''....''around'' || '''yuzper'''....''to go around, to circulate'' || '''yuzber'''....''to encircle'' |- | '''yez'''....''along'' || '''yezper'''....''to go along'' || '''yezber'''....''to set along'' |- | '''yan'''....''together'' || '''yanper'''....''to get together, to meet'' || '''yanber'''....''to join'' |- | '''yon'''....''apart'' || '''yonper'''....''to go apart, to separate''|| '''yonber'''....''to separate'' |- | '''ja'''....''before'' || '''japer'''....''to go before, to precede'' || '''jaber'''....''to prepare'' |- | '''jo'''....''after'' || '''joper'''....''to go after, to follow''|| '''jober'''....''to postpone'' |- | '''za'''....''front'' || '''zaper'''....''to lead, to go in front''|| '''zaber'''....''to put in front'' |- | '''zo'''....''back'' || '''zoper'''....''to lag, to go in back'' || '''zober'''....''to delay'' |- | '''zay'''....''forward'' || '''zayper'''....''to go forward, to advance'' || '''zayber'''....''to put forward'' |- | '''zoy'''....''backward'' || '''zoyper'''....''to go back, to return'' || '''zoyber'''....''to put back'' |- | '''zey'''....''across'' || '''zeyper'''....''to go across, to transit'' || '''zeyber'''....''to transfer'' |} == Separable Verb Prefixes == : Verbal prefixes that are formed from prepositions and adverbs can usually be "unpacked", that is, treated as separate words. This works like separable verbs in German. The following table demonstrates this: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Separable Verb Prefixes |- ! Verb-bound !! Unpacked !! English |- | '''Mapuzlun <u>yuzpa</u> yata tam.''' || '''Mapuzlun <u>pa yuz</u> yata tam.'''||''A tornado circled/went around our house. (= went around)'' |- | '''Ha yux bi calk yeyfe <u>yobnogxwer</u>.''' || '''Ha yux bi cal yeyfe <u>nogxwer yob</u>.'''||''The use of carbon should be downscaled. (= scaled down)'' |- | '''Yat <u>zaybuxo</u> hia dovyabdren.''' || '''Yat <u>buxo</u> hia dovyabdren <u>zay</u>.'''||''We shall advance this legislation. (= push forward)'' |} <noinclude>{{Chapter navigation with TOC|Verbs|Conjunctions}}</noinclude> rcjj2erqui6z661e7kpom9got29qt6b Mirad Grammar/Conjunctions 0 417651 4635288 4493065 2026-05-11T16:55:13Z Tyoyafud 6233 /* Adverbial Coordinating Conjunctions */ 4635288 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> = Types of Conjunctions = : Conjunctions are words that join or introduce clauses. There are two major types of conjunctions, with some minor categories noted below: ::1. '''''Coordinating Conjunctions''''' ::::* Simple Linking Conjunctions, such as ''and, or, but'' ::::* Correlative Conjunctions, such as ''either...or, neither...or, both...and'' ::::* Adverbial Coordinating Conjunctions, such as ''then, also, therefore'' ::2. '''''Subordinating Conjunctions''''' ::::* Complementizing Conjunctions, such as ''that, if, whether, lest'' ::::* Relative Conjunctions, such as ''as, when, because, while'' == Coordinating Conjunctions == : Mirad has three types of coordinating conjunctions, as shown in the following charts: === Simple Linking Conjunctions === :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Simple Linking Conjunctions ! Conjunction !! Example |- | '''ay'''....''and'' || '''At oveko <u>ay</u> at ako.'''<br>''I will compete <u>and</u> I will win.'' |- | '''ey'''....''or'' || '''Bosu <u>ey</u> at tuyapyexo et.'''<br>''Be still <u>or</u> I will spank you.'' |- | '''oy'''....''but'' || '''It yeka <u>oy</u> it oka.'''<br>''He tried <u>but</u> he lost.'' |- | '''oey'''....''nor'' || '''At voy tilo <u>oey</u> at telo.'''<br>''I shall not drink, <u>nor</u> shall I eat.'' |- | '''bayhus'''....''yet'' || '''At ayse hyas at fe, <u>bayhus</u> at voy se iva.'''<br>''I have everything I want, <u>yet</u> I'm not happy.'' |- | '''avhus'''....''so'' || '''Ha amar yapaye, <u>avhus</u> et yefe sumpier.'''<br>''The sun has risen, <u>so</u> you must get up out of bed.'' |} === Correlative Coordinating Conjunctions === : The following conjunctions come in pairs: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Correlative Coordinating Conjunctions ! Conjunction !! Example |- | '''hyaewa...ay'''....''both...and'' || '''At <u>hyaewa</u> dyede <u>ay</u> dre Mirad.'''<br>''I <u>both</u> read <u>and</u> write Mirad.'' |- | '''hyeawa...ey'''....''either...or'' || '''Et yafe <u>hyeawa</u> beser <u>ey</u> pier. Se eta kebiun.'''<br>''You can <u>either</u> stay <u>or</u> leave. It's your choice.'' |- | '''hyoawa...oey'''....''neither...nor'' || '''Yat <u>hyoawa</u> move <u>oey</u> tile.'''<br>''We <u>neither</u> smoke <u>nor</u> drink.'' |- | '''voy hyawa'''...'''oy (gay)'''....''not only...but (also)'' || '''At <u>voy hyawa</u> deuze <u>oy gay</u> at daze.'''<br>''I <u>not only</u> sing <u>but also</u> I dance.'' |- | '''ven'''....'''avhus'''....''if...then'' || '''<u>Ven</u> et te ha dud, <u>avhus</u> du has.'''<br>''<u>If</u> you know the answer, <u>then</u> say it.'' |- |'''ha'''...'''ha'''....''the...the'' || '''<u>Ha</u> ga et tixe, <u>ha</u> ga et akujo.'''<br>''<u>The</u> more you study, <u>the</u> more you'll succeed.'' |- | '''ga yukay'''...''vyel''....''rather...than'' || '''At oku <u>ga yukay</u> <u>vyel</u> vyoeker.'''<br>''I'd <u>rather</u> lose <u>than</u> cheat.'' |- | '''ji van'''...'''iz huj'''....''no sooner...than'' || '''<u>Ji van</u> ha dezut yepa, <u>iz huj</u> ha hyaydeux ija.'''<br>''<u>No sooner</u> did the actor enter <u>than</u> the applause began.'' |- | '''huugla'''...'''van'''....''so/such...that''||'''Ha map sa <u>huugla</u> aza <u>van</u> ha fab pyoxwa.'''<br>''The wind was <u>so</u> strong <u>that</u> the tree was felled.'' |- | '''ven'''...'''ey (voy)'''....''whether...or (not)'' || '''<u>Ven</u> et te is <u>ey voy</u>, at tadioye.'''<br>''<u>Whether</u> you know it <u>or not</u>, I am about to get married.'' |} === Adverbial Coordinating Conjunctions === : Some grammars call these conjunctive adverbs: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Adverbial Coordinating Conjunctions |- ! Conjunction !! Example |- | '''jo hus / joy'''<br>''then, next, after that'' || '''Yat deuza, <u>jo hus</u> hyat daza.'''<br>''We sang, <u>then</u> everyone danced.'' |- | '''je hus / jey'''<br>''meanwhile'' || '''<u>Je hus</u>, at ujba hyas.'''<br>''<u>Meanwhile</u>, I finished everything.'' |- | '''av hus'''<br>''so, therefore'' || '''It vuda at, <u>av hus</u> at pia.'''<br>''He insulted me, <u>so</u> I left.'' |- | '''(gey) ov hus'''<br>''nevertheless, even so, despite that, yet, however'' || '''At yexa kyotepay, <u>ov hus</u>, at ujoka.'''<br>''I work diligently, <u>yet</u> I failed.'' |- | '''gel hus / gelay'''<br>''likewise, also, similarly'' || '''At daze. <u>Gel hus</u>, at deuze.'''<br>''You dance; <u>likewise</u>, I sing.'' |- | '''hyiyen''' / '''geyen'''<br>''in the same way, likewise'' || '''Yit xa fi; <u>hyiyen</u>, et xo gay fi.'''<br>''They did well; <u>in the same way</u>, you will too.'' |- | '''ey hyuyen hus'''<br>''otherwise, else'' || '''Du hes, <u>ey hyuyen hus</u>, piu.'''<br>''Say something, <u>otherwise</u>, leave.'' |- | '''gay'''<br>''also'' || '''Et yeka; <u>gay</u>, et ujaka!'''<br>''You tried; <u>also</u>, you succeeded!'' |- | '''be nem (bi hus)'''<br>''instead (of that)'' || '''Hyot fida iyt; <u>be nem bi hus</u>, yit fuda iyt.'''<br>''Nobody praised her; <u>instead</u>, they badmouthed her.'' |- | '''huyen'''<br>''thus, in that way'' || '''Tixu jestay; <u>huyen</u>, et ujako.'''<br>''Study diligently; <u>in that way</u>, you'll succeed.'' |- | '''av hus'''<br>''for that reason, so, therefore'' || '''At voy ifeyie has; <u>av hus</u>, at pio.'''<br>''I'm not enjoying it, <u>so</u> I will leave.'' |- | '''vray'''<br>''as a matter of fact, actually, in fact'' || '''<u>Vray</u>, et se vyaka.'''<br>''<u>In fact</u>, you're right.'' |- | '''gel jos'''<br>''consequently, as a consequence'' || '''Wit baksa; <u>gel jos</u>, wit toja.'''<br>''He got sick; <u>as a consequence</u>, he died.'' |- | '''gel xin'''<br>''as a result'' || '''At voy tixa; <u>gel xin</u>, at okuja.'''<br>''At didn't study; <u>as a result</u>, I failed.'' |- | '''ga vyel hus'''<br>''moreover, what's more'' || '''Mamila. <u>Ga vyel hus</u>, esa mamxeus.'''<br>''It rained. <u>Moreover</u>, there was thunder.'' |- | '''be hyua duni'''<br>''in other words'' || '''At voy da ha vyan; <u>be hyua duni</u>, at vyoda.'''<br>''It did not tell the truth; <u>in other words</u>, I lied.'' |- | '''jey'''<br>''meanwhile, in the meantime'' || '''Ha toboti xeya gla xeus; <u>jey</u>, at jesa tixer.'''<br>''The children were making a lot of noise; <u>meanwhile</u>, I continued to study.'' |- | '''ovay'''<br>''on the contrary'' || '''Ha tam voy se aga; <u>ovay</u>, has se gle oga.'''<br>''The house is not big; <u>on the contrary</u>, it's rather small.'' |- | '''bi hyua teasgun'''<br>''on the other hand'' || '''At voy deuze. <u>Bi hyua teasgun</u>, at eke duzar.'''<br>''I don't sing. <u>On the other hand</u>, I play a musical instrument.'' |- | '''gey bay hus'''<br>''still, even so'' || '''Voy esa duz, <u>gey bay hus</u>, ha xej sa ifxea.'''<br>''There was no music. <u>Even so</u>, the event was entertaining.'' |- | '''ujnay'''<br>''finally, in the end'' || '''<u>Unjnay</u>, hyoa fus xwa.'''<br>''<u>In the end</u>, nothing bad happened.'' |} == Subordinating Conjunctions == : Subordinating Conjunctions introduce three types of dependent or subordinate clauses: ::1. '''''Adjectival''''' subordinate clauses (also called relative clauses) ::::* He is the guy <u>that earned the most this year</u>. The subordinate clause modifies a noun in the main clause. Adjectival clauses are introduced in Mirad by the relative complementizer '''ho'''. Relative clauses are discussed in [[Mirad Grammar/Verbs#Relative Clauses|the Relative Clauses section of the chapter on Verbs]]. ::2. '''''Nominal''''' subordinate clauses (also called factive clauses) ::::* I knew <u>that she would come</u>. The subordinate clause is the object or complement of a verb in the main clause. Nominal subordinate clauses are introduced by one of the factive complementizers '''van''', '''ven''', or '''von''', depending on whether the subordinate clause is positive, conditional, or negative. ::3. '''''Adverbial''''' subordinate clauses (also called circumstantial clauses). ::::* Did you see <u>where they went</u>?. The subordinate clause is an adverbial clause modifying a verb in the main clause for time, place, manner, and other circumstances. Adverbial subordinate clauses are introduced by relative deictic adverbs like '''hom'''....''where'', '''hoj'''....''when'', and '''hosav'''....''why''. ===Complementizers=== :: The complementizers above are part of an overall scheme. In the chart below, the six complementizers act: :::* as a '''''clause linker''''', where the complementizer introduces a clause that is a statement of FACT or CONDITION, or :::* as a '''''sentence introducer''''', where the complementizer introduces a sentence that is a command/wish, a prohibition, or a yes-no question. Some of these complementizers can act in either or both roles. In actuality, all of the complementizers introduce or link a subordinate clause; it's just that in some cases, the main clause is left unexpressed. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Complementizers |- ! Type !! Complementizer !! Clause Linker !! Sentence Introducer |- !row=1| Positive / Hortative | '''van''' || ''that, the fact that'' || ''May....(something happen), Let....(something happen)'' |- !row=1| Conditional | '''ven''' || ''if, whether'' || -- |- !row=1| Negative / Prohibitive | '''von''' || ''lest, that...not'' || ''Don't'' |- !row=1| Anti-Conditional | '''oven''' || ''unless'' || -- |- !row=1| Interrogative | '''Duven...?''' || -- || ''Is it true that, say whether..., do(es)?'' |- !row=1| Relative | '''ho''' || ''that, which, who(m)'' || -- |} : Examples of these conjunctions linking a main and subordinate clause: ::* '''At ta <u>van</u> et upo.'''....''I knew <u>that</u> you would come.'' (FACTIVE) ::* '''At xa is <u>av van</u> et testu.'''....''I did it <u>so that</u> you would understand.'' ::* '''At voy ta <u>ven</u> et upo.'''....''I did not know <u>whether</u> you would come.'' (CONDITIONAL) ::* '''<u>Ven</u> et te ha dud, du has.'''....''<u>If</u> you know the answer, say it.'' (CONDITIONAL) ::* '''At yufa <u>von</u> et upu.'''....''I feared <u>lest</u> you might come.'' (PROHIBITIVE) ::* '''At voy upo <u>oven</u> et upo gay.'''....''I will not come <u>unless</u> you come, too.'' (ANTI-CONDITIONAL) ::* '''At fe teater ha tob <u>ho</u> xa his.'''....''I want to see the man <u>who</u> did this.'' (RELATIVE) ::* '''At fe teater <u>hoa</u> tob xa his.'''....''I want to see <u>which</u> man did this.'' ::* '''Iyt akeye <u>oyv van</u> iyt bayse yofi.'''....''She is winning <u>despite the fact that</u> she has disabilities.'' : Example of these conjunctions introducing different types of sentences: ::* '''<u>Van</u> yat fyadilu.'''....''<u>Let</u> us pray.'' (Hortative, i.e., A WISH) ::* '''<u>Van</u> yit teliu avol!'''....''<u>Let</u> them eat bread.'' ::* '''<u>Van</u> ha edweb yagteju.'''....''<u>May</u> the king live long.'' ::* '''<u>Duven</u> et te ha dud?'''....''<u>Do</u> you know the answer?'' (YES/NO QUESTION) ::* '''<u>Duven</u> et se tadxwa.'''....''<u>Are</u> you are married.'' (SAY WHETHER...) ::* '''<u>Von</u> (et) yufu.'''....''<u>Don't</u> (you) be afraid.'' (Prohibitive, i.e., AN INJUNCTION) ::* '''<u>Von</u> hus xwu.'''....''Let that <u>not</u> happen.'' (NEGATIVE HORTATIVE) : The sentence-initial interrogative complementizer '''Duven''' (''Is it true that?'') is used to introduce a yes/no question. The word can be analyzed as a command meaning ''Say whether...'' where '''Say...''' is the main clause in the imperative mood. ::* '''<u>Duven</u> et se tadokyayt?'''....''Are you a widow? (= <u>Say whether</u> you are...).'' : '''Av van''' <big>+</big> a predicate in the hypothetical mood expresses a "so that, in order that" clause, eg.: ::* '''At uzba ata teb <u>av van</u> at yafu teater hos xowe<sup>*</sup>.'''....''I turned my head <u>so that</u> I could see what was about to happen.'' : Using the negative complementizer, '''von''', the above sentence could be rephrased as: ::* '''At uzba ata teb <u>av von</u> at teatu hos xowe.'''....''I turned my head <u>so that</u> I wouldn't see what was about to happen.'' : Since the subject is the same in both clauses, the sentence could be expressed more easily with an infinitive: ::* '''At uzba ata teb <u>av (~ ov) teater</u> hos xowe.'''....''I turned my head <u>so as (not) to see</u> what was about to happen.'' : * <small>'''xowe''' means ''is about to happen/be done''. Unlike English, there is no relative sequencing of tenses in conjoined clauses. "''I knew she <u>would</u> come.''" is rendered in Mirad with direct sequences of tenses, i.e. as "''I knew that she <u>will</u> come.''" Also, unlike English, the "that" conjunction cannot be left out: '''At ta <u>van</u> iyt upo.'''</small> === Conjunctions with the subordinate conjunctions van/ven/von === :: Conjunctions introducing nominal subordinate clauses consist of a preposition followed by the positive complementizer '''van''', the conditional complementizer '''ven''', or the negative complementizer '''von'''. English can use a bare preposition as a conjunction, as in the sentence "He will grow up <u>before</u> you notice it." However, Mirad requires the complementizer, much as in French, where "avant" (before) must be accompanied by "que" when followed by a clause ("Il se grandira <u>avant que</u> tu ne le remarques.") Here is a chart showing the most important of these conjunctions: ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Subordinating conjunctions with '''van''' and '''ven''' |- ! Conjunction !! Example |- | '''ja van'''<br>''before'' || '''Du hay <u>ja van</u> et pio.'''<br>''Say hi <u>before</u> you leave.'' |- | '''je van'''<br>''while, as long as'' || '''<u>Je van</u> at so him, at xo gle yex av et.'''<br>''<u>While</u> I'm here, I'll do some work for you.'' |- | '''jo van'''<br>''after'' || '''At buo et has <u>jo van</u> et nuso.'''<br>''I will give it to you <u>after</u> you pay.'' |- | '''ojo van'''<br>''by the time''||'''<u>Ojo</u> et puo him, at piayo.'''<br>''By the time you get here, I will have departed.'' |- | '''ju van'''<br>''until'' || '''Yat voy ijo <u>ju van</u> et puo him.'''<br>''We won't start <u>until</u> you get here.'' |- | '''ji van'''<br>''since'' || '''At voy teataya huyenas <u>ji van</u> et sa hum.'''<br>''I had not seen such a thing <u>since</u> you were there.'' |- | '''gey ven'''<br>''even if'' || '''<u>Gey ven</u> et yontexe, at bolo et.'''<br>''<u>Even if</u> you disagree, I'll support you.'' |- | '''gel ven'''<br>''as if'' || '''Yat yeyfe axler <u>gel ven</u> yat teata hyos.'''<br>''We should act <u>as if</u> we saw nothing.'' |- | '''gey ov van'''<br>''even though, though'' || '''<u>Gey ov van</u> ha pansin sa gra yaga, at ifia has.'''<br>''<u>Even though</u> the movie was too long, I enjoyed it.'' |- | '''ov van'''<br>''(al)though, despite the fact that'' || '''At po <u>ov van</u> at voy fe.'''<br>''I'll go, <u>although</u> I don't want to.'' |- | '''av van'''<br>''so (that)'' || '''It utifbua <u>av van</u> hyuti teju.'''<br>''He sacrificed himself <u>so that</u> others might live.'' |- | '''av von'''<br>''lest, so that...not'' || '''It utifbua <u>av von</u> hyuti toju.'''<br>''He sacrificed himself <u>so that</u> others might not die (= ''lest others might die'').'' |- | '''Buwa van'''<br>''in as much as, given that'' || '''<u>Buwa van</u> iyt se tadiwa, at voy byuxo iyt.'''<br>''<u>Given that</u> she's married, I won't touch her.'' |- |'''Hij van'''<br>''now that'' ||'''<u>Hij van</u> et se him, biu hegla kafeyl.'''<br>''<u>Now that</u> you're here, have some coffee.'' |- | '''Vakuwa van'''<br>''provide that''||'''<u>Vakuwa</u> van et se yukoma, at hoydo.'''<br>''<u>Provided</u> you're comfortable, I will say my goodbyes.'' |- | '''ven'''<br>''if''||'''<u>Ven</u> yat fe iber ixuni, yat yefe yexer ga jestay.'''<br>''<u>If</u> we want to get results, we must work harder.'' |- | '''ven'''<br>''whether''||'''<u>Ven</u> et ijbo ha yexes obyose et.'''<br>''<u>Whether</u> you finish the job is up to you.'' |- | '''Oven'''<br>''unless''||'''<u>Oven</u> et do hyuyen, at dolo.'''<br>''<u>Unless</u> you say otherwise, I will be silent.'' |} === Conjunctions as Circumstantial Clause Headers === :: If the conjunction contains a deictic adverb like ''where'', ''when'', ''how'', etc., then the relative form of the deictic adverb is used. The most common of these begin with '''ho-''' or '''hye-''' and behave as in English. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Subordinating Conjunctions |- ! Conjunction !! Circumstance !! Examples |- | '''hoj'''<br>''when'' || TIME ||'''<u>Hoj</u> et pua, ha if ija.'''<br>''<u>When</u> you arrived, the fun began.'' |- | '''hyej'''<br>''whenever''|| TIME ||'''<u>Hyej</u> et dale, at hihide.'''<br>''<u>Whenever</u> you talk, I laugh.'' |- | '''hom'''<br>''where''|| PLACE || '''At voy te <u>hom</u> it pa.'''<br>''I don't know <u>where</u> he went.'' |- | '''hyem'''<br>''wherevere''|| PLACE || '''Et yafe per <u>hyem</u> et fu.'''<br>''You can go <u>wherever</u> you'd like.'' |- | '''hyam'''<br>''everywhere''|| PLACE || '''<u>Hyam</u> at pe, et se hum.'''<br>''<u>Everywhere</u> I go, you're there.'' |- | '''hosav'''<br>''why'' || CAUSE || '''Duven et te <u>hosav</u> it xa his?'''<br>''Do you know <u>why</u> he did it?'' |- | '''hosav'''<br>''because''|| CAUSE || '''It xa has <u>hosav</u> it fa teatuer yat hes.'''<br>''He did it <u>because</u> he wanted to show us something.'' |- | '''hoyen'''<br>''how, as''|| MANNER || '''Xu <u>hoyen</u> et fu van hyuti axlu ub et.'''<br>''Do <u>as</u> you'd want others to act toward you.'' |- | '''hogla'''<br>''as'' || DEGREE || '''Yexu <u>hogla</u> ugay et efe.'''<br>''Work <u>as</u> slowly as you need to.'' |- | '''hyegla'''<br>''however much (that)''|| DEGREE || '''Dalu <u>hyegla</u> et efo.'''<br>''Talk <u>however much</u> you need to.'' |- | '''hoglas'''<br>''as much (as)'' || QUANTITY || '''At telio <u>hoglas</u> at fe.'''<br>''I will eat <u>as much as</u> I want.'' |} : Other conjunctions of circumstance are sometimes used. This is not a complete list. <noinclude>{{Chapter navigation with TOC|Prepositions|Interjections}}</noinclude> el72sommhzf2rcqw0sdmfnjqjc34x70 Mirad Grammar/Interjections 0 417652 4635291 4490717 2026-05-11T17:00:58Z Tyoyafud 6233 /* Verb Forms of Exclamations */ 4635291 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> == Assertive Interjections == [[File:Exclamation mark 2.svg|thumb|]] : Interjections in Mirad include the assertive expressions ''yes'', ''no'' and ''maybe'': :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Common Assertive Interjections |- | '''Va!''' || ''Yes!'' |- | '''Ve!''' || ''Maybe!, Perhaps!'' |- | '''Vo!'''* || ''No!'' |} : <small>* Not to be confused with '''voy''', which translates the English adverb '''not''', as in '''Vo, wit <u>voy</u> se tadxwa.'''....''No, he is <u>not</u> married.''</small> : Examples: ::* '''<u>Va</u>. At se otadxwa.'''....''<u>Yes</u>. I am unmarried.'' ::* '''<u>Va</u>. At se vay otadxwa.'''....''<u>Yes</u>. I am indeed/really unmarried.'' ::* '''<u>Va</u>, vay.'''....''<u>Yes</u>, indeed.'' ::* '''<u>Va</u> ay vo. Hus vey se vyaa.'''....''<u>Yes</u> and no. That may be true.'' ::* '''<u>Va</u> ey vo?'''....''<u>Yes</u> or no?'' ::* '''<u>Ve</u>. At te voy valay.'''....''<u>Maybe</u>. I don't know for sure.'' ::* '''<u>Vo</u>. At voy vatexe et.'''....''<u>No</u>. I don't believe you.'' ::* '''<u>Vo</u>! Dilwe von xu hus.'''....''<u>No</u>! Please don't do that.'' ::* '''Et se Amerikama, <u>vao</u>?'''....''You're American, <u>yes or no</u>?'' ::* '''Ven <u>va</u>, (van et) xu has.'''....''If <u>so</u>, (let you) do it.'' ::* '''Ven <u>vo</u>, von (et) xu has.'''....''If <u>not</u>, don't (you) do it.'' : There are also some hybrid combinations of the above assertive expressions: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Hybrid Interjections |- | '''Vao?''' || ''Yes or no?'' |- | '''Vea!''' || ''Maybe so!'' |- | '''Veo!'''* || ''Maybe not!'' |} == H interjections == : There is a group of common interjections called the '''''H interjections''''', because they all begin with the letter '''h''': :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Greetings |- !row=1| Initial Greeting | '''hay!''' || ''Hello!, Hi!'' |- !row=1| Vocative Greeting | '''hey!''' || ''Hey!, O!, Oh!'' |- !row=1| Terminal Greeting | '''hoy!''' || ''Goodbye!, Bye!'' |- !row=1| Proximal Specifier | '''hiy!''' || ''Voici!, Here is...'' |- !row=1| Distal Specifier | '''huy!''' || ''Voila!', There is...'' |- !row=1| Positive Exclamation | '''hyay!''' || ''Great! Wow!, Bravo!, Woopee!, Hurrah!'' |- !row=1| Surprise Exclamation | '''hyey!''' || ''What a...!, Oh!, Well!'' |- !row=1| Negative Exclamation | '''hyoy!''' || ''What a pity!, It's a shame!, Woe is...!, Darn it!, Yikes!, Boo!'' |- !row=1| Expression of Thanks | '''hway!<sup>1</sup>''' | ''Thanks!'' |- !row=1| Expression of Welcome | '''hwey!''' || ''You're welcome!'', ''Please'' |- !row=1| Expression of Sorrow | '''hwoy!''' || ''Sorry!'', ''Excuse me!'' |- !row=1| Expression of Joy | '''hwiy!''' || ''Whee!'', ''O la la!'' |- !row=1| Expression of Pain | '''hwuy!''' || ''Ouch!'', ''Ow!'', ''That hurts!'' |- !row=1| Laughter | '''hihi!''' | ''Ha ha!'', ''Hee hee!'' |- !row=1| Lamentation | '''huhu!''' | ''Boo hoo!'', ''Woe is me!'', ''Oy veh!'' |- !row=1| Admiration | '''hwaw!<sup>2</sup>''' || ''Wow!'', ''What a show!'' |- !row=1| Disgust | '''hwow!'''<sup>3</sup> || ''Yuck!'', ''Eeoow!'', ''Gross!'' |} : <sup>1</sup><small>Pronounced like English ''why''. Mirad '''hw''' is pronounced like English '''wh'''.</small> : <sup>2</sup><small>Pronounced like English ''wh+aw''.</small> : <sup>3</sup><small>Pronounced like English ''wh+oh''.</small> === Examples of H Exclamations === ::* '''<u>Hay</u>! Ata dyun se Johan.'''....''<u>Hi</u>! My name is John.'' ::* '''<u>Hey</u>, Johan! Duhoyen et xeye?'''....''<u>Hey</u>, John, how are you doing?'' ::* '''<u>Hey</u>, Tot!'''....''<u>O</u>, God!'' ::* '''<u>Hoy</u>. At teato et zajub.'''....''<u>Bye</u>. I will see you tomorrow.'' ::* '''<u>Hiy</u> ha dyen ho et dila.'''....''<u>Here's</u> the book you requested.'' ::* '''<u>Hiy</u> Tob.'''....''<u>Behold</u> Man. (<u>Ecce</u> Homo).'' ::* '''<u>Hiy</u> ata dyundraf.'''....''<u>Here's</u> my caling card.'' ::* '''<u>Huy</u>! Se xwa.'''....''<u>Voil&agrave;</u>! It's done.'' ::* '''<u>Huy</u> hos at yaka.'''....''<u>There's</u> what I expected.'' ::* '''<u>Hyay</u> et!'''....''Good for you!'' ::* '''<u>Hyay</u>! Et utnaze his.'''.....''<u>Bravo</u>! You deserve this.'' ::* '''<u>Hway</u>! Et sa gla fitipa.'''.....''<u>Thanks.</u>! You were very kind.'' ::* '''At fu <u>hwayder</u> et.'''....''I'd like to <u>congratulate</u> you.'' ::* '''<u>Hwey</u>!'''....''<u>You're welcome</u>!'' ::* '''Et efe <u>hwoyder</u> at.'''....''You need to <u>apologize</u> to me.'' ::* '''Fi. <u>Hwoy</u>.'''....''Ok. <u>I'm sorry</u>.'' ::* '''<u>Hyey</u> via imaj!''' ....''<u>Oh, what a</u> beautiful morning!'' ::* '''<u>Hyey</u> At ta voy van et upo.'''....''<u>Oh!</u> I didn't know you were coming.'' ::* '''<u>Hyoy</u> at.'''....''<u>Woe</u> is me.'' ::* '''<u>Hyoy</u>! Ga fia fikyen jonay.'''....''<u>Pity!</u>. Better luck next time.'' ::* '''<u>Hwoy.</u> At yefe hyoder et.'''....''<u>Sorry</u>. I must take leave of you.'' ::* '''<u>Hihi!</u> Hus sa gla diza.'''....''<u>Ha ha</u>! That was very funny.'' ::* '''Von <u>hihidu</u>.'''....''Don't <u>laugh</u>.'' ::* '''<u>Huhu!</u>.'''....''<u>Oy!</u>'' ::* '''Ha tudet voy poxo <u>huhuder</u>.'''....''The baby won't stop <u>crying</u>.'' === Expletives === : Vulgar expletives are not offered here, but may arise naturally in daily speech. === Ways to Say Please === : The English expression ''Please'' can be expressed in various ways: ::* '''<u>Hwey</u>! Yepu.'''....''<u>Please</u>! Come in.'' ('''Hwey''' can also mean ''you're welcome'' in answer to ''thank-you''. ::* '''<u>Diwe</u> von et tyopu ab ha vab.'''....''Please (= <u>it is requested lest you</u>) don't walk on the grass.'' ::* '''<u>Diwe van et</u> yanupu yat.'''....''Please (= <u>it is asked that you</u>) join us.'' ::* '''<u>Diwe</u>!'''....''<u>Please</u>!'' ::* '''<u>Xu (at) (ha) fis bi</u> yubeler at hua tyoyafi.'''....''Please (= <u>do (me) (the) favor of</u>) bring me those shoes.'' : A stronger form of ''please'' is '''dilwe'''....''it is requested''. === Verb Forms of Exclamations === : Many of the interjections in this section can be made into verbs with the addition of '''-der''' (''to utter''), eg.: ::* '''hayder'''....''greet, say hi'' ::* '''heyder'''....''address, call out to, wave down'' ::* '''hoyder'''....''say goodbye to'' ::* '''hyayder'''....''congratulate'' ::* '''hwayder'''....''thank'' ::* '''hwoyder'''....''apologize, excuse oneself, say you're sorry'' ::* '''hihider'''....''laugh'' ::* '''huhuder'''....''boo, cry'' : Some examples using the above verbs: ::* '''Be Eniged, yat <u>hayde</u> hyuti bay "Hi!".'''....''In English, we <u>greet</u> others with "Hi!".'' ::* '''<u>Heydu</u> at bay ha dyun Pedro.'''....''<u>Address</u> me with the name Pedro.'' ::* '''Yat ifu <u>hyayder</u> yet av yeta ujak.'''....''We would like to <u>congratulate</u> you on your success.'' ::* '''<u>Hyadwu</u> av eta bun.'''....''Thank-you (=<u>Be thanked</u>) for your gift.'' ::* '''Hia vyok voy se <u>hihidyefwa</u>.'''....''This mistake is not something to be laughed at (=<u>laugh-worthy</u>).'' ::* '''Von <u>huhudu</u> ayv ilokwa bil.'''....''Don't <u>cry</u> over spilt milk.'' <noinclude>{{Chapter navigation with TOC|Conjunctions|Hybrids |TOC mini}}</noinclude> g8g3o94rbrwpkhqdin2xo4veetvf2wg Mirad Grammar/Vocabulary Formation 0 417655 4635304 4612874 2026-05-11T17:18:21Z Tyoyafud 6233 /* Meronymic Vowel Gradation */ 4635304 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time''|| '''xob'''....''organization'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year''||'''xab'''....''staff'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season''||'''xeb'''....''boss'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month''||'''xib'''....''department'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day''||'''xub'''....''branch'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour''||'''xwob'''....''headquarters'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''b<u>o</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> 1ygr1aw27r3790h9tcwxhqrv19t1obx 4635306 4635304 2026-05-11T17:20:05Z Tyoyafud 6233 /* Meronymic Vowel Gradation */ 4635306 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''b<u>o</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> b4rodgny7y7cr7uqgtjtanqt4eu2jjd 4635308 4635306 2026-05-11T17:25:34Z Tyoyafud 6233 /* Vectorial Vowel Values */ 4635308 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''b<u>o</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> tkhbrrhtz3uppia8i8t4prvjihv0n3g 4635311 4635308 2026-05-11T17:28:22Z Tyoyafud 6233 /* Directional and Positional Vowel Values */ 4635311 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''yo''' || movement || (free) || ''off''|| '''b<u>yo</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> 878gr27lnn7z7cw59fkl9698fngl5qj 4635314 4635311 2026-05-11T17:31:42Z Tyoyafud 6233 /* Special Arrangement */ 4635314 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''yo''' || movement || (free) || ''off''|| '''b<u>yo</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' | | '''nak'''<br>''metric value'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> da3h5wfh17nuofedwgl69mr1p876doi 4635315 4635314 2026-05-11T17:32:36Z Tyoyafud 6233 /* Special Arrangement */ 4635315 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''yo''' || movement || (free) || ''off''|| '''b<u>yo</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nak'''<br>''metric value'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-''''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> l6vd5wz4ge3zcxnpy3qg9abjhcfxu05 4635320 4635315 2026-05-11T17:46:52Z Tyoyafud 6233 /* Most Common Mirad Prefixes */ 4635320 wikitext text/x-wiki {{TOC right|limit=3}} == Introduction == : In order to facilitate word-building and to maximize comprehension and decipherability of words, certain meanings and functions have been attached to consonants and vowels. : The vocabulary of Mirad is composed of '''''base words''''' and '''''derived words'''''. : The vocabulary is built on '''''base words''''', that is, indivisible, building-block words. The choice of the root of these words (formed generally from two or three letters) is determined by: ::* The meaning of each letter of the word. ::* The importance of the group of ideas that this word evokes in its proper sense and in the sense that is directly opposite it, eg.: ''fixed'' vs. ''variable''. ::* How frequently the word and its derivations are used in the language. ::* The geometric system of vocabulary construction (see a later section on what this is all about). ::* The logic of its composition. ::* The mnemonic associations this word suggests. : The words derived from base words in turn follow very simple laws called '''''vocabulary-building rules''''', which are spelled out below. == Base Words == : '''''Base words''''' are elements of vocabulary that cannot be broken down any further and which serve as the basis for many derived words in the language. Base words are divided into two groups: ::* Group 1:&nbsp;&nbsp;consisting of '''''nouns''''' ::* Group 2:&nbsp;&nbsp;consisting of '''''prepositions, adjectives, adverbs, conjunctions, determiners, and verbs'''''. == Base words of Group 1 == : Base words of Group 1 (nouns) are composed of three letters: :::* The first, a consonant called the '''''classifier''''' :::* The second, a vowel called the '''''ordinal''''' :::* The third, a consonant called the '''''generic''''' These words can be thought of as noun templates. :: Examples: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Base Word Composition |- ! Classifier !! Ordinal !! Generic !! Meaning |- | '''t''' || '''o''' || '''b''' || ''man'' |- | '''d''' || '''o''' || '''t''' || ''society'' |- | '''p''' || '''o''' || '''t''' || ''animal'' |- | '''f''' || '''o''' || '''b''' || ''plant'' |} == Base words of Group 2 == : Base words of Group 2 (everything but nouns) are composed of one or two letters, not including grammatical endings. If one letter, it is a consonant or sometimes a vowel(*). If two letters, they consist of a consonant + vowel combination or a vowel + consonant combination. Here are some examples (the hyphen at the end means that the base word does not stand alone, but is followed in usage by a grammatical ending such as '''-er''' (verb infinitive marker) or '''-a''' (adjective marker): ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Some Examples of Group 2 Base Words | '''b-'''....''put'' || '''p-'''....''go'' |- | '''s-'''....''be'' || '''x-'''....''do'' |- | '''d-'''....''say'' || '''t-'''....''know'' |- | '''ab'''....''on'' || '''ob'''....''off'' |- |'''bu'''....''to'' || '''bi'''....''from'' |- |'''if-'''....''love'' || '''uf-'''....''hate'' |- |'''fi-'''....''good'' || '''fu-'''....''bad'' |- |'''va'''....''yes'' || '''vo'''....''no'' |- |'''vya-'''<sup>*</sup>....''true'' || '''vyo-'''....''false'' |- | '''a'''....''one'' || '''o'''....''zero'' |} : *<small> As mentioned above, "vowel" in this case may include glided vowels, i.e. those preceded and/or followed by one of the glides '''y''' or '''w'''. So, for purposes here, '''ya''', '''ye''', '''yi''', '''yo''', '''yu''', '''wa''', and other pre- and post-glided vowels, are considered "glided vowels".</small> == Consonants and Their Meanings == :: The classifier (initial letter) and generic (final letter) in group 1 base words (nouns) are consonants. Also, group 2 base words almost always have one consonant. So, you need to be familiar with the general meaning of the consonants in the Mirad alphabet, as shown in the following chart: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Consonants and Their Meanings |- ! Consonant !! Group 1 Classifier !! Group 1 Generic !! Group 2 Classifier !! In Numbers |- | '''b''' || organ, health || organism || gesture, position || |- | '''d''' || society || family || communicating || |- | '''f''' || vegetation || textile, clothing || volition, attributes || |- | '''g''' || -- || measurement || quantity, attributes || |- | '''j''' || time || time || time || |- | '''k''' || -- || health || change, risk, attributes || |- | '''l''' || -- || element, food, liquid, nature || -- || '''l''' = ten |- | '''m''' || nature || place, building, furniture || temperature, light || '''ml''' = million<br>'''mr''' = billion |- | '''n''' || commerce || -- || -- || |- | '''p''' || animal, vehicle || motion || movement || |- | '''r''' || -- || tool, machine, cosmos || -- || '''r''' = thousand |- | '''s''' || form, image, furniture || thing || being, form, thing || '''s''' = hundred |- | '''t''' || human, body || person, animal || intelligence, knowing || |- | '''v''' || plant, color || linen || truth, attributes || |- | '''x''' || action || -- || action, doing, making || |- | '''z''' || -- || precious, art || spatial, attributes || |} : The following consonants have semantic functions rather than, or in addition to semantic values: ::* '''l''' and '''r''':&nbsp;&nbsp; Liquids used after vowels to intensify the semantics of a word, eg.: '''baer'''....''to lean'', '''baler'''....''to press'', '''barer'''....''to crush''; ::* '''y''':&nbsp;&nbsp; Glide used 1) before a stem vowel to intensify the semantics of a word, eg. '''voa'''....''negative'' -> '''vyoa'''....''false'', or 2) after a vowel to de-intensify the semantics of a word, eg. '''ama'''....''hot'' -> '''ayma'''....''warm''. ::* '''h''':&nbsp;&nbsp; Used functionally only in certain interjections like '''hoy'''....''goodbye'' and determiners like '''his'''....''this'', and has no semantic value. ::* '''w''':&nbsp;&nbsp; Has no semantic value of its own, but is used only 1) to form the masculine gender of nouns and pronouns, eg. '''tob'''....''person'' -> '''twob'''....''man'', or 2) to form the passive voice of verbs, eg. '''uber'''....''to send'' -> '''ubwer'''....''to be sent'', or 3) to form a numerical unit marker, eg. '''awa'''....''one'', or 4) sometimes to substitute for '''y''' when this letter would cause ambiguity or difficulty in pronunciation with other consonants eg. '''jwo'''....''late'', instead of '''jyo'''. ::* '''n''':&nbsp;&nbsp; In addition to its semantic values, functions often 1) as a buffer letter, as in '''ana'''....''only'', or 2) as a suffix to derive a nominal abstraction from an adjective, such as '''fian'''....''goodness'' from '''fia'''....''good'', or from a verb, such '''axnen'''....''behaving'' from '''axner'''....''to behave''. == Vowels and Their Meanings == : Ordinal vowels in Mirad have meanings or values of the following types: ::* meronymic ::* hierarchical ::* geo-specific ::* oppositional/polar ::* vectorial ::* directional and positional ::* special === Ordinal Vowel Values === :: The numerical value of ordinal vowels is shown in the chart below. The vowels beginning with '''y''' are considered pre-y-glided vowels. These numeric values serve as the "ordinal vowel" in scaled base words. See the section on [[Mirad Grammar/Phonology and Orthography#Vowels|Vowels]]. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Numeric Values of Vowels |- ! Ordinal Vowel !! '''o''' !! '''a''' !! '''e''' !! '''i''' !! '''u''' !! '''yo''' !! '''ya''' !! '''ye''' !! '''yi''' !! '''yu''' |- !row=1| Cardinal Number | 0 || 1 || 2 || 3 || 4 || 5 || 6 || 7 || 8 || 9 |} === Meronymic Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|meronymic}}''''' series. (This gradation can also be called '''''taxonomic'''''. The top element, or hypernym, has zero ('''o''') as its defining vowel. The others are hyponyms or meronyms (= parts of the whole), and have incrementally higher numbers of their ordinal vowel. '''T<u>a</u>b''' (''body'') is the first meronym of '''t<u>o</u>b''' (''human being''), the hypernym or zeroth element. ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Meronymic Series |- !colspan=1| Rank !colspan=7| Meronymic or Taxonomic |- ! 0 | '''tob'''....''human'' || '''fob'''....''plant'' || '''vob'''....''crop''|| '''mos'''....''floor''||'''som'''....''furniture''||'''tom'''....''building''||'''job'''....''time'' |- ! 1 | '''tab'''....''body'' || '''fab'''....''tree'' || '''vab'''....''grass''|| '''mas'''....''wall''||'''sam'''....''chest of drawers''||'''tam'''....''house''||'''jab'''....''year'' |- ! 2 | '''teb'''....''head'' || '''feb'''....''fruit'' || '''veb'''....''tuft''|| '''mes'''....''door''||'''sem'''....''table''||'''tem'''....''hall''||'''jeb'''....''season'' |- ! 3 | '''tib'''....''trunk'' || '''fib'''....''trunk'' || '''vib'''....''stalk''|| '''mis'''....''window''||'''sim'''....''chair''||'''tim'''....''room''||'''jib'''....''month'' |- ! 4 | '''tub'''....''arm'' || '''fub'''....''branch'' || '''vub'''....''shoot''||'''mus'''....''stairs''||'''sum'''....''bed''||'''tum'''....''closet''||'''jub'''....''day'' |- ! 5 | '''tyob'''....''leg'' || '''fyob'''....''root'' || '''vyob'''....''tuber''|| || || ||'''jwob'''....''hour'' |- ! 6 | || || || || || ||'''jwab'''<sup>*</sup>....''minute'' |- ! 7 | || || || || || ||'''jweb'''<sup>*</sup>....''second'' |} * The letter '''w''' replaces the letter '''y''' following a '''j''', for ease of pronunciation. : The words that descend from the base word are called '''''meronyms'''''. A hypernym is a word that is higher in scale. === Hierarchical Vowel Gradation === :: Ordinal vowels can be used as the stem vowel in Group 1 base words to form a '''''{{color|blue|hierarchical}}''''' series where the top element has zero ('''o''') as its defining vowel. The others are subordinate elements and have incrementally higher numbers that define a descending series related to that top element. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hierarchical Vowel Gradation |- !colspan=1| Rank !colspan=4| Hierarchy |- ! 0 | '''dob'''....''state'' || '''dot'''....''society'' || '''tod'''....''family''||'''xob'''....''organization'' |- ! 1 | '''dab'''....''government'' || '''dat'''....''friend'' || '''tad'''....''spouse''||'''xab'''....''staff'' |- ! 2 | '''deb'''....''leader'' || '''det'''....''associate'' || '''ted'''....''parent''||'''xeb'''....''boss'' |- ! 3 | '''dib'''....''ministry'' || '''dit'''....''citizen'' ||'''tid'''....''sibling''||'''xib'''....''department'' |- ! 4 | '''dub'''....''minister'' || '''dut'''....''gentleman'' || '''tud'''....''child''||'''xub'''....''branch'' |} === Geo-specific Vowel Gradation === : Ordinals can have '''''{{color|blue|geo-specific}}''''' values, that is values, related to the sky, land, sea, outer space, and underground. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Geo-specific Vowel Values |- ! Ordinal ! Geo-sphere ! colspan=7| Examples |- | align=center | '''o''' || ''outer space, top level'' || '''m<u>o</u>p'''....''orbit'' || '''mom'''....''outer space''|| '''mol'''....''nature''||'''dop'''....''military''||'''pop'''....''voyage''||'''mol'''....''nature''||'''pot'''....''wild animal'' |- | align=center | '''a''' || ''air, gas, sky'' || '''m<u>a</u>p'''....''wind'' || '''mam'''....''sky'' ||'''mal'''....''air''||'''dap'''....''air force''||'''pap'''....''flight''||'''mal'''....''wind''||'''pat'''....''bird'' |- | align=center | '''e''' || ''ground, soil, solid'' || '''m<u>e</u>p'''....''road'' || '''mem'''....''land''|| '''mel'''....''soil''||'''dep'''....''army''||'''pep'''....''ride''||'''mel'''....''soil''||'''pet'''....''domestic land animal'' |- | align=center | '''i''' || ''liquid'', ''water'', ''sea'' || '''m<u>i</u>p'''....''river'' || '''mim'''....''sea''|| '''mil'''....''water''||'''dip'''....''marines''|| '''pip'''....''navigation/sail''||'''mil'''....''water''||'''pit'''....''fish'' |- | align=center | '''u''' || ''underground'', ''mineral'', ''substance'' || '''m<u>u</u>p'''....''tunnel''|| '''mum'''....''underground'' || '''mul'''....''mineral''|| ||'''pup'''....''tunneling''||'''mul'''....''matter''|| |} === Spectral Ordinal Vowel Gradation === : The basic color terms use the natural order of the spectrum to determine the ordinal vowels: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Spectral Ordinal Vowel Gradation |- ! Order || Mirad !! English |- | 0 || '''olza'''<sup>1</sup> || ''blank, of no color'' |- | 1 || '''alza''' || ''red'' |- | 2 || '''elza''' || ''orange'' |- | 3 || '''ilza''' || ''yellow'' |- | 4 || '''ulza''' || ''green'' |- | 5 || '''yolza''' || ''blue'' |- | 6 || '''yalza''' || ''purple'' |- | 7 || '''yelza''' || ''indigo'' |} {{small/top}} : 1) In the natural spectrum, there really is no 0th order. {{small/end}} : The colors black and white are: :* '''malza'''....''white'' :* '''molza'''....''black'' : Some colors are hybrids of two colors: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Hybrid Colors |- ! Mirad !! English |- | '''aolza''' || ''pink'' (a blend of ''blank'' and ''red'') |- | '''youlza''' || ''blue-green'' |- | '''maolza''' || ''gray'' (a blend of ''black'' and ''white'') |} : The word for ''brown'' is based on the word for ''soil'': :* '''melza'''....''brown'' (< '''mel'''....''soil'') : Two other colors are based on metals: :* '''agelkza'''....''silver'' (based on '''agelk'''....''silver metal'' :* '''aulkza'''....''gold'' (based on '''aulk'''....''gold metal'' === Oppositional (or Polar) Vowel Values === : In Group 2 stems: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Oppositional Vowel Values |- | '''a'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ya''' || intermediate || '''i'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yi''' |- | <big>⇑</big> positive<br><big>⇓</big>negative || '''e'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''ye''' || <big>⇑</big> positive<br><big>⇓</big>negative |- | '''o'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yo''' || value || '''u'''&nbsp;&nbsp;<big>⇔</big>&nbsp;&nbsp;'''yu''' |} ::* positive '''a''' contrasts with negative '''o'''&nbsp;&nbsp;&nbsp; ('''av'''....''for'' vs. '''ov'''....''against'') ::* positive '''ya''' contrasts with negative '''yo'''&nbsp;&nbsp;&nbsp; ('''yava'''....''innocent'' vs. '''yova'''....''guilty'') ::* positive '''i''' contrasts with negative '''u'''&nbsp;&nbsp;&nbsp; ('''fia'''....''good'' vs. '''fua'''....''bad'') ::* positive '''yi''' contrasts with negative '''yu'''&nbsp;&nbsp;&nbsp; ('''yiva'''....''free'' vs. '''yuva'''....''bound'') ::* '''e''' and '''ye''' are in-between values&nbsp;&nbsp;&nbsp; ('''eva'''....''neutral'', '''yeva'''....''fair'') ::{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Oppositional Vowel Gradation |- ! positive !! intermediate !! negative |- | '''aga'''....''big'' || '''ega'''....''normal'' || '''oga'''....''small'' |- | '''yava'''....''innocent'' || '''yeva'''....''just''|| '''yova'''....''guilty'' |- | '''ava'''....''for'' || '''eva'''....''neutral'' || '''ova'''....''against'' |- | '''aker'''....''to win'' || '''eker'''....''to risk'' || '''oker'''....''to lose'' |- | '''yak'''....''expectation'' || '''yek'''....''attempt'' || '''yok'''....''surprise'' |- | '''fia'''....''good'' || || '''fua'''....''bad'' |- | '''ifer'''....''love'' || || '''ufer'''....''hate'' |- | '''yifa'''....''brave'' || || '''yufa'''....''afraid'' |} : Some Group 1 base words have ordinal vowel stems that exhibit '''''oppositional''''' values: : The Group 1 base word '''bok''' (''illness'') is a good example: :{| class="wikitable" style="background:lightyellow; font-size:smaller; margin-let:3.2em" |+ Group 1 base word with oppositional values |- ! Positive !! Intermediate !! Negative |- valign=top |'''bak'''....''health''||'''bek'''....''treatment''||'''bok'''....''illness'' |- |'''byak'''....''hygiene''||'''byek'''....''cure''||'''byok'''....''pain''<br>'''byoyk'''....''ache''<br>'''blok'''....''suffering''<br>'''brok'''....''agony'' |- |'''baak'''....''sanitation''|| ||'''book'''....''fatigue'' |- |'''bik'''....''care''|| ||'''buk'''....''wound''<br>'''buyk'''....''sore'' |} === Vectorial Vowel Values === : These ordinal vowels have to do with directions, up, down, south, left, etc. {{big/top}}&nbsp;&nbsp; ::::::'''a''' ::::::↑ ::::'''u'''&nbsp;&nbsp;←&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'''e'''&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;&nbsp;'''i''' ::::::↓ ::::::'''o''' {{big/end}} :::'''a'''....''on, above, north'' ('''ab'''....''on'', '''zamer'''....''north'') :::'''e'''....''center, middle, equator'' ('''eb'''....''between'', '''ze'''....''center'') :::'''o'''....''off, below, south'' ('''ob'''....''off'', '''zomer'''....''south'') :::'''i'''....''right, east'' ('''zi'''....''right'', '''zimer'''....''east'') :::'''u'''....''left, west'' ('''zu'''....''left'', '''zumer'''....''west'') === Directional and Positional Vowel Values === {| class="wikitable" style="background:lightyellow; margin-left:3.2em" |+ Directional and Positional Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words. {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Explanation of the Vowel Meanings Chart |- | '''A''' || position || || on, above, north || '''z<u>a</u>mer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''b<u>a</u>er'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''<u>a</u>ber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''b<u>ya</u>er'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''<u>ya</u>ber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''z<u>o</u>mer'''....''south'' |- | '''yo''' || movement || (free) || ''off''|| '''b<u>yo</u>er'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''<u>o</u>per'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''p<u>yo</u>ser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''<u>yo</u>per'''....''rise'' |- | '''U''' || position || || left, west|| '''z<u>u</u>mer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''<u>u</u>ber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''p<u>yu</u>er'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''<u>yu</u>ber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''b<u>yu</u>ser'''....''touch'' |- | '''I''' || position || || right, east|| '''z''i''mer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''p<u>i</u>er'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''<u>i</u>per'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''<u>yi</u>per'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''p<u>yi</u>ser'''....''originate'' |- | '''E''' || position || || center, equator|| '''z<u>e</u>mer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''<u>e</u>b'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''b<u>e</u>xer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''<u>ye</u>per'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''contain''|| '''b<u>ye</u>er'''....''contain'' |} === Special value of certain letters === : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular''. ::* '''aot'''....''person'' ::* '''anot'''....''individual'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yanber'''....''to compose'' ::* '''yonber'''....''to separate'' : The letter '''y''' is prefixed to the vowels of personal pronouns to make them plural: ::* '''at'''....''I, me'' as opposed to '''yat'''....''we, us'' ::* '''et'''....''you'' as opposed to '''yet'''....''you (pl.), you all'' ::* '''it'''....''he, she, him, her'' as opposed to '''yit'''....''they, them'' ::* '''is'''....''it'' as opposed to '''yis'''....''they, them'' : The letter '''y''' is post-fixed to vowels to change the gender to specifically feminine: ::* '''it'''....''he, she, him, her'' as opposed to '''iyt'''....''she, her'' ::* '''tob'''....''person, human being'' as opposed to '''toyb'''....''woman'' : The letter '''w''' is prefixed to vowels to change the gender to specifically masculine: ::* '''it'''....''he, she, him, her'' as opposed to '''wit'''....''he, him'' ::* '''tob'''....''person, human being'' as opposed to '''twob'''....''man'' === The Meaning of Group 1 Base Words === :: The meaning of the base words of Group 1 comes from the combination of the values of the classifier (initial) and the generic (final) consonants. :: The ordinal vowel of those Group 1 base words has a 1) scalar/hierachical, 2) geo-spatial, 3) oppositional, 4) vectorial/positional, or 5) mnemonic values. :: The following table shows some Group 1 bases words, the meaning of their consonants, and the type of ordinal vowel scalarity: {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Group 1 Zeroth-level Scalar Base Words and Meanings of the Consonants |- ! Base Word !! Classifier Consonant !! Generic Consonant !! Scalarity Type |- | '''tob'''....''person'' || '''t''' = ''human'' || '''b''' = ''organism'' || meronymic |- | '''tof'''....''clothing'' || " " " || '''f''' = ''fabric'' || meronymic |- | '''tod'''....''family'' || " " " || '''d''' = ''society'' || meronymic |- | '''tom'''....''building'' || " " " || '''m''' = ''place'' || meronymic |- | '''tov'''....''lingerie'' || " " " || '''v''' = ''linen'' || meronymic |- | '''tol'''....''nourishment'' || " " " || '''l''' = ''food'' || oppositional |- | '''top'''....''soul, spirit'' || " " " || '''p''' = ''motion'' || meronymic |- | '''dob'''....''state'' || '''d''' = ''society'' || '''b''' = ''organism''||hierarchical |- | '''dop'''....''military'' || " " " || '''p''' = ''movement'' || geo-specific |- | '''dot'''....''society'' || " " " || '''t''' = ''human''|| hierarchical |- | '''dom'''....''city'' || " " " || '''m''' = ''place''|| geo-specific |- | '''job'''....''time'' || '''j''' = ''time'' || '''b'''....''organism''|| hierarchical |- | '''fob'''....''vegetation'' || '''f''' = ''vegetable'' || '''b''' = ''organism''|| meronymic |- | '''vob'''....''crop'' || '''v''' = ''plant'' || '''b''' = ''organism''|| meronymic |- | '''vos'''....''flower'' || " " " || '''s''' = ''thing''|| meronymic |- | '''volz'''....''color'' || " " " || '''lz''' = ''color, art''|| spectral |- | '''som'''....''furniture'' || '''s''' = ''thing'' || '''m''' = ''place''|| meronymic |- | '''mos'''....''floor'' || '''m''' = ''place, nature'' || '''s''' = ''thing''|| meronymic |- | '''mor'''....''universe'' || " " " || '''r''' = ''machine, system''|| geo-specific |- | '''mom'''....''outer space'' || " " " || '''m''' = ''place''|| geo-specific |- | '''mol'''....''nature'' || " " " || '''l''' = ''substance''|| geo-specific |- | '''mop'''....''orbit'' || " " " || '''p''' = ''movement''|| geo-specific |- | '''pot'''....''animal'' || '''p''' = ''movement'' || '''t''' = ''human, animal''|| geo-specific |- | '''bok'''....''illness'' || '''b''' = ''organ'' || '''k''' = ''condition''|| oppositional |- | '''nom'''....''place'' || '''n''' = ''commercial'' || '''m''' = ''place''|| special |- | '''nog'''....''degree'' || " " " || '''g''' = ''measurement''|| special |- | '''nof'''....''cloth'' || " " " || '''f''' = ''cloth''|| special |- | '''nov'''....''linen'' || " " " || '''v''' = ''linen''|| special |- | '''nod'''....''point'' || " " " || '''d''' = ''communication''|| special |- | '''xob'''....''organization'' || '''x''' = ''action'' || '''b''' = ''organism''|| hierarchical |} ==== Special Arrangement ==== : Other Group 1 nouns, listed in the chart below, have an ordinal vowel which is not so much geo-specific or hierarchical per se, but rather special in some fashion. The consonants, especially the classifier consonant, have meanings like those in the above chart. {| border=0 {| class="wikitable" style="background:lightyellow; font-size:smaller; margin-left:3.2em" |+ Other Group 1 Base Words |- valign=top | {| class="wikitable" style="background:lightyellow" |- ! d- <br>communication |- | '''daz'''<br>''dance'' |- | '''dyaz'''<br>''ballet'' |- | '''dyez'''<br>''cinema'' |- | '''drez'''<br>''poetry'' |- | '''dez'''<br>''theater'' |- | '''diz'''<br>''comedy'' |- | '''din'''<br>''story'' |- | '''dun'''<br>''word'' |- | '''duz'''<br>''music'' |- | '''dyun'''<br>''name'' |- | '''dyan'''<br>''sentence'' |- | '''dyes'''<br>''book'' |- | '''deup'''<br>''rhythm'' |} | {| class="wikitable" style="background:lightyellow" |- ! dr- <br>write |- | '''drof'''<br>''board'' |- | '''draf'''<br>''card'' |- | '''dref'''<br>''paper'' |- | '''drov'''<br>''cardboard'' |- | '''drav'''<br>''notebook'' |- | '''drev'''<br>''page'' |- | '''drez'''<br>''poetry'' |- | '''drar'''<br>''pencil'' |- | '''drir'''<br>''typewriter'' |- | '''drur'''<br>''printer'' |} | {| class="wikitable" style="background:lightyellow" |- ! m- <br>nature |- | '''mag'''<br>''fire'' |- | '''mak'''<br>''electricity'' |- | '''mog'''<br>''ash'' |- | '''meg'''<br>''stone'' |- | '''mef'''<br>''brick'' |- | '''mug'''<br>''metal'' |- | '''muk'''<br>''mineral'' |- | '''mez'''<br>''crystal'' |- | '''mek'''<br>''dust'' |- | '''myek'''<br>''powder'' |- | '''mav'''<br>''flame'' |- | '''mov'''<br>''smoke'' |- | '''maf'''<br>''cloud'' |- | '''maj'''<br>''daytime'' |- | '''moj'''<br>''night'' |- | '''man'''<br>''light'' |- | '''maz'''<br>''shine'' |- | '''mon'''<br>''shade'' |- | '''moz'''<br>''dark'' |} | {| class="wikitable" style="background:lightyellow" |- ! n- <br>commerce |- | '''naz'''<br>''value'' |- | '''nas'''<br>''money'' |- | '''nax'''<br>''price'' |- | '''nyaz'''<br>''wealth'' |- | '''nyan'''<br>''stack'' |- | '''nox'''<br>''expense'' |- | '''nyox'''<br>''waste'' |- | '''nex'''<br>''saving'' |- | '''nyex'''<br>''storing'' |- | '''nix'''<br>''earning'' |- | '''nyix'''<br>''order'' |- | '''nux'''<br>''pay'' |- | '''nyux'''<br>''supply'' |- | '''nun'''<br>''merchandise'' |- | '''nyun'''<br>''product'' |- | '''nuz'''<br>''jewel'' |- | '''nem'''<br>''location'' |- | '''nyem'''<br>''place'' |- | '''nyeb'''<br>''box'' |- | '''nab'''<br>''row'' |- | '''nap'''<br>''order'' |- | '''nad'''<br>''line'' |- | '''nod'''<br>''point'' |- | '''ned'''<br>''plane'' |- | '''nyed'''<br>''grid'' |- | '''nyad'''<br>''chain'' |- | '''nid'''<br>''volume'' |- | '''nag'''<br>''measure'' |- | '''nak'''<br>''metric value'' |- | '''nog'''<br>''degree'' |- | '''nig'''<br>''space'' |} | {| class="wikitable" style="background:lightyellow" |- ! j- <br>time |- | '''jag'''<br>''age'' |- | '''jud'''<br>''date'' |- | '''jod'''<br>''instance'' |- | '''jop'''<br>''sequence'' |- | '''jep'''<br>''process'' |- | '''jwap'''<br>''moment'' |- | '''jwep'''<br>''instant'' |} | {| class="wikitable" style="background:lightyellow" |- ! s- <br>thing |- | '''sag'''<br>''number'' |- | '''saz'''<br>''sculpture'' |- | '''san'''<br>''form'' |- | '''saun'''<br>''kind'' |- | '''son'''<br>''matter (abstract)'' |- | '''sin'''<br>''image'' |- | '''siz'''<br>''painting'' |- | '''sun'''<br>''thing (concrete)'' |- | '''syan'''<br>''class'' |- | '''syen'''<br>''style'' |- | '''syin'''<br>''subject'' |- | '''syun'''<br>''object'' |- | '''sar'''<br>''instrument'' |- | '''sir'''<br>''machine'' |- | '''sor'''<br>''engine'' |- | '''sur'''<br>''motor'' |} | {| class="wikitable" style="background:lightyellow" |- ! t- <br>human / knowledge |- | '''taz'''<br>''statue'' |- | '''tap'''<br>''physique'' |- | '''tep'''<br>''mind'' |- | '''top'''<br>''spirit'' |- | '''tuz'''<br>''art'' |- | '''toz'''<br>''skin color'' |- | '''tez'''<br>''culture'' |- | '''tyez'''<br>''magic'' |- | '''tin'''<br>''doctrine'' |- | '''tun'''<br>''science'' |- | '''tyan'''<br>''class'' |- | '''tyen'''<br>''skill'' |- | '''tyun'''<br>''idea'' |- | '''tos'''<br>''sensation'' |- | '''tes'''<br>''meaning'' |- | '''tot'''<br>''god'' |- | '''tat'''<br>''angel'' |} |} === The Meaning of Group 2 Base Words === :: The meaning of Group 2 base word stems comes from the combination of the values of the classifier consonant and the ordinal (stem) vowel. The stem does not include adjectival ('''-a'''), adverbial ('''-ay'''), and verbal inflections ('''-er''', '''-ser''', '''-xer''', etc.), which are shown in a smaller typeface after the stem. :: The ordinal (stem vowel) holds oppositional values like positive, intermediary, and negative. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Stems of Group 2 Base Words |- ! Classifier Consonant !! Positive !! Intermediate !! Negative !! Positive !! Negative |- ! rowspan=4|'''j''' <br>(''time'') | '''ja'''<br>''before'' || '''je'''<br>''during'' || '''jo'''<br>''after''||'''ji'''<br>''since'' || '''ju'''<br>''until'' |- | '''aj'''<br>''past'' || '''ej'''<br>''present'' || '''oj'''<br>''future'' || '''ij<sup>er</sup>'''<br>''beginning/begin'' || '''uj/<sup>er</sup>'''<br>''end/end'' |- | '''taj<sup>er</sup>'''<br>''birth/to be born'' || '''tej<sup>er</sup>'''<br>''life/to live'' || '''toj<sup>er</sup>'''<br>''death/to die'' || '''tij<sup>er</sup>'''<br>''awake state/to be awake'' || '''tuj<sup>er</sup>'''<br>''sleep/to sleep'' |- | '''jwa'''<br>''early'' || '''jwe'''<br>''on time'' || '''jwo'''<br>''late'' || '''yij<sup>a</sup>'''<br>''opening/open'' || '''yuj<sup>a</sup>'''<br>''closing/closed'' |- !rowspan=4| '''g'''<br>(''measurement'') | '''ga'''<br>''more'' || '''ge'''<br>''equal'' || '''go'''<br>''less''|| '''gi'''<sup>n</sup><br>''point'' || '''gu'''<sup>n</sup><br>''angle'' |- | '''ag'''<sup>a</sup><br>''big'' || '''eg<sup>a</sup>'''<br>''normal'' || '''og'''<sup>a</sup><br>''small'' || '''ig'''<sup>a</sup><br>''fast'' || '''ug'''<sup>a</sup><br>''slow'' |- | '''yag'''<sup>a</sup><br>''long'' || '''yeg'''<sup>a</sup><br>''normal'' || '''yog'''<sup>a</sup><br>''short'' || '''yig'''<sup>a</sup><br>''hard'' || '''yug'''<sup>a</sup><br>''soft'' |- | '''gya'''<sup>a</sup><br>''thick'' || '''gye'''<sup>a</sup><br>''enough'' || '''gyo-'''<br>''thin'' || '''gyi'''<sup>a</sup><br>''solid'' || '''gyu'''<sup>a</sup><br>''fragile'' |- !rowspan=4| '''k'''<br>(''randomness'') | '''ka'''<sup>xer</sup><br>''find'' || '''ke'''<sup>xer</sup><br>''seek'' || '''ko'''<sup>xer</sup><br>''hide'' || '''ki'''<sup>a</sup><br>''oblique''|| '''ku'''<sup>a</sup><br>''lateral'' |- | '''ak'''<sup>er</sup><br>''win'' || '''ek'''<sup>er</sup><br>''play'' || '''ok'''<sup>er</sup><br>''lose'' || '''ik'''<sup>a</sup><br>''full'' || '''uk'''<sup>a</sup><br>''empty'' |- | '''yak'''<sup>er</sup><br>''expect'' || '''yek'''<sup>er</sup><br>''try'' || '''yok'''<sup>er</sup><br>''suprise'' || '''yik'''<sup>a</sup><br>''difficult'' || '''yuk'''<sup>a</sup><br>''easy'' |- | '''kya'''<sup>a</sup><br>''mobile'' || '''kye'''<sup>a</sup><br>''haphazard'' || '''kyo'''<sup>a</sup><br>''fixed'' ||'''kyi'''<sup>a</sup><br>''heavy'' || '''kyu'''<sup>a</sup><br>''light'' |- ! '''m'''<br>(''nature'') | '''am'''<sup>a</sup><br>''hot'' || -- || '''om'''<sup>a</sup><br>''cold'' || '''im'''<sup>a</sup><br>''wet'' || '''um'''<sup>a</sup><br>''dry'' |- ! rowspan=4|'''f'''<sup>er</sup><br>(''want'', qualities) | || || || '''fi'''<sup>a</sup><br>''good'' || '''fu'''<sup>a</sup><br>''bad'' |- | '''fya'''<sup>a</sup><br>''holy'' || '''fye'''<sup>a</sup><br>''mythical'' || '''fyo'''<sup>a</sup><br>''profane''|| '''fyi'''<sup>a</sup><br>''useful'' || '''fyu'''<sup>a</sup><br>''harmful'' |- | '''yaf'''<sup>er</sup><br>''be able'' || '''yef'''<sup>er</sup><br>''must''|| '''yof'''<sup>er</sup><br>''cannot'' || '''yif'''<sup>er</sup><br>''dare'' || '''yuf'''<sup>er</sup><br>''fear'' |- | '''af'''<sup>er</sup><br>''may'' || '''ef'''<sup>er</sup><br>''need'' || '''of'''<sup>er</sup><br>''be prohibited'' || '''if'''<sup>er</sup><br>''love'' || '''uf'''<sup>er</sup><br>''hate'' |- !rowspan=6| '''v'''<br>(''truth, qualities'' ) | '''va'''<br>''yes'' || '''ve'''<br>''maybe'' || '''vo'''<br>''no''|| '''vi'''<sup>a</sup><br>''beautiful'' || '''vu'''<sup>a</sup><br>''ugly'' |- | '''vay'''<br>''really''||'''vey'''<br>''may''||'''voy'''<br>''not'' || || |- | '''av'''<br>''for'' || '''ev'''<sup>a</sup><br>''neutral'' || '''ov'''<br>''against''|| '''iv'''<sup>a</sup><br>''happy'' || '''uv'''<sup>a</sup><br>''sad'' |- | '''vya'''<sup>a</sup><br>''true'' || '''vye'''<sup>a</sup><br>''relative'' || '''vyo'''<sup>a</sup><br>''false''|| '''vyi'''<sup>a</sup><br>''clean'' || '''vyu'''<sup>a</sup><br>''dirty'' |- | '''yav'''<sup>a</sup><br>''innocent'' || '''yev'''<sup>a</sup><br>''fair'' || '''yov'''<sup>a</sup><br>''guilty''|| '''yiv'''<sup>a</sup><br>''free'' || '''yuv'''<sup>a</sup><br>''captive'' |- | '''van'''<br>''that'' || '''ven'''<br>''if'' || '''von'''<br>''lest''|| || |- ! rowspan=5|'''z'''<br>(spatial) | '''za'''<br>''in front of'' || '''ze'''<br>''in the middle of'' || '''zo'''<br>''in back of''|| '''zi'''<sup>a</sup><br>''right'' || '''zu'''<sup>a</sup><br>''left'' |- | '''zay'''<br>''ahead'' || '''zey'''<br>''across'' || '''zoy'''<br>''back, re-''|| || |- | '''zya'''<sup>a</sup><br>''wide'' || '''zye'''<br>''through'' || '''zyo'''<sup>a</sup><br>''narrow''||'''zyi'''<sup>a</sup><br>''flat'' || '''zyu'''<sup>a</sup><br>''round'' |- | '''az'''<sup>a</sup><br>''strong'' || '''ez'''<sup>a</sup><br>''moderate'' || '''oz'''<sup>a</sup><br>''weak''|| '''iz'''<sup>a</sup><br>''straight'' || '''uz'''<sup>a</sup><br>''curved'' |- | '''yaz'''<sup>a</sup><br>''convex'' || '''yez'''<br>''along'' || '''yoz'''<sup>a</sup><br>''concave'' || '''yiz'''<sup></sup><br>''beyond'' || '''yuz'''<br>''around'' |- ! rowspan=4|'''b-'''<sup>er</sup><br>(''put'') | '''ba'''<sup>y</sup>/(<sup>xer</sup>)<br>''with, (agitate)'' || '''be'''<sup>y</sup>/(<sup>(xer)</sup>)<br>''at/by, (hold)'' || '''bo'''<sup>y</sup>(<sup>xer</sup>)<br>''without/(calm)''|| '''bi<sup>(er/xer)</sup>'''<br>''from, (take/pull)'' || '''bu'''<sup>(er/xer)</sup><br>''to, (give/push)'' |- | '''ab'''<sup>(er)</sup><br>''on,(put on)'' || '''eb'''<sup>(er)</sup><br>''between,(block)'' || '''ob'''(<sup>er</sup>)<br>''off,(take off)'' || '''ib'''<sup>(er)</sup><br>''away,(receive)'' || '''ub'''<sup>(er)</sup><br>''toward,(send)'' |- | '''bya'''<sup>ser/xer</sup><br>''stand/erect'' || '''bye'''<sup>xer</sup><br>''tap'' || '''byo'''<sup>ser/xer</sup><br>''hang/hang''|| '''byi'''<sup>(ser)</sup><br>''since,(originate)'' || '''byu'''<sup>(ser/xer)</sup><br>''up to,(contact/touch)'' |- | '''yab'''<sup>(er)</sup><br>''up,(raise)'' || '''yeb'''<sup>(er)</sup><br>''in,(put in)''<br>'''oyeb'''<sup>(er)</sup><br>''out,(take out)'' || '''yob'''<sup>(er)</sup><br>''down,(lower)''|| '''yib'''<sup>(er)</sup><br>''far,(remove)'' || '''yub'''<sup>(er)</sup><br>''near,(bring)'' |- ! rowspan=4|'''p'''<sup>er</sup><br>(''go'') | '''pa'''<sup>ser/xer</sup><br>''move/move'' || '''pe'''<sup>ser/xer</sup><br>''wait/trap'' || '''po'''<sup>ser/xer</sup><br>''stop/stop''|| '''pi'''<sup>er/ser/xer</sup><br>''leave/withdraw/catch'' || '''pu'''<sup>er/ser/xer</sup><br>''arrive/jump/throw'' |- | '''pya'''<sup>er/ser/xer</sup><br>''hover/jump up/launch'' || '''pye'''<sup>ser/xer</sup><br>''encounter/strike'' || '''pyo'''<sup>ser/xer</sup><br>''fall/drop''|| '''pyi'''<sup>ser/xer</sup><br>''emanate/derive'' || '''pyu'''<sup>ser/xer</sup><br>''reach/impact'' |- | '''yap'''<sup>er</sup><br>''rise'' || '''yep'''<sup>er</sup><br>''enter'' || '''yop'''<sup>er</sup><br>''descend''|| '''yip'''<sup>er</sup><br>''go far'' || '''yup'''<sup>er</sup><br>''approach'' |- | '''ap'''<sup>er</sup><br>''get on'' || '''ep'''<sup>er</sup><br>''intervene'' || '''op'''<sup>er</sup><br>''get off'' || '''ip'''<sup>er</sup><br>''go away'' ||'''up'''<sup>er</sup><br>''come'' |- !rowspan=2| '''s'''<sup>er</sup><br>(''be'') | '''sa'''<sup>n/s/xer</sup><br>''shape/evolve/make'' ||'''se'''<sup>xer</sup><br>''build'' || '''so'''<sup>n/xer</sup><br>''matter/destroy''|| '''si'''<sup>n/yn</sup><br>''image/sign'' || '''su'''<sup>n/er/xer</sup><br>''thing/provide/realize'' |- | '''as'''<sup>er</sup><br>''become'' || '''es'''<sup>er</sup><br>''exist'' || '''os'''<sup>er</sup><br>''cease to be'' || || |- ! rowspan=3|'''x'''<sup>er</sup><br>(''do'' ) | '''xa'''<sup>ler</sup><br>''execute'' || '''xe'''<sup>ler</sup><br>''practice'' || '''xo'''<sup>ler</sup><br>''fail'' || '''xi'''<sup>ler</sup><br>''undertake'' || '''xu'''<sup>ler</sup><br>''provoke'' |- |'''ax'''<sup>ler</sup><br>''act'' || '''ex'''<sup>er</sup><br>''function'' || '''ox'''<sup>ler</sup><br>''abstain'' || '''ix'''<sup>er</sup><br>''effect'' || '''ux'''<sup>er</sup><br>''cause'' |- | '''yax'''<sup>er</sup><br>''be busy'' || '''yex'''<sup>er</sup><br>''work'' || '''yox'''<sup>er</sup><br>''be idle'' || '''yix'''<sup>er</sup><br>''use'' || '''yux'''<sup>er</sup><br>''help'' |- ! '''t'''<sup>er/rer/yer</sup><br>(''know/recognize/know how'') | '''ta'''<sup>xer</sup><br>''remember'' || '''te'''<sup>xer</sup><br>''think'' || '''to'''<sup>xer</sup><br>''forget'' || '''ti'''<sup>er/xer</sup><br>''learn/study''<br>'''tri'''<sup>er</sup><br>''get to know''<br>'''tyi'''<sup>er</sup><br>''learn how'' || '''tu'''<sup>er/xer/uxer</sup><br>''inform/teach/raise''<br>'''tru'''<sup>er</sup><br>''familiarize''<br>'''tyu'''<sup>er</sup><br>''train'' |- ! '''d'''<sup>er/rer</sup><br>(''say/write'') | '''da'''<sup>ler</sup><br>''talk'' || '''de'''<sup>ler</sup><br>''state''<br>'''dye'''<sup>er</sup><br>''read'' || '''do'''<sup>ler</sup><br>''be silent''<br>'''dro'''<sup>er</sup><br>''erase'' || '''di'''<sup>er/ler/rer</sup><br>''ask/beg/require'' || '''du'''<sup>er/ler/rer</sup><br>''suggest/insist/demand''<br>'''dyu'''<sup>er</sup><br>''call'' |- ! rowspan=2|'''h-'''<br>(determiners) | '''ha'''<sup>(a)</sup><br>''the'' || '''he'''<sup>a</sup><br>''some'' || '''ho'''<sup>a</sup><br>''which'' || '''hi'''<sup>a</sup><br>''this'' || '''hu'''<sup>a</sup><br>''that'' |- | '''hya'''<sup>(a)</sup><br>''all'' || '''hye'''<sup>a</sup><br>''any'' || '''hyo'''<sup>a</sup><br>''no'' || '''hyi'''<sup>a</sup><br>''same'' || '''hyu'''<sup>a</sup><br>''other'' |- ! rowspan=2| (conjunctions) |'''ay'''<br>''and'' || '''ey'''<br>''or'' || '''oy'''<br>''but'' || || |- |'''ya'''<sup>n</sup><br>''together'' || ||'''yo'''<sup>n</sup><br>''apart''|| || |- ! rowspan=2| (numbers) | '''a'''<br>''one''|| '''e'''<br>''two''|| '''o'''<br>''zero''|| '''i'''<br>''three''|| '''u'''<br>''four'' |- | '''ya'''<br>''six''|| '''ye'''<br>''seven''|| '''yo'''<br>''five''|| '''yi'''<br>''eight''|| '''yu'''<br>''nine'' |- ! rowspan=1| (privatives) | || || '''lo-''' (''dis-/un-'')<br>'''lyo-''' (''dis-'')<br>'''oy-''' (''-less'')|| || |} :: <small>* Mixed root. '''taj/tej/toj''' instead of '''yaj/yej/yoj''', because the human letter root '''t''' is more intuitive.</small> :: Note: The opposition '''(y)a'''-'''(y)e'''-'''(y)o''' is a three-way opposition with an intermediary sense, but '''(y)i-(y)u''' is two-way, without any intermediary sense. == Derived Word Formation Rules == : Derived words are formed in accordance with certain simple rules of word-building: : These consist of the following rules: ::# Compounding ::# Affixation ::# Ordinal Vowel Scaling ::# Overlapping ::# Adding Ordinal Vowels ::# Swapping Generic Consonants ::# Marking Words for Gender ::# Deriving Words with Geo-specific Vowels ::# Deriving Words with Directional and Positional Vowels ::# Deriving Words with a Mnemonic Pattern ::# Deriving Nuanced Words Phonetically === Rule #1: Compounding === [[File:Compound 6 (maraviroc development).svg|thumb|]] : Compound words are obtained through the combination of two or more whole words or stub words. In the combining process, the determining word is placed quite simply in front of the word it determines. Compounds consist mainly of noun + noun, but there can be other part-of-speech combinations. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Compounding |- ! Component 1 !! Component 2 !! Compound |- | '''mor'''....''cosmos'' || '''tun'''....''science, -ology'' || '''mortun'''....''cosmology'' |- | '''mag'''....''fire'' || '''memyaz'''....''mountain'' || '''magmemyaz'''....''volcano'' |- | '''dob'''....''state'' || '''mem'''....''land'' || '''dobmem'''....''territory'' |- | '''tul'''....''dish'' || '''dras'''....''something written'' || '''tuldras'''....''menu'' |- | '''sin'''....''picture'' || '''dras'''....''something written'' || '''sindras'''....''description'' |- | '''tam'''....''house'' || '''kyoxer'''....''to fix (in place)'' || '''tamkyoxer'''....''to settle'' |- | '''tax'''....''memory'' || '''drer'''....''to write'' || '''taxdrer'''....''to record'' |- | '''kyo-'''....''fixed'' || '''tep-'''....''mind'' || '''kyotepa'''....''stubborn'' |} : Sometimes, the first element can be a stub of a whole word, i.e. the word with the final consonant dropped. The word for ''rain'', for example, is '''ma(m)''' (''sky'') + '''mil''' (''water''), where the final consonant of the first word is dropped, thus, '''mamil'''. : When compounding an adjective with a noun, if the adjective begins with a vowel, often it will be suffixed to the noun, otherwise prefixed, (but this is not a strict rule), eg: :* '''uzra'''....''twisted'' + '''tep'''....''mind'' ---> '''tepuzra'''....''crazy'' :* '''kyoa'''....''fixed'' + '''tep'''....''mind'' ----> '''kyotepa'''....''stubborn, obsessed'' :* '''aza'''....''strong'' + '''tep'''....''mind'' ----> '''tepaza'''....''intelligent'' :* '''fua'''....''bad'' + '''tip'''....''mood'' ----> '''futipa'''....''cross, ill-tempered'' :* '''aga'''....''big'' + '''tip'''....''mood'' ----> '''tipaga'''....''magnanimous, generous'' === Rule #2: Affixation === [[File:Word Cloud of Various Prefixes.png|thumb|]] : Most adverbs and prepositions can be used as prefixes: ==== Prefixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Adverbs and Prepositions as Prefixes |- ! Prefix !! Base !! Compound |- | '''ja'''....''before'' ||'''per'''....''to go'' || '''japer'''....''to precede'' |- | '''jo'''....''after'' ||'''per'''....''to go'' || '''joper'''....''to follow'' |- | '''va'''....''yes'' ||'''der'''....''to say'' || '''vader'''....''to affirm'' |- | '''jo'''....''after'' ||'''dras'''....''something written'' || '''jodras'''....''postscript'' |- | '''za'''....''ahead'' ||'''jub'''....''day'' || '''zajub'''....''tomorrow'' |- | '''yon'''....''apart'' ||'''mel'''....''land'' || '''yonmel'''....''island'' |} : Prepositional prefixes ending in '''b''' with verbs '''per''' and '''ber''' (and their derivations) lose the '''b''' before verbal elements based on '''per''' (''go'') and '''ber''' (''put''), as shown in the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Assimilation of b and p |- ! Prefix !! Base Verb !! New Verb |- | '''yab'''....''up'' || '''ber'''....''put'' || '''yaber'''....''raise'' (NOT: '''yabber''') |- | '''yab'''....''up'' || '''per'''....''go'' || '''yaper'''....''rise'' (NOT: '''yabper''') |- | '''ab'''....''on'' || '''ber'''....''put'' || '''aber'''....''put on, apply'' |- | '''ab'''....''on'' || '''per'''....''go'' || '''aper'''....''get on, mount'' |- | '''yob'''....''down'' || '''ber'''....''put'' || '''yober'''....''take down'' |- | '''yob'''....''down'' || '''per'''....''go'' || '''yoper'''....''descend'' |- | '''ob'''....''off'' || '''ber'''....''put'' || '''ober'''....''take off, remove'' |- | '''ob'''....''on'' || '''per'''....''go'' || '''oper'''....''get off, dismount'' |- | '''yeb'''....''in'' || '''bux'''....''a push'' || '''yebux'''....''impulse'' |- | '''yeb'''....''in'' || '''pyoser'''....''fall'' || '''yepyoser'''....''collapse'' |} : The loss of the '''b''' in the above words in one of the only cases of '''''fusion''''' in Mirad's grammar. Mirad is by and large an agglutinative language where building-blocks are juxtaposed with no change of form. Another case of fusion is when so-called '''''stubs''''' are combined. For example, '''doyijem''' (''public square''), which is composed of '''do(m)'''....''city'' + '''yij(a)'''....''open'' + '''(n)em'''....''place''. The morphemes (= building-block words) of Mirad always have one and only one meaning, unlike in English where the prefix '''a-''' can have many different meaninings. : The adjective ending '''a''' is often dropped<sup>1</sup>, as is the '''er''' or prefixes taken from verbs. Longish noun prefixes are sometimes clipped, so that '''tyoyab''' becomes '''tyoya-'''. {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Prefixes Built on Words and Word Stubs |- ! Prefix !! Base Verb !! Compound Verb |- | '''oza'''....''weak'' || '''der'''....''say'' || '''ozder'''....''whisper'' |- | '''yaga'''....''long'' || '''der'''....''say'' || '''yagder'''....''ramble'' |- | '''aja'''....''past'' || '''der'''....''say'' || '''ajder'''....''evoke'' |- | '''yoga'''....''short'' || '''der'''....''say'' || '''yogder'''....''summarize'' |- | '''tyoyab'''....''foot'' || '''per'''....''go'' || '''tyoyaper'''....''walk'' |- | '''dreer'''....''write'' || '''sar'''....''tool'' || '''dresar'''....''pencil'' |- | '''tuyob'''....''hand'' || '''dren'''....''writing'' || '''tuyodren'''....''manuscript'' |- | '''mam'''....''sky'' || '''mil'''....''water'' || '''mamil'''....''rain'' |} : <small><sup>1</sup>: Sometimes, the adjective ending '''a''' is retained when an adjective is compounded with '''xer''' or '''ser'''. This device may be used to distinguished two differently nuanced verbs. For example, '''aga''' + '''xer''' can produce '''agaxer'''....''to magnify'' or '''agxer'''....''to grow''. Usually, the compound where the adjective suffix has been eclipsed has the more idiomatic meaning.</small> ==== Most Common Mirad Prefixes ==== {| class="wikitable sortable collapsable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Common Prefixes |- ! Prefix !! Examples |- |'''a(n)-'''....''uni-, one-, mono-''||'''anzyukpar'''....''unicycle''<br> '''antotin'''....''monotheism''<br>'''adeb'''....''emperor'' |- |'''aa-'''....''arch-, first-, prime''||'''aadub'''....''prime minister''<br>'''aatat'''....''archangel''<br>'''aavyan'''....''principle''<br>'''aasaun'''....''prototype'' |- |'''aag-'''....''arch-, main, macro-''||'''aagmep'''....''highway''<br> '''aagdovyab'''....''constitution''<br> '''aagovekut'''....''archrival'' |- |'''aaj-'''....''paleo-, proto-''||'''aajtobtun'''....''paleoanthropology''<br> '''aajsiyn'''....''fossil'' |- |'''ab-'''....''ad-, top, on, epi-''||'''abtob'''....''superman''<br> '''abtim'''....''attic''<br> '''abzen'''....''epicenter'' |- |'''aj-'''....''former, ex-'' || '''ajtayd'''....''ex-wife''<br>'''ajdeb'''....''former leader'' |- |'''ayb-'''....''over-, super-, hyper-, sur-''||'''aybmep'''....''overpass''<br>'''aybdresin'''....''superscript''<br>'''aybdyun'''....''hypernym'' |- |'''ag-'''....''mega(lo)-'' || '''agvyotos'''....''megalomania''<br>'''agtoj'''....''megadeath'' |- |'''alo(n)-'''....''deca-, ten-''||'''alojaga'''....''ten years old''<br> '''alojab'''....''decade''<br> '''alonsuna'''....''decimal'' |- |'''aloy(n)-'''....''deci-, tenth-''||'''aloynux'''....''tithe''<br> '''aloyngoler'''....''decimate'' |- |'''am-'''....''thermo-''||'''amzemula'''....''thermonuclear''<br> '''amvyabxar'''....''thermostat'' |- |'''amlo(n)-'''....''mega-''||'''amloagvunak'''....''megavolt''<br> '''amlotoj'''....''megadeath'' |- |'''amloyn-'''....''micro-''||'''amloynjweb'''....''microsecond'' |- |'''anyen-'''....''idio-''||'''anyenboka'''....''idiopathic''<br> '''anyendyan'''....''idiom''<br> '''anyentepa'''....''idiotic'' |- |'''ao(b/p)-'''....''north-south, up-down, vertical, vertically, y-axis''||'''aonab'''....''column'', ''x-y-axis''<br> '''aopuys yuzpar'''....''hop-on-hop-off bus''<br> '''aonada'''....''vertical'' |- |'''aoye(b/p)-'''....''in-and-out''||'''aoyebar'''....''piston''<br> '''aoyebelen'''....''import-exports''<br> '''aoyepaper'''....''fly in and out'' |- |'''aro(n)-'''....''kilo-''||'''aronminak'''....''kilometer''<br> '''arobanak'''....''kilobit'' |- |'''aroyn-'''....''milli-''||'''aroynvunak'''....''millivolt''<br> '''aoynwunak'''....''milliwatt'' |- |'''(a)so(n)'''....''cent-''||'''asojagat'''....''centenarian''<br> '''asolinak'''....''hectoliter''<br> '''sojab'''....''century'' |- |'''asoy(n)-'''....''cent-, centi-''||'''asoygenak'''....''centigram''<br> '''asoylinak'''....''centiliter'' |- |'''av-'''....''pro-''||'''avYanotina'''....''pro-Communist'' |- |'''ayn-'''....''full-, holo-, whole-''||'''aynnuut'''....''wholesaler''<br> '''aynsin'''....''hologram''<br> '''aynteptija'''....''fully-conscious'' |- |'''e(b/p)-'''....''inter-''||'''ebmos'''....''mezzanine''<br> '''ebyanmulxer'''....''intermingle''<br> '''eper'''....''intercede'' |- |'''ejna-'''....''neo-''||'''ejnadun'''....''neologism''<br> '''ejnaobdabin'''....''neocolonialism'' |- |'''e(n)-'''....''ambi-, bi-, di-, duo-, two-''||'''entyoba'''....''bipedal''<br> '''enzyuspar'''....''bicycle''<br> '''envolza'''....''dichromatic'' |- |'''eon-'''....''duo-, double-, twin-''||'''eonin'''....''dualism''<br> '''eondal'''....''double-speak''<br> '''eonsum'''....''twin bed'' |- |'''ev-'''....''a-, neutral'' ||'''evdofina'''....''amoral''<br>'''evdabtuna'''....''apolitical'' |- |'''ey(b/p)-'''....''intra-, among''||'''eybmasa'''....''intramural''<br> '''eybmimkuma'''....''intracoastal'' |- |'''eyn-'''....''demi-, half-, hemi-, mixed-, pen-, quasi-, semi-''||'''eynzyus'''....''semi-circle''<br> '''eynzyup'''....''half-turn''<br> '''eyntilsyeb'''....''demitassee''<br> '''eynyonmel'''....''peninsula'' |- |'''fi-'''....''bene-, eu-, good-, nice-, well-''||'''fixut'''....''benefactor''<br> '''fidrawa'''....''well-written''<br> '''fitos'''...''euphoria'' |- |'''fu-'''....''dys-, ill-, mal-, mis-, poorly-''||'''futos'''....''dysphoria''<br> '''futuwa'''....''ill-informed''<br> '''fuxeyn'''....''malfeasance'' |- |'''fya-'''....''hiero-, holy-, sancti-''||'''fyasdresiyn'''....''hieroglyphic''<br> '''fyader'''....''sanctify''<br> '''fyatwed'''....''holy father'' |- |'''fye-'''....''mythical, fantasy''||'''fyetop'''....''phantom''<br> '''fyetobet'''....''elfin''<br> '''fyetexer'''...''fantacize''<br> '''fyedin'''....''fantasy'' |- |'''fyo-'''....''evil, profane'' ||'''fyotez'''....''occult''<br>'''fyotat'''....''devil''<br>'''fyotyez'''....''witchcraft'' |- |'''gaw-'''....''re-, again'' || '''gawteaper'''....''revisit''<br> '''gawaker'''....''regain'' |- |'''garale-'''....''tera-''||'''garaleagbanak'''....''terabyte'' |- |'''garalyi-'''....''exa-''||'''garalyibanak'''....''exabit'' |- |'''garalyo-'''....''peta-''||'''galayoagbanak'''....''petabyte'' |- |'''garela-'''....''zetta-''||'''garelaagbanak'''....''zettabyte'' |- |'''garelu-'''....''yotta-''||'''gareluagbanak'''....''yottabyte'' |- |'''ge-'''....''equal to, equi-, even-''||'''geyafwa'''....''equipollent''<br> '''genaza'''....''equivalent'' |- |'''gel-'''....''homo-, like-, simul-''||'''gelzena'''....''homocentric''<br> '''gelvolza'''....''homochromatic'' |- |'''geyl-'''....''simul-''||'''geyldyan'''....''simile''<br> '''geylxer'''....''assimilate'' |- |'''gla-'''....''many-, multi-, poly-''||'''glatyenika'''....''multi-skilled''<br> '''glatwada'''....''polyandrous''<br> '''glavolza'''....''many-hued'' |- |'''glo-'''....''mini-, little-, few-''||'''gloduna'''....''succint, of few words''<br> '''glonixea'''....''low-earning'' |- |'''gorale-'''....''pico-''||'''goraleagfenak'''....''picofarad'' |- |'''goralyi-'''....''atto-''||'''goralyigenak'''....''attogram'' |- |'''goralyo-'''....''femto-''||'''goralyoon'''....''quadrillionth'' |- |'''goralyu-'''....''nano-''||'''goralyusonak'''....''nanosecond'' |- |'''gorela-'''....''zepto-''||'''gorelagenak'''....''zeptogram'' |- |'''gorelu-'''....''yocto-''||'''gorelugenak'''....''yoctogram'' |- |'''gra-'''....''extra-, hyper-, over-, ultra-''||'''gratosea'''....''hypersensitive''<br> '''grazoyaxler'''....''overreact''<br> '''granoxea'''....''extravagant'' |- |'''gro-'''....''hypo-, under-''||'''groyixlawa'''....''underemployed''<br> '''groaman'''....''hypothermia'' |- |'''gwa-'''....''hyper-, maxi-, -most, pleisto-, uber-, ultra-, pure, macro-''||'''gwayelza'''....''pure pink''<br> '''gwayafa'''....''supreme''<br> '''gwauja'''....''ultimate''<br> '''gwazoa'''....''hindmost'' |- |'''gwo-'''....''least-, mini-, micro-''||'''gwosag'''....''minimum''<br> '''gwoyuzpur'''....''minibus''<br>'''gwoexlus'''....''microprocessor'' |- |'''hi-'''....''hither, these, this''||'''his'''....''this''<br> '''hisi'''....''these''<br> '''him'''....''here'' |- |'''hya(s)-'''....''pan(to)-, omni-, all-, every-''||'''hyas'''....''everything''<br> '''hyati'''....''all of them''<br> '''hyastea'''....''omniscient''<br> '''hyataadifa'''....''pansexual'' |- |'''hu-'''....''that''||'''hus'''....''that''<br> '''huj'''....''then''<br> '''huyen'''...''that way'' |- |'''huim-'''....''here-and-there, here-and-yon''||'''huimkexer'''....''search high and low''<br> '''huimpaper'''....''fly here and there''<br> '''hyuimpoper'''....''travel here-and-there'' |- |'''huu-'''....''so, such''||'''huugla'''....''so, so very''<br> '''hus'''....''such''<br> '''huyen'''....''in such a way, so, thus'' |- |'''hyaewa-'''....''ambi-''||'''hyaewati'''....''both of them''<br> '''hyaewaziza'''....''ambidextrous''<br> '''hyaewatoobifa'''....''ambi-sexual'' |- |'''hye-'''....''-ever, any, whatever, whichever''||'''hyem'''....''anywhere, wherever''<br> '''hyempea'''....''erratic''<br> '''hjej'''....''ever, anytime'' |- |'''hyi-'''....''homo-, like-, same, syn-''||'''hyitoobifa'''....''homosexual''<br> '''hyis'''....''same thing''<br> '''hyijoba'''....''synchronous'' |- |'''hyo(s)-'''....''nothing, a-'' || '''hyostosea'''....''apathetic'' |- |'''hyu(t/s)-'''....''alter-, hetero-, other-, xeno-, else''||'''hyutoobifa'''....''heterosexual''<br> '''hyua'''....''another, alternate''<br> '''hyutufa'''....''xenophobic''<br> '''hyus'''....''something else'' |- |'''hyui(t/s)-'''....''cross-, mutual, one thing and another, reciprocal''||'''hyuitvikaxen'''....''mutual admiration''<br> '''hyuixer'''....''reciprocate''<br> '''hyuisa'''....''mutual, reciprocal''<br> '''hyuitif'''....''mutual love'' |- |'''i-'''....''toward the speaker''||'''iber'''....''receive''<br>'''ixer'''....''result'' |- |'''ik-'''....''fully, thoroughly''||'''iktoxer'''....''forget completely''<br> '''iktos'''....''satisfaction''<br> '''ikyebixer'''....''engulf, swallow up completely'' |- |'''in-'''....''three-, tri-, tripl-, tern-''||'''inzyuspar'''....''tricycle''<br> '''inaga'''....''three-dimensional''<br> '''injiba'''....''trimensual''<br> '''insuna'''....''ternary''<br> '''intotan'''....''trinity'' |- |'''iyn-'''....''terci-, third''||'''iyna'''....''terciary''<br> '''iynxer'''....''cut into thirds'' |- |'''iz-'''....''ortho-, recti-, right-, straight-''||'''iznada'''....''rectilinear''<br> '''izguna'''....''orthogonal''<br> '''iztin'''....''orthdoxy''<br> '''izdea'''....''forthright'' |- |'''ja-'''....''ante-, fore-, pre-''||'''jaupya'''....''foregone''<br> '''jauper'''....''precede''<br> '''jadropeka'''....''antebellum'' |- |'''je-'''....''per-, continuously, ever-''||'''jetejer'''....''persevere''<br>'''jeteaxer'''....''watch''<br>'''jexrer'''....''perpetuate'' |- |'''jo-'''....''after-, meta-, post-''||'''joexlen'''....''postprocessing''<br> '''jomir'''....''metasphere''<br> '''jotej'''....''afterlife'' |- |'''jwa-'''....''early-, eo-, preter-, proto-''||'''jwaber'''....''prepare''<br> '''jwatuun'''....''premonition''<br> '''jwadodin'''....''early history, protohistory''<br> '''jwamola'''....''preternatural''<br> '''jwajoeb'''....''eocene'' |- |'''jwo-'''....''ceno-, late-, latter-, tard-''||'''jwonux'''....''late payment''<br> '''jwoa'''....''tardy''<br> '''jwoteja'''....''cenozoic'' |- |'''ko-'''....''cover-, hidden, secret-, stealth-''||'''koa'''....''covert''<br> '''koexut'''....''spy''<br> '''koyeper'''....''sneak in'' |- |'''(ko)vyo-'''....''pseudo-, mis-, wrong-''||'''kovyotun'''....''pseudoscience''<br>'''vyobekuer'''....''to mistreat'' |- |'''ku-'''....''para-''||'''kuifut'''....''paramour''<br> '''kuteliut'''....''parasite''<br> '''kuteptun'''....''parapsychology'' |- |'''kya-'''....''alternate, dia-, re-, trans-, vari-, cross-''||'''kyaember'''....''relocate''<br> '''kyajoba'''....''diachronic''<br> '''kyatajnad'''....''crossbreed''<br> '''kyatooba'''....''transgendered''<br> '''kyavolza'''....''variegated, motley'' |- |'''kyao-'''....''falteringly, unsteadily''||'''kyaoper'''....''stagger''<br> '''kyaotexer'''....''vacillate'' |- |'''kye-'''....''chance-, hap-, random-''||'''kyea'''....''haphazard''<br> '''kyebyus'''....''chance encounter''<br> '''kyeteater'''....''happen to see''<br> '''kyesauna'''....''of a random type'' |- |'''kyo-'''....''fixed-, still-, stereo-, stat-''||'''kyosaun'''....''stereotype''<br> '''kyopa'''....''stable, static, stationary''<br> '''kyoson'''....''status'' |- |'''lo-'''....''dis-, semantic reversing prefix, un-''||'''lozeb'''....''disequilibrium''<br> '''loyuvlaxer'''....''disengage''<br> '''loyuzyuber'''....''uncoil''<br> '''lomulvyusber'''....''decontaminate'' |- |'''logel-'''....''hetero-, different-''||'''logelsauna'''....''heterogenous''<br>'''logelaxer'''....''differentiate'' |- |'''maz-'''....''bright-''||'''mazteaba'''....''bright-eyed'' |- |'''mial-'''....''hygro-, atmo-, vapori-''||'''mialama'''....''hygrothermal''<br>'''mialnagar'''....''atomometer, vaporimeter'' |- |'''mil-'''....''aqua-, hydro-, water-''||'''milyexun'''....''aquaculture''<br> '''milmaka'''....''hydroelectric''<br> '''miltilsyeb'''....''water glass'' |- |'''mul-'''....''hylo-, substance''||'''mulsana'''....''hylomorphic'' |- |'''o(l)-'''....''a-, dis-, non-, un-, in-''||'''ovyilxwa'''....''unwashed''<br> '''omalza'''....''non-white''<br> '''ototina'''....''atheist''<br> '''otepzexea'''....''inattentive'' |- |'''o(b/p)-'''....''de-, hypo-, off-, sub-, vice-''||'''oper'''....''get off''<br> '''obneg'''....''sublevel''<br> '''obxeb'''....''sous-chef, sub-officer''<br>'''obtyodeb'''....''vice-president'' |- |'''oog-'''....''micro-'' || '''oogpob'''....''microorganism'' <nowiki>-</nowiki> |- | '''oj-'''....''future'' || '''ojtayd'''....''bride, future wife'' |- |'''gaw-'''....''re-'' ||'''gawder'''....''to repeat''<br>'''gawdyeer'''....''to re-read'' |- |'''gwo-'''....''micro-, mini-'' || '''ogalmor'''....''microcosm''<br>'''ogalteaxer'''....''microscope''<br>'''gowaxer'''....''minimize'' |- |'''of-'''....''prohibited'' ||'''ofbier'''....''steal''<br>'''ofbekul'''....''prohibited drug''<br>'''ofemkyoxer'''....''to squat'' |- |'''ov-'''....''contra-, counter-, dis-, non-, the opposite of, un-''||'''ovalxer'''....''countervail''<br> '''ovper'''....''contravene''<br> '''ovkyin'''....''counterweight''<br> '''ovdat'''....''enemy''<br> '''olovmasbwa'''....''undefended'' |- |'''oy-'''....''-less, a(n)-, without''||'''oytofa'''...''naked''<br> '''oyxer'''....''deprive''<br> '''oytosen'''....''apathy''<br> '''oyteupiba'''....''toothless'' |- |'''oyb-'''....''hypo-, infra-, sub-, under-''||'''oybnadrer'''....''underline''<br> '''oybtomsan'''....''infrastructure''<br> '''oybseuxa'''....''subsonic''<br> '''oybtayoba'''....''hypodermic'' |- |'''oyeb-'''....''ex-, extra-, out-''||'''oyebnad'''....''outline''<br> '''oyebyujber'''....''exclude''<br> '''oyebdoabuer'''....''extradite'' |- |'''oyv-'''....''contra-, opposite, reverse''||'''oyvkuma'''...''opposite''<br> '''oyvder'''....''contradict''<br>'''oyvduer'''....''contraindicate''<br>'''oyvaxer'''....''reverse'' |- |'''tayi(b)-'''....''neuro-, nerve''||'''tayibteptun'''....''neuropsychology''<br> '''tayibyok'''....''neuralgia'' |- |'''teeb-'''....''auri-, oto-, ear-''||'''teebbekut'''....''aurist''<br> '''teeteiteyobtut'''....''otorhinolaryngologist''<br> '''teebyel'''....''earwax'' |- |'''tee(s/x/t)-'''....''audio-, son-, phono-''||'''teesnagen'''....''audiography''<br> '''teestaxdras'''....''phonogram''<br> '''teestun'''....''audiology''<br> '''teexdras'''....''audiogram''<br> '''teetyofwa'''....''inaudible'' |- |'''tei(b)-'''....''nasal, nose, rhino-, aroma-, olfact-, osmo-''||'''teibbok'''....''rhinitis''<br> '''teibyeg'''....''nostril''<br> '''teiz'''....''perfume''<br> '''teizuka'''....''aroma-free''<br> '''teityaf'''....''olfactory sense'' |- |'''tiibil-'''....''blood-, hema-, hemato-, hemo-, sanguin-''||'''tiibililp'''....''hemorrhage''<br> '''tiibiliut'''....''bloodsucker''<br> '''tiibloker'''....''exsanguinate''<br> '''tiibiltun'''....''hematology'' |- |'''tuj-'''....''hypno-, somni-, sopor-''||'''tujbek'''....''hyptotherapy''<br> '''tujbyea'''....''somniferous, soporific'' |- |'''u(b/p)-'''....''toward''||'''uber'''....''send''<br>'''ubaer'''....''lean toward'' |- |'''ui-'''....''horizontal, left-right, x-axis''||'''uinab'''....''row'', ''x-axis''<br> '''uinada'''....''horizontal'' |- |'''uib-'''....''back-and-forth, toward-and-away, transmit-receive''||'''uibar'''....''transceiver'' |- |'''uig-'''....''fast-and-slow''||'''uigpar'''....''scooter'' |- |'''uij-'''....''begin-and-end, start-and-stop''||'''uijdaler'''....''stutter'' |- |'''uip-'''....''come-and-go''||'''uipen'''....''traffic, coming and going'' |- |'''uiz-'''....''straight-then-crooked''||'''uizbaser'''....''swagger''<br> '''uizdrer'''....''scribble''<br> '''uizpaser'''....''swerve'' |- |'''u(n)-'''....''four-, quadri-, tetra-, quater-''||'''ungona'''....''quadripartite''<br> '''unnednid'''....''tetrahedron''<br> '''unsuna'''....''quaternary'' |- |'''uyn-'''....''fourth-, quarti-''||'''uynxer'''....''quarter''<br> '''uynjab'''....''quarter (of a year)'' |- |'''ut-'''....''auto-, self-, sui-, ego-''||'''utifon'''....''egoism''<br> '''utgober'''....''autodecrement''<br> '''utfuyix'''....''self-abuse''<br> '''uttujben'''....''suicide'' |- |'''uz-'''....''crooked, di-''||'''uzper'''....''diverge'' |- |'''va-'''....''yes''||'''vayovder'''....''convict''<br> '''vabier'''....''accept''<br> '''vatexer'''....''believe'' |- |'''vao-'''....''yes-no''||'''vaoder'''....''decide''<br> '''vaodaler'''....''waffle''<br> '''vaonaza'''....''boolean'' |- |'''vi-'''....''bell-, eu-, fine-, pulchri-''||'''vituzyan'''....''fine arts, beaux arts''<br> '''vidun'''....''euphemism''<br> '''vidrenyan'''....''literature, belles lettres''<br> '''visuana'''....''classic'' |- |'''vo-'''....''non-, neg-''||'''voyafxer'''....''veto''<br> '''voxer'''....''negate''<br> '''voyovder'''....''acquit, declare not guilty'' |- |'''vya-'''....''justi-, recti-, true-, reg-''||'''vyadin'''....''true story''<br> '''vyader'''....''avow''<br> '''vyamol'''....''essence'' |- | '''vyao-'''....''right or wrong'' ||'''vyaoyek'''....''test'' |- |'''vyak-'''....''ortho-, correct-''||'''vyakdred'''....''orthography''<br> '''vyakxer'''....''correct'' |- |'''vyo-'''....''mis-, para-, wrong-''||'''vyoyufa'''....''paranoid''<br> '''vyoyux'''....''perfidy''<br> '''vyoyixer'''....''misuse'' |- |'''ya-'''....''more than one, multi-''||'''yaota'''....''communal'' |- |'''yab-'''....''hyper-, supra-, sur-, up-, upper-''||'''yabdom'''....''uptown''<br> '''yabdoneg'''....''upper class''<br> '''yabduzneg'''....''high pitch''<br> '''yabexer'''....''support''<br> '''yabzyobix'''....''hypertension'' |- |'''yabnan-'''....''height-, hypso-, alti-''||'''yabnanagar'''....''hypsometer, altimeter'' |- |'''yag-'''....''long-''||'''yagyiban'''....''long distance''<br> '''yagyeker'''....''strive''<br> '''yagblokea'''....''long-suffering'' |- |'''yan-'''....''co(n)-, fellow-, -mate''||'''yanzena'''....''concentric''<br> '''yanyeker'''....''compete''<br> '''yandit'''....''fellow-citizen'' |- |'''yao(b/p)-'''....''up-and-down''||'''yaopuyser'''....''skip''<br> '''yaopsim'''....''seesaw''<br> '''yaoblir'''....''elevator''<br> '''yaobaser'''....''bounce'' |- |'''ya(on)-'''....''six-, hexa-, sex-''||'''yaonat'''....''sextet''<br> '''yaongun'''....''hexagon''<br> '''yaona'''....''six-fold, sextuple''<br>'''yagol'''....''sextile'' |- |'''yaov-'''....''guilty-or-innocent''||'''yaovder'''....''adjudicate''<br> '''yaovdutyan'''....''jury''<br> '''yaovkader'''....''plead''<br> '''yaovyek'''....''trial'' |- |'''yaoz-'''....''serrated, bumpy, jagged''||'''yaozaxer'''....''serrate''<br> '''yaozgoblar'''....''saw''<br> '''yaozper'''....''bump along'' |- |'''yayb-'''....''supra-''||'''yaybdooba'''....''supranational'' |- |'''yayn-'''....''sex-, sixth''||'''yayna'''...''sixth'' |- |'''ye(on)-'''....''hept-, hepta-, septi-, seven-''||'''yejub'''....''week''<br> '''yeongun'''....''heptagon''<br> '''yeonat'''....''septuplet'' |- |'''ye(b/p)-'''....''en-, endo-, in-, intra-, intro-''||'''yebuzaser'''....''.inflect''<br> '''yebzoytiibufa'''....''intravenous''<br> '''yebyujer'''....''enclode''<br> '''yebtayoba'''....''endodermal''<br> '''yeper'''....''enter''<br> '''yeber'''....''introduce'' |- |'''yeov-'''....''fair or not ''|| '''yeovdut'''....''umpire'' |- |'''yeyb-'''....''intra-''||'''yeybmepyan'''....''intranet''<br> '''yeybdoeba'''....''intrastate'' |- |'''ye-'''....''hepto-, seven-, septi-''||'''yejub'''....''week'' |- |'''yeyn-'''....''seventh''|| '''yeynxer'''....''split into sevenths'' |- |'''yez'''....''para-, alongside''|| '''yezteptun'''....''parapsychology''<br>'''yezuper'''....''come alongside'' |- |'''yi(on)-'''....''oct-, eight-''||'''yiona'''...''eight-fold''<br>''octuple'' |- |'''yib-'''....''far-, tele-, remote''||'''yibsin'''....''televison''<br> '''yibteata'''....''far-sighted''<br> '''yibtrawa'''....''famous'' |- |'''yibaj-'''....''archai-, archeo-, ancient''||'''yibajtun'''....''archaeology'','''yibajtun'''....''archeology'' |- |'''yiyn-'''....''eighth''||'''yiynxer'''....''divide into eighths'' |- |'''yiz-'''....''beyond, extra-, meta-, out-, para-, past, super-, supra-, trans-, ultra-''||'''yiztyun'''...''metaphor''<br> '''yizeza'''....''paranormal''<br> '''yizmeirat'''....''extraterrestrial''<br> '''yizseux'''....''utrasound'' |- |'''yoon-'''....''five-, penta-, quint-''||'''yoongun'''....''pentagon''<br> '''yoongol'''...''quintile''<br> '''yoon'''....''group of five''<br> ''quintet'' |- |'''yo(b/p)-'''....''down-, hypo-, sub-''||'''yobdom'''...''downtown''<br> '''yoper'''....''go down''<br> '''yobgoler'''....''subdivide'' |- |'''yon-'''....''apart, dis-, se-''||'''yonzyaber'''....''disperse''<br> '''yonxer'''....''separate''<br> '''yonsauna'''....''distinct'' |- |'''yoyn-'''....''fifth-, quinti-''||'''yoynnaga'''....''quintic''<br> '''yoyn'''....''a fifth'' |- |'''yu(n)-'''....''nine-, nona-''||'''yunapa'''....''ninth (in order)''<br> '''yungunid'''....''nonagon''<br> '''yunkunid'''....''nonahedron'' |- |'''yub-'''....''near-, proxi-, para-''||'''yuboj'''....''near future''<br> '''yubna'''....''next''<br> '''yubteas'''....''closeup (view)''<br> '''yubge'''....''almost''<br> '''yubfia'''....''intimate''<br> '''yubgeser'''....''approximate''<br>'''yubdopa'''....''paramilitary'' |- |'''yui(b/p)-'''....''near-and-far''||'''yuibjo'''....''sooner or later''<br> '''yuibteabar'''....''bifocals''<br> '''yuipoper'''....''travel near and far'' |- |'''yuij-'''....''open-and-shut''||'''yuijar'''....''valve''<br> '''yuijer'''....''blink'', ''wink''<br> '''manyuijer'''....''blink''<br> '''makyuijar'''....''switch'' |- |'''yuyb-'''....''quasi-, pen-, almost''||'''yuybyonmel'''....''peninsula''<br> '''yuybega'''....''quasi-normal'' |- |'''yuon-'''....''ninth-, novi-''||'''yuonat'''....''nonuplet'' |- |'''yuz-'''....''circ-, circum-, peri-, roto-, round-''||'''yuzper'''....''circulate''<br> '''yuznad'''....''perimeter''<br> '''yuzof'''....''wrap-around''<br> '''yuznadrer'''....''circumscribe'' |- |'''za-'''....''ante-, fore-, front-, pre-, pro-, north''||'''zatim'''....''antechamber''<br> '''zamimuf'''....''foremast''<br> '''zagab'''....''prefix''<br> '''zajuber'''....''procrastinate''<br>'''zamer'''....''north'' |- |'''zao-'''....''back-and-forth, front-and-back''||'''zaopaser'''....''wobble''<br> '''zaokuper'''....''slalom''<br> '''zaopyoser'''....''pendulate'' |- |'''zay-'''....''forth-, pro-, forward, ahead''||'''zaypuyser'''....''skip ahead''<br> '''zaypuxer'''....''propel''<br> '''zayper'''....''go forward, procede''<br> '''zayupea'''....''forthcoming'' |- |'''ze-'''....''mid-, central, medio-''||'''zetej'''....''midlife''<br> '''zepoxer'''....''interrupt, stop midway''<br> '''zetem'''....''central hall'' |- |'''zey-'''....''cross-, meta-, over-, trans-, across''||'''zeyper'''....''transit, get across''<br> '''zeynod'''....''crosspoint''<br> '''zeytyun'''....''metaphor'' |- |'''zi-'''....''right, east, dextro-''||'''zim'''....''right side''<br>'''zimera'''....''eastern'' |- |'''zo-'''....''back-, hind-, retro-, south''||'''zotib'''....''back''<br> '''zotiub'''....''hindquarters''<br> '''zonapa'''....''retrograde''<br>'''zomer'''....''south'' |- |'''zoy-'''....''back-, retro-, re-''||'''zoyper'''....''recede, go back''<br> '''zoybeler'''....''carry back''<br> '''zoyzyublen'''....''backspin'' |- |'''zu-'''....''left-, west-''||'''zutinut'''....''leftist''<br> '''zukum'''....''left side''<br>'''zumera'''....''western'' |- |'''zui-'''....''left-and-right, zig-zag, east-west''||'''zuibyoser'''....''dangle, hang left-and-right''<br> '''zuiper'''....''zigzag''<br> '''zuituyaba'''....''ambidextrous''<br>'''zuimera'''....''east-west'' |- |'''zya-'''....''-wide, wide-, broad-, all about''||'''zyauber'''....''broadcast''<br> '''zyateaba'''....''wide-eyed''<br> '''zyasauna'''....''general''<br> '''zyapoper'''....''cruise, wander''<br> '''zyamira'''....''global, worldwide'' |- |'''zye-'''....''per-, thorough-, thru-, trans-''||'''zyetejer'''....''live through, experience''<br> '''zyeteaxer'''....''peruse''<br> '''zyeteatyafwa'''....''transparent''<br> '''zyemep'''....''thoroughfare''<br> '''zyeper'''....''permeate, transit'' |- |'''zyo-'''....''narrow, steno-'' || '''zyotepa'''....''narrow-minded''<br>'''zyoteat'''....''tunnel vision''<br>'''zyoyija'''....''stenopeic'' |- |'''zyu-'''....''cyclo-, rot-, round-, gyro''||'''zyutim'''....''rotunda''<br> '''zyusem'''....''roundtable''<br> '''zyuper'''....''cycle, gyrate, rotate'' |} ==== Suffixes ==== : Mirad has semantic stub suffixes, derivational suffixes, and normal semantic suffixes. : '''Semantic Stub Suffixes''' ::: Semantic stub suffixes are generally formed from the last letters of a base word minus the initial consonant. They serve to put a word into some category, such as liquid, place, person, or material. {| class="wikitable sortable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Stub Suffixes |- valign=top ! Suffix Stub !! Suffix Full Form !! Suffixed Example < Base Word |- | '''-il'''....''liquid, drink'' || '''mil'''....''water'' || '''teab<u>il</u>'''....''tear''&nbsp;&nbsp;<&nbsp;&nbsp;'''teab'''....''eye''<br>'''teub<u>il</u>'''....''saliva''&nbsp;&nbsp;<&nbsp;&nbsp;'''teub'''....''mouth''<br>'''tayeb<u>il</u>'''....''sweat''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayeb'''....''skin''<br>'''mam<u>il</u>'''....''rain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mam'''....''sky'' |- | '''-al'''....''gas'' || '''mal'''....''air'' || '''tieb<u>al</u>'''....''breath''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' |- | '''-(e)l'''....''food'' || '''tel'''....''food'' || '''sup<u>el</u>'''....''pork''&nbsp;&nbsp;<&nbsp;&nbsp;'''<u>sup</u>et'''....''swine''<br>'''ta<u>ol</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''taob'''....''flesh''<br>'''fe<u>l</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''feb'''....''fruit'' |- | '''-ul'''....''stuff'' || '''mul'''....''substance'' || '''vix<u>ul</u>'''....''cosmetic''&nbsp;&nbsp;<&nbsp;&nbsp;'''vix-'''....''to beautify''<br>'''bek<u>ul</u>'''....''medecine''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment'' |- | '''-yel'''....''oil, gel, wax, pulp'' || '''yel'''....''oil'' || '''olf<u>yel</u>'''....''olive oil''&nbsp;&nbsp;<&nbsp;&nbsp;'''olfeb'''....''olive''<br>'''appelat<u>yel</u>'''....''wax''&nbsp;&nbsp;<&nbsp;&nbsp;'''appelat'''....''bee''<br>'''mag<u>yel</u>'''....''grease''&nbsp;&nbsp;<&nbsp;&nbsp;'''mag'''....''fire''<br>'''bek<u>yel</u>'''....''salve''&nbsp;&nbsp;<&nbsp;&nbsp;'''bek'''....''treatment''<br>'''meg<u>yel</u>'''....''cement''&nbsp;&nbsp;<&nbsp;&nbsp;'''meg'''....''stone''<br>'''yan<u>yel</u>'''....''paste''&nbsp;&nbsp;<&nbsp;&nbsp;'''yan'''....''together'' |- | '''-am'''....''house'' || '''tam'''....''house'' || '''apat<u>am</u>'''....''chicken coop''&nbsp;&nbsp;<&nbsp;&nbsp;'''apat'''....''chicken''<br>'''apellat<u>am</u>'''....''beehive''&nbsp;&nbsp;<&nbsp;&nbsp;'''apellat'''....''bee''<br>'''melyex<u>am</u>'''....''farmhouse''&nbsp;&nbsp;<&nbsp;&nbsp;'''melyex'''....''agriculture''<br>'''datib<u>am</u>'''....''hostel''&nbsp;&nbsp;<&nbsp;&nbsp;'''datib'''....''guest-reception'' |- | '''-(e)m'''....''place'' || '''nem'''....''place'' || '''vobyex<u>em</u>'''....''plantation, farm''&nbsp;&nbsp;<&nbsp;&nbsp;'''vob'''....''plant'' + '''yex'''....''work''<br>'''vab<u>em</u>'''....''field''&nbsp;&nbsp;<&nbsp;&nbsp;'''vab'''....''grass''<br>'''ab<u>em</u>'''....''top, surface''&nbsp;&nbsp;<&nbsp;&nbsp;'''ab'''....''above, upper''<br>'''ze<u>m</u>'''....''middle''&nbsp;&nbsp;<&nbsp;&nbsp;'''ze(a)'''....''middle'' <br> '''tim'''....''room'' |- | '''-im'''....''room'' || '''tim'''....''room'' || '''tul<u>im</u>'''&nbsp;&nbsp;<&nbsp;&nbsp;'''tul'''....''cuisine''<br>'''tuj<u>im</u>'''....''bedroom''&nbsp;&nbsp;<&nbsp;&nbsp;'''tuj'''....''sleep'' |- | '''-um'''....''cell, booth'' || '''tum'''....''compartment''|| '''pex<u>um</u>'''....''cage''&nbsp;&nbsp;<&nbsp;&nbsp;'''pexer'''....''catch''<br>'''ilzyapux<u>um</u>'''....''shower stall''&nbsp;&nbsp;<&nbsp;&nbsp;'''ilzyapux'''....''shower'' |- | '''-yem'''....''space'' || '''nyem'''....''enclosure'' || '''yom<u>yem</u>'''....''icebox''&nbsp;&nbsp;<&nbsp;&nbsp;'''yom'''....''ice'' |- | '''-yeb'''....''container'' || '''nyeb'''....''container'' || '''z<u>yeb</u>'''....''bottle''&nbsp;&nbsp;<&nbsp;&nbsp;'''zye(f)'''....''glass''<br>'''vos<u>yeb</u>'''....''vase''&nbsp;&nbsp;<&nbsp;&nbsp;'''vos'''....''flower'' |- | '''-of'''....''material'' || '''nof'''....''cloth'' || '''t<u>of</u>'''....''clothes''&nbsp;&nbsp;<&nbsp;&nbsp;'''t-'''....''human''<br>'''mis<u>of</u>'''....''curtain''&nbsp;&nbsp;<&nbsp;&nbsp;'''mis'''....''window''<br>'''fa<u>of</u>'''....''wood''&nbsp;&nbsp;<&nbsp;&nbsp;'''fa(b)-'''....''tree''<br>'''tay<u>of</u>'''....''leather''&nbsp;&nbsp;<&nbsp;&nbsp;'''tayo(b)'''....''skin'' |- | '''-ov'''....''linen'' || '''nov'''....''linen'' || '''tey<u>ov</u>'''....''collar''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck'' |- | '''-ar'''....''instrument'' || '''sar'''....''tool'' ||'''p<u>ar</u>'''....''cart''&nbsp;&nbsp;<&nbsp;&nbsp;'''p-'''....''motion''<br>'''zyup<u>ar</u>'''....''rotor''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyup'''....''turn''<br>'''gobr<u>ar</u>'''....''knife''&nbsp;&nbsp;<&nbsp;&nbsp;'''gobrar'''....''cut''<br>'''jwob<u>ar</u>'''....''watch''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-ir'''....''machine'' || '''sir'''....''machine'' || '''dr<u>ir</u>'''....''typewriter''&nbsp;&nbsp;<&nbsp;&nbsp;'''dr-'''....''write''<br>'''gwob<u>ir</u>'''....''clock'' |- | '''-ur'''....''large machine'' || '''sur'''....''engine'' || '''p<u>ur</u>r'''....''car''<br>'''jwob<u>ur</u>r'''....''grandfather clock''&nbsp;&nbsp;<&nbsp;&nbsp;'''jwob'''....''hour'' |- | '''-(u)n'''....''thing'' || '''sun'''....''thing'' || '''d<u>un</u>'''....''word''&nbsp;&nbsp;<&nbsp;&nbsp;'''d-'''....''utter, say''<br>'''gofr<u>un</u>'''....''piece, scrap''&nbsp;&nbsp;<&nbsp;&nbsp;'''gofrer'''....''rip, shread, tear''<br>'''zyi<u>un</u>'''....''plaque, plate''&nbsp;&nbsp;<&nbsp;&nbsp;'''zyia'''....''flat''<br>'''vyu<u>n</u>'''....''spot''&nbsp;&nbsp;<&nbsp;&nbsp;'''vyua'''....''dirty'' |- | '''-on'''....''abstract thing'' || '''son'''....''issue'' || '''yov<u>on</u>'''....''tort, wrong''&nbsp;&nbsp;<&nbsp;&nbsp;'''yov'''....''guilt'' |- | '''yen'''....''manner, kind'' || '''byen'''....''manner'' || '''tex<u>yen</u>'''....''opinion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tex'''....''thought''<br>'''hi<u>yen</u>'''....''this way, thus''&nbsp;&nbsp;<&nbsp;&nbsp;'''hi-'''....''this''<br>'''es<u>yen</u>'''....''status''&nbsp;&nbsp;<&nbsp;&nbsp;'''es-'''....''exist'' |- | '''-in'''....''-ism'' || '''tin'''....''doctrine'' || '''tot<u>in</u>'''....''theism, religion''&nbsp;&nbsp;<&nbsp;&nbsp;'''tot-'''....''god''<br>'''Krist<u>in</u>'''....''Christianity''&nbsp;&nbsp;<&nbsp;&nbsp;'''Krist'''....''Christ''<br>'''vyisat<u>in</u>'''....''puritanism''&nbsp;&nbsp;<&nbsp;&nbsp;'''vysiat'''....''puritan, clean person''<br>'''oytof<u>in</u>'''....''nudism''&nbsp;&nbsp;<&nbsp;&nbsp;'''oytofa'''....''nude'' |- | '''-ufyeg'''....''cylinder'' || '''mufyeg'''....''pipe'' || '''man<u>ufyeg</u>'''....''candle''&nbsp;&nbsp;<&nbsp;&nbsp;'''man'''....''light''<br>'''tiib<u>ufyeg</u>'''....''artery''&nbsp;&nbsp;<&nbsp;&nbsp;'''tiib'''....''heart''<br>'''mil<u>ufyeg</u>'''....''toilet''&nbsp;&nbsp;<&nbsp;&nbsp;'''mil'''....''water''<br>'''mov<u>ufyeg</u>'''....''cheminee''&nbsp;&nbsp;<&nbsp;&nbsp;'''mov'''....''smoke'' |- | '''-ab'''....''government'' || '''dab'''....''government'' || '''dit<u>ab</u>'''....''democracy''&nbsp;&nbsp;<&nbsp;&nbsp;'''dit'''....''citizen'' |- | '''-eb'''....''leader'' || '''deb'''....''leader'' || '''x<u>eb</u>'''....''boss''&nbsp;&nbsp;<&nbsp;&nbsp;'''x-'''....''do''<br>'''tam<u>eb</u>'''....''master of the house''&nbsp;&nbsp;<&nbsp;&nbsp;'''tam'''....''house'' |- | '''-ub'''....''branch'' || '''tub'''....''arm'' || '''pat<u>ub</u>'''....''wing''&nbsp;&nbsp;<&nbsp;&nbsp;'''pat'''....''bird'' |- | '''-ad'''....''language'' || '''-a''' + '''d(alzeyn)'''....''language'' || '''Frans<u>ad</u>'''....''French (language)'' |- | '''-uz'''....''jewelry'' || '''nuz'''....''jewel'' || '''teyob<u>uz</u>'''....''necklace''&nbsp;&nbsp;<&nbsp;&nbsp;'''teyob'''....''neck''<br>'''teeb<u>uz</u>'''....''earring''&nbsp;&nbsp;<&nbsp;&nbsp;'''teeb'''....''ear'' |- | '''-u(er)'''....''give'' || '''buer'''....''give'' || '''tiebal<u>u</u>er'''....''exhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-i(er)'''....''take'' || '''bier'''....''take'' || '''tiebal<u>i</u>er'''....''inhale''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |- | '''-ui(er)'''....''exchange'' || '''buier'''....''exchange'' || '''tiebal<u>u</u>ier'''....''breathe''&nbsp;&nbsp;<&nbsp;&nbsp;'''tieb'''....''lung'' + '''al'''....''air'' |} ==== Derviational Suffixes ==== ::: Mirad has only a few derivational suffixes, i.e. suffixes that change the part of speech. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Derivational Suffixes |- ! Derivational<br>Suffix !! Function || Base Word <br><br>--> Suffixed<br>Derivation |- | '''-er''' || Noun <br>--> Verbal Infinitive || '''sag'''....''count'' <big><br>--></big> '''sag<u>er</u>'''....''to count'' |- | '''-n''' || Present Tense Verb <br>--> Verbal Noun (Gerund)<br>Adjective <br>--> Abstract Noun || '''yexe'''....''(he/she/...) works'' <big><br>--></big> '''yexe<u>n</u>'''....''working''<br>'''via'''....''beautiful'' <big><br>--></big> '''via<u>n</u>'''....''beauty''<br>'''yuba'''....''near'' <big><br>--></big> '''yuba<u>n</u>'''....''proximity, nearness'' |- | '''-a''' || Noun <br>--> Adjective<br>Active Verb<br>--> Verbal Adjective (Present Participle)<br>Past Passive Verb <br>--> Perfect Passive Participle (Adjective)||'''mor'''....''universe'' <big><br>--></big> '''mor<u>a</u>'''....''universal''<br>'''ake'''....''wins'' <big><br>--></big> '''ake<u>a</u>'''....''winning''<br>'''teatwa'''....''was seen'' <big><br>--></big>'''teatwa<u>a</u>''' (or, shortened to: '''teatw<u>a</u>'''....''seen'') |- | '''-ya''' || INTRANSITIVE VERB STEM <br>--> PAST ACTIVE PARTICIPLE || '''ip-'''....''go away'' <big><br>--></big> '''ip<u>ya</u>'''....''gone away'' |- | '''-yea''' || VERB STEM <br>--> HABITUAL PRESENT PARTICIPLE (ADJECTIVE) || '''zaypas-'''....''progress'' <big><br>--></big> '''zaypas<u>yea</u>'''....''progressive'' |- | '''-y''' || ADJECTIVE <br>--> ADVERB || '''iga'''....''quick'' <big><br>--></big> '''iga<u>y</u>'''....''quickly''<br>'''tea-'''....''knowing''<big><br>--></big>'''tea<u>y</u>'''....''knowingly'' |- | '''-ut''' || VERB STEM <br>--> ANIMATE AGENT NOUN ''one who Xes, -er'' || '''ak-'''....''win'' <big><br>--></big> '''ak<u>ut</u>''' ....''winner'' |- | '''-us''' || VERB STEM <br>--> INANIMATE AGENT NOUN ''thing that Xes, -er'' || '''gol-'''....''divide'' <big><br>--></big> '''gol<u>us</u>''' ....''divisor'' |- |- '''-t''' || ADJECTIVE <br>--> ANIMATE NOUN (human, one who is...) || '''yibtrawa'''....''well-known'' <big>-<br>--></big>'''yibtrawa<u>t</u>'''....''celebrity'' |- |- '''-s''' || ADJECTIVE <br>--> INANIMATE NOUN (thing, something X) || '''otwa'''....''unknown'' <big><br>--></big>'''otwa<u>s</u>'''....''mystery'' |} ::: <small>*Derivational affixes change the part of speech of a base word, whereas inflexional affixes change the status of a word within a grammatical paradigm. Verb tense/mood/voice affixes and the plural marker '''-i''' fall under the latter category.</small> ==== Normal Semantic Suffixes==== :* Augmentative Suffixes {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Augmentative Suffixes |- ! Augmentative Suffix !! Base Word !! Suffixed Derivation |- | '''-ag''' (augmentative) || '''tam'''....''house'' || '''tamag'''....''mansion'' |- | '''-ayg''' (affectionate augmentative) || '''sem'''....''chair'' || '''semayg'''....''big old chair'' |- | '''-yag''' (pejorative augmentative) || '''apet'''....''horse'' || '''apetyag'''....''nag'' |} :* Diminutive Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Diminutive Suffixes |- ! Diminutive Suffix !! Base Word !! Suffixed Derivation |- | '''-og''' (diminutive) || '''tam'''....''house'' || '''tamog'''....''hut'' |- | '''-oyg''' (affectionate diminutive) || '''tam'''....''house'' || '''tamoyg'''....''cottage'' |- | '''-yog''' (pejorative diminutive) || '''tam'''....''house'' || '''tamyog'''....''shack'' |- | '''-et''' (a smaller person) || '''twob'''....''man'' || '''twobet'''....''boy'' |- | '''-es''' (thing of lesser importance) || '''nas'''....''money'' || '''nases'''....''change, coin'' |- | '''-ud''' (child of, offspring) || '''tob'''....''man'' || '''tobud'''....''infant'' |} :* Semantic Adjectival Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Semantic Adjectival Suffixes |- ! Adjectival Suffix !! Meaning !! Base Word !! Suffixed Derivation |- | '''-a''' || '''mor'''....''universe'' || ''related to, -al, -ic'' || '''mora'''....''universal'' |- | '''-aya''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekaya'''....''dusty'' |- | '''-oya''' || '''vyun'''....''spot'' || ''empty of, -less, -free'' || '''vyunoya'''....''spotless'' |- | '''-ika''' || '''miek'''....''dust'' || ''full of, -ous, -y'' || '''miekika'''....''dusty'' |- | '''-uka''' || '''miek'''....''dust'' || ''empty of, -less, -free'' || '''miekuka'''....''dust-free'' |- | '''-yea''' || '''vyod'''....''lie'' || ''given to doing X, -ive'' || '''vyodyea'''....''mendacious, given to lying'' |- | '''-yena''' || '''tat'''....''angel'' || ''like, -ly, -ic'' || '''tatyena'''....''angelic'' |} :* Other Semantic Suffixes {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Other Semantic Suffixes |- ! Suffix !! Base Word || Derivation |- | '''-tun'''....''science, ...ology'' || '''tej'''....''life'' || '''tej<u>tun</u>'''....''biology'' |- | '''-tut'''....''-ologist, expert, -ist'' || '''dar'''....''language'' || '''dar<u>tut</u>'''....''linquist'' |- | '''-tuin'''....''theory'' || '''tob'''....''mar'' || '''mar<u>tuin</u>'''....''astrology'' |- | '''-yan'''....''collection, aggregate'' || '''fab'''....''tree''|| '''fab<u>yan</u>'''....''forest'' |- |'''-tyen'''....''trade, -ics'' || '''sir'''....''machine'' || '''sir<u>tyen</u>'''....''mechanics'' |- | '''-if'''....''pet name'' || '''twed'''....''father'' || '''twed<u>if</u>'''....''papa'' |- | '''ifa'''....''-philic, -loving'' || '''dyes'''....''book'' || '''dyes<u>ifa</u>'''....''bibliophilic'' |- | '''ifwa'''....''liked by'' || '''tyod'''....''people'' || '''tyod<u>ifwa</u>'''....''popular'' |- | '''ufa'''....''-phobic, -hating'' || '''toyb'''....''woman'' || '''toyb<u>ufa</u>'''....''misogynous'' |- | '''ufwa'''....''hated by'' || '''tyod'''....''people'' || '''tyod<u>ufwa</u>'''....''unpopular'' |- | '''yafa'''....''able to'' || '''tyoyap-'''....''walk'' || '''tyoyap<u>yafa</u>'''....''ambulatory'' |- | '''yafwa'''....''possible to'' || '''teat-'''....''see'' || '''teat<u>yafwa</u>'''....''visible'' |- | '''yofa'''....''unable to'' || '''teat-'''....''see'' || '''teat<u>yofa</u>'''....''blind'' |- | '''yofwa'''....''impossible to'' || '''dye-'''....''read'' || '''dye<u>yofwa</u>'''....''illegible'' |- | '''yika'''....''hard of...ing'' || '''teet-'''....''hear'' || '''teet<u>yika</u>'''....''hard of hearing'' |- | '''yikwa'''....''hard to'' || '''teet-'''....''hear'' || '''teet<u>yikwa</u>'''....''hard to hear'' |- | '''yuka'''....''easy at...ing'' || '''vatex-'''....''believe'' || '''vatex<u>yuka</u>'''....''gullible'' |- | '''yukwa'''....''easily...ed'' || '''test-'''....''understand'' || '''test<u>yukwa</u>'''....''easily understood'' |- | '''yufa'''....''fearful of, -phobic'' || '''tot'''....''god'' || '''tot<u>yufa</u>'''....''god-fearing'' |- | '''yufwa'''....''feared'' || '''hyat'''....''everybody'' || '''hyat<u>yufwa</u>'''....''feared by all'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''efa'''....''needful of'' || '''tel'''....''food'' || '''tel<u>efa</u>'''....''hungry'' |- | '''efwa'''....''necessary to'' || '''tej'''....''life'' || '''tej<u>efa</u>'''....''vital'' |- | '''yefa'''....''duty-bound to, -worthy of'' || '''dud'''....''answer'' || '''dud<u>yefa</u>'''....''responsible'' |- | '''yefwa'''....''due, -worthy of'' || '''fid-'''....''laud'' || '''fid<u>yefwa</u>'''....''praiseworthy'' |- | '''afa'''....''authorized to'' || '''dokebi-'''....''vote'' || '''dokebi<u>afa</u>'''....''franchised'' |- | '''ofwa'''....''prohibited to'' || '''movi-'''....''smoke'' || '''movi<u>ofwa</u>gonem'''....''no-smoking zone'' |- | '''yiva'''....''free to'' || '''kebi-'''....''choose'' || '''kebi<u>yiva</u>'''....''free to choose'' |- | '''yivwa'''....''free to be ...ed'' || '''kebi-'''....''choose'' || '''kebi<u>yivwa</u>'''....''optional'' |- | '''yuva'''....''bound'' || '''tam'''....''house'' || '''tam<u>yuva</u>'''....''house-bound'' |- | '''ova'''....''resistant, anti-'' || '''aagdovyab'''....''constitution'' || '''aagdovyab<u>ova</u>'''....''anti-constitutional'' |- | '''ava'''....''in favor of, pro-'' || '''tyodab'''....''democracy'' || '''tyodab<u>ava</u>'''....''pro-democracy'' |- | '''eva'''....''neutral'' || '''toos'''....''gender'' || '''toos<u>eva</u>'''....''gender-neutral'' |} === Rule #3: Ordinal Vowel Scaling === : Creating a hierarchy of scalar terms applies only to base words of the Group 1. The hierarchy of scalar terms is built by increasing the numeric value of the ordinal vowel of the base word as the importance or relevance of the word decreases from the topmost, zeroth object. This process is called '''''first-level ordinal scaling'''''. ==== First-level Ordinal Scaling ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ First-level Ordinal Scaling |- valign=top ! ORDINAL VOWEL !! t...b !! m...r !! j...b !! m...s !! t...m !! d...b || f...b || s...m || d...t || t...d |- !row=1| '''o''' = 0 |'''tob'''<br>''man'' || '''mor'''<br>''universe'' || '''job'''<br>''time'' || '''mos'''<br>''floor''|| '''tom'''<br>''building'' || '''dob'''<br>''state'' || '''fob'''<br>''plant'' || '''som'''<br>''furniture''||'''dot'''<br>''society''||'''tod'''<br>''family'' |- !row=1| '''a''' = 1 |'''tab'''<br>''body'' || '''mar'''<br>''sun'' || '''jab'''<br>''year'' || '''mas'''<br>''wall'' || '''tam'''<br>''house'' || '''dab'''<br>''government'' || '''fab'''<br>''tree'' || '''sam'''<br>''armoire''||'''dat'''<br>''friend'' || '''tad'''<br>''spouse'' |- !row=1| '''e''' = 2 |'''teb'''<br>''head'' || '''mer'''<br>''planet'' || '''jeb'''<br>''season''|| '''mes'''<br>''door'' || '''tem'''<br>''hall'' || '''deb'''<br>''leader'' || '''feb'''<br>''fruit'' || '''sem'''<br>''table''||'''det'''<br>''associate'' || '''ted'''<br>''parent'' |- !row=1| '''i''' = 3 |'''tib'''<br>''trunk'' || '''mir'''<br>''earth'' || '''jib'''<br>''month'' || '''mis'''<br>''window'' || '''tim'''<br>''room'' || '''dib'''<br>''office'' || '''fib'''<br>''tree trunk'' || '''sim'''<br>''chair''||'''dit'''<br>''citizen'' || '''tid'''<br>''sibling'' |- !row=1| '''u''' = 4 |'''tub'''<br>''arm'' || '''mur'''<br>''moon'' || '''jub'''<br>''day'' || '''mus'''<br>''stairs'' || '''tum'''<br>''cell'' || '''dub'''<br>''minister'' || '''fub'''<br>''branch'' || '''sum'''<br>''bed''||'''dut'''<br>''gentleperson'' || '''tud'''<br>''child'' |- !row=1| '''yo''' = 5 |'''tyob'''<br>''leg'' || || '''jyob*'''<br>''hour'' || || || || '''fyob'''<br>''root'' || || || '''tyod'''<br>''people'' |} ::: <small>* The palatal glide '''y''' in these words, which follows a palatal '''j''' is hard to pronounce, so the '''y''' is replaced with a '''w''', giving '''jwob''', '''jwab''', and '''jweb'''.</small> ==== Second-level Ordinal Scaling ==== :: A second-level hierarchy of scalar words can be creating by adding an ordinal vowel immediately after a word's stem vowel. ::: Examples: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Second-level Ordinal Scaling |- ! '''mi...p''' !! '''me...p''' !! '''tu...b''' !! '''tyo...b'''!! '''ma...f''' !! '''me...g''' !! '''do...b''' |- | '''mip'''<br>''river'' || '''mep'''<br>''way'' || '''tub'''<br>''arm'' || '''tyob'''<br>''leg'' || '''maf'''<br>''cloud'' || '''meg'''<br>''stone'' || '''dob'''<br>''state'' |- | '''mi<u>a</u>p'''<br>''stream'' || '''meap'''<br>''road'' || '''tuab'''<br>''shoulder'' || '''tyoab'''<br>''hip''|| '''maaf'''<br>''stratus'' || '''meag'''<br>''marble'' || '''doab'''...''fatherland'' |- | '''mi<u>e</u>p'''<br>''brook'' || '''meep'''<br>''path'' || '''tueb'''<br>''upper arm'' || '''tyoeb'''<br>''thigh''|| '''maef'''<br>''cumulus'' || '''meeg'''<br>''slate'' || '''doeb'''<br>''province, state'' |- | '''mi<u>i</u>p'''<br>''rivulet'' || '''meip'''<br>''trail'' || '''tuib'''<br>''elbow'' || '''tyoib'''<br>''knee''|| '''maif'''<br>''stratocumulus'' || '''meig'''<br>''granite'' || '''doib'''<br>''county, shire'' |- | '''mi<u>u</u>p'''<br>''torrent'' || '''meup'''<br>''track'' || '''tuub'''<br>''forearm'' || '''tyoub'''<br>''shin''|| '''mauf'''<br>''cumulonimbus'' || '''meug'''<br>''clay, dough'' || '''doub'''<br>''district'' |- | '''mi<u>yo</u>p'''<br>''trickle'' || || '''tuyob'''<br>''wrist'' || '''tyoyob'''<br>''ankle''||'''mayof'''<br>''nimbostatus'' || '''meyog'''<br>''china'' || |- | || || '''tu<u>ya</u>b'''<br>''hand'' || '''tyoyab'''<br>''foot''||'''mayaf'''<br>''altostratus'' || '''meyag'''<br>''chalk'' || |- | || || '''tu<u>ye</u>b'''<br>''fist'' || '''tyoyeb'''<br>''heel''|| '''mayef'''<br>''altocumulus'' || '''meyeg'''<br>''limestone'' || |- | || || '''tu<u>yi</u>b'''<br>''palm'' || '''tyoyib'''<br>''sole''|| '''mayif'''<br>''cirrus'' || '''meyig'''<br>''alabaster'' || |- | || || '''tu<u>yu</u>b'''<br>''finger'' || '''tyoyub'''<br>''toe''|| '''mayuf'''<br>''cirrostratus'' || '''meyug'''<br>''gypsum''|| |- | || || '''tu<u>lo</u>b'''<br>''fingernail'' || '''tyolob'''<br>''toenail''||'''malof'''<br>''cirrocumulus'' || |} ==== Third-level Ordinal Scaling ==== ::: A third-level hierarchy can be created by prefixing an ordinal number vowel to the word. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Third-level Ordinal Scaling |- ! '''tuyub'''....''finger'' |- | '''<u>a</u>tuyub'''....''thumb'' |- | '''<u>e</u>tuyub'''....''index'' |- | '''<u>i</u>tuyub'''....''middle finger'' |- | '''<u>u</u>tuyub'''....''ring finger'' |- | '''<u>yo</u>tuyub'''....''pinky'' |} ::: So, to sum up, we have: {| class="wikitable" style="background:lightyellow; margin-left:6.4em; font-size:smaller" |+ Summary of Scaling |- ! '''t...b''' !! '''tob''' = ''human being'' |- | FIRST-LEVEL || '''tub'''....''arm'' |- | SECOND-LEVEL || '''tuyub'''....''finger'' |- | THIRD-LEVEL || '''atuyub'''....''thumb'' |} ==== Scaling with Prefixed Numbering ==== ::: We can also obtain a very convenient classification for new words by prefixing an ordinal vowel even though there is no first-level or second-level numbering. In this case, the first level usually begins with '''a'''. ::: Example: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Prefix Numbering |- ! align=left | NUMBER || '''dob'''....''state'' !! '''deb'''....''leader'' !! '''mez'''....''gem'' !! '''mer'''....''planet'' || '''maf'''....''cloud'' || '''sagtun'''....''mathematics'' |- ! 1 | '''<u>a</u>dob'''....''empire'' || '''adeb'''....''emperor'' || '''amez'''....''diamond'' || '''Amer'''....''Mercury'' || '''amaf'''....''nimbus'' || '''asagtun'''....''arithmetic'' |- ! 2 | '''<u>e</u>dob'''....''kingdom'' || '''edeb'''....''king'' || '''emez'''....''topaz'' || '''Emer'''....''Venus'' || '''emaf'''....''stratus'' || '''esagtun'''....''geometry'' |- ! 3 | '''<u>i</u>dob'''....''principality'' || '''ideb'''....''prince'' || '''imez'''....''ruby'' || '''Imer'''....''Earth'' || '''imaf'''....''nimbostatus'' || '''isagtun'''....''algebra'' |- ! 4 | '''<u>u</u>dob'''....''duchy'' || '''udeb'''....''duke'' || '''umez'''....''emerald'' ||'''Umer'''....''Mars'' || '''umaf'''....''cumulus'' || '''usagtun'''....''trigonometry'' |- ! 5 | '''<u>yo</u>dob'''....''marquisate'' || '''yodeb'''....''marquis'' || '''yomez'''....''saphire'' || '''Yomer'''....''Jupiter'' || '''yomaf'''....''cumulostatus'' || '''yosagtun'''....''calculus'' |- ! 6 | '''<u>ya</u>dob'''....''county'' || '''yadeb'''....''count'' || '''yamez'''....''lapis lazuli'' || '''Yamer'''....''Saturn'' || '''yamaf'''....''stratocumulus'' || |- ! 7 | '''<u>ye</u>dob'''....''dominion'' || '''yedeb'''....''lord'' || '''yemez'''....''amthyst'' || '''Yemer'''....''Uranus'' || '''yemaf'''....''altocumulus'' || |- ! 8 | '''<u>yi</u>dob'''....''viscounty'' || '''yideb'''....''viscount'' || '''yimez'''....''amber'' ||'''Yimer'''....''Pluto'' || '''yimaf'''....''altostratus'' || |- ! 9 | '''<u>yu</u>dob'''....''barony'' || '''yudeb'''....''baron'' || '''yumez'''....''topaz'' || || '''yumaf'''....''cirrocumulus'' || |- ! 10 | '''<u>alo</u>dob'''....''tribe'' || '''alodeb'''....''tribal chief'' || '''alomez'''....''opal'' || || '''alomaf'''....''cirrus'' || |} === Rule #4: Overlapping === : When combining two words, if the generic (final) consonant of the first word is the same as the classifier (first) consonant of the second word, the generic consonant of the determining word is dropped. This results in '''''overlapping''''' or a '''''portmanteau'''''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Overlapping in Compounds |- ! First Word !! Second Word !! Portmanteau |- | '''dom'''....''city'' || '''mep'''....''road'' || '''domep'''....''boulevard'' |- | '''pat'''....''bird'' || '''teub'''....''mouth'' || '''pateub'''....''beak'' |- | '''pat'''....''bird'' || '''tub'''....''arm'' || '''patub'''....''wing'' |- | '''teupib'''....''tooth'' || '''byok'''....''pain'' || '''teypibyok'''....''toothache'' |} : In some cases, this type of overlapping can cause ambiguity, and is therefore avoided. === Rule #5: Adding Ordinal Vowels === : When forming a compound word with the words of a same family of terms, if the ordinal vowel is an '''o''', replace it with the ordinal vowel of the determinant word. : Examples: ::* '''edob'''....''kingdom'' -> '''deb'''....''chief'' -> '''edeb'''....''monarch'' ('''edweb'''....''king'', '''edeyb'''....''queen'') ::* '''udob'''....''principality'' -> '''deb'''....''chief'' -> '''udeb'''....''prince'' ('''udweb'''....''prince'', '''udeyb'''....''princess'') : By contrast, if the two words are already ordered, the vowel of the determinant (first word) is inserted between the ordinal vowel of the determined (second) word and the generic (final) consonant: : Examples: : '''mil'''....''water'' + '''mal'''....''air'' -> '''mial'''....''vapor, steam'' === Rule #6: Swapping Generic Consonants === : When the generic (final) consonant of a base word is replaced by that of another base word, the entire family of the latter undergoes the transformation by the new generic consonant. : Example: <b>to<u>b</u></b>&nbsp;&nbsp;&#x21D8;&nbsp;&nbsp;(<b>-b</b> = <i>organism</i>) (<b>t-</b> = <i>human</i>)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>tof</b>....<i>clothing, apparel</i> (<b>n-</b> = <i>commercial</i>)&nbsp;&nbsp; &rArr;&nbsp;&nbsp; <b>nof</b>....<i>cloth, fabric</i> <b>no<u>f</u></b>&nbsp;&nbsp;&#x21D7;&nbsp;&nbsp;(<b>-f</b> = <i>cloth</i>) {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Swapping Generic Consonants |- ! Base Word 1 !! Base Word 2 !! Derived Word |- | '''tob'''....''human'' || '''nov'''....''linen'' || '''tov'''....''lingerie'' |- | '''tab'''....''body'' || '''nof'''....''cloth'' || '''taf'''....''suit'' |- | '''teb'''....''head'' || '''nof'''....''cloth'' || '''tef'''....''hat'' |- | '''tib'''....''trunk'' || '''nof'''....''cloth'' || '''tif'''....''vest'' |- | '''tyoyab'''....''foot'' || '''nof'''....''cloth'' || '''tyoyaf'''....''shoe'' |- | '''tyoyab'''....''foot'' || '''nov'''....''linen'' || '''tyoyav'''....''sock'' |- | '''tuyab'''....''hand'' || '''nof'''....''cloth'' || '''tuyaf'''....''glove'' |- | '''doob'''<sup>*</sup>....''nation'' || '''nof'''....''cloth'' || '''doof'''....''flag'' |- | '''taob'''<sup>*</sup>....''flesh'' || '''tol'''....''food'' || '''taol'''....''meat'' |} :<small>* This is a derived, not base, word, but the principle holds.</small> === Rule #7: Marking Words for Gender === : Words in Mirad are neutral with respect to gender, but specifically masculine or feminine gender can be marked in nouns and pronouns with the use of the masculine infix '''w''' and the feminine infix '''y'''. If the noun or pronoun is animate, then gender can marked. If the noun or pronoun is inanimate, then it can be marked for predominate use by or reference to a male or female. ::* To make a neutral animate noun or pronoun specifically male, precede the ordinal (stem) vowel with '''w'''. ::* To make a neutral animate noun or pronoun specifically female, follow the ordinal (stem) vowel with '''y'''. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Marking Animate Nouns for Gender |- ! Gender-Neutral !! Male !! Female |- | '''tob'''....''human being'' || '''twob'''....''man'' || '''toyb'''....''woman'' |- | '''tobet'''....''young person'' || '''twobet'''....''boy'' || '''toybet'''....''girl'' |- | '''ted'''....''parent'' || '''twed'''....''father'' || '''teyd'''....''mother'' |- | '''it'''....''he/she/it'' || '''wit'''....''he'' || '''iyt'''....''she'' |- | '''apat'''....''cock'' || '''apwat'''....''rooster'' || '''apayt'''....''hen'' |- | '''toob'''....''gender'' || '''twoob'''....''male'' || '''tooyb'''....''female'' |} ::* Inanimate objects, such as items of clothing or body pats, can be "feminized" in a similar way. In such a case, the feminized form refers to an object that is for women, rather than men, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Making Inanimate Objects Female-related |- ! Male-oriented or Neutral !! Female-oriented |- | '''taf'''....''suit'' || '''tayf'''....''dress'' |- | '''tyoyav'''....''sock'' || '''tyoyayv'''....''stockings'' |- | '''tiav'''....''shirt'' || '''tiayv'''....''blouse'' |} ::* Some body parts can be marked for maleness or femaleness: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Body Parts Genderized |- ! Neutral !! Male-oriented !! Female-oriented |- | '''tilab'''....''breast'' || '''twilab'''....''male breast'' || '''tilayb'''....''female breast'' |- | || '''twiyib'''....''testicals'' || '''tiyiyb'''....''ovary'' |- | '''tiyub'''....''sexual organ'' || '''twiyub'''....''penis'' || '''tiyuyb'''....''vagina'' |} ::* In nouns that end in '''-ut''', the agentive suffix meaning ''-er, one who...'', the nouns can be feminized by changing '''-ut''' to '''-uyt''', eg. '''dezut'''....''actor'' -> '''dezuyt'''....''actress''. Because the stem of such words is often a verb, prefixing '''-ut''' with '''w''' to make it specifically male is normally not done, because the '''w''' can sometimes be confused with the passive voice marker. For this reason, a word like '''dezut''' can mean ''actor'' of neutral or male gender. ::* Animate nouns having the ending '''-et''' (smaller version of some person), are genderized by adding '''w''' or '''y''' to the semantic base of the word, eg. '''tobet'''....''child, youth'' -> '''toybet'''....''girl'' or '''twobet'''....''boy''. === Rule #8: Deriving Words with Geo-specific Vowels === : A series of related words can be derived from a Group 1 base word by replacing the ordinal vowel with one of the following vowels, which have certain specific geographic meanings. : Geo-specific Vowels: <div style="background: lightyellow"> ::* '''o'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''outer space, abstract object, initial stuff''' ::* '''a'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sky, air, gas''' ::* '''e'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''land, soil, solid''' ::* '''i'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''sea, water, liquid''' ::* '''u'''<big>&nbsp;&nbsp;=&nbsp;&nbsp;</big>'''underground, mineral, concrete object, other''' </div> :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deriving Words with Geo-specific Vowels |- ! !!'''m...p''' !! '''m...m''' !! '''d...p''' !! '''p...t''' !! '''m...l''' !! '''m...r''' |- ! Space | '''mop'''....''orbit'' || '''mom'''....''space'' || '''dop'''....''military'' || '''pot'''....''animal'' || '''mol'''....''nature'' || '''mor'''....''universe'' |- ! Sky | '''map'''....''wind'' || '''mam'''....''sky'' || '''dap'''....''air force'' || '''pat'''....''bird'' || '''mal'''....''air'' || '''mar'''....''star'' |- ! Land | '''mep'''....''road''|| '''mem'''....''land''|| '''dep'''....''army'' || '''pet'''....''land animal'' || '''mel'''....''soil'' || '''mer'''....''planet'' |- ! Water | '''mip'''....''river''|| '''mim'''....''sea''|| '''dip'''....''marine force'' || '''pit'''....''fish'' || '''mil'''....''water'' || '''mir'''....''world'' |- ! Underground (or other) | '''mup'''....''tunnel''|| '''mum'''....''underground'' || || || '''mul'''....''stuff'' || '''mur'''....''moon'' |} : This vowel codification also allows generating other categories of words by infixing, just before the generic (final) consonant, a vowel having the value that is attributed to it in Rule #9. This creates "hybrid" nouns. See the chapter on [[Mirad Grammar/Hybrids|Hybrids]] for more on this subject. :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Hybrid nouns |- ! First-level Derivation !! + Geospecific Vowel !! Second-level Derivation |- | '''pet'''....''land animal'' || '''i'''....''water, sea''|| '''pe<u>i</u>t'''....''aquatic mammal'' |- | '''pelt'''....''insect'' || '''a'''....''air, sky''|| '''pel<u>a</u>t'''....''flying insect'' |- | '''mel'''....''soil'' || '''i'''....''water, sea'' || '''me<u>i</u>l'''....''mud'' |- | '''mil'''....''water'' || '''a'''....''air, gas'' || '''mi<u>a</u>l'''....''vapor'' |} === Rule #9: Deriving Words with Vectorial Vowels === : The rule for deriving words with vectorial ( = directional and positional) vowels starts with the following schema: {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" |+ Vectorial Vowel Values |- | colspan=8 align=center | '''A''' |- | rowspan=6 align=center | '''U''' || || '''a'''<br><big>↓</big> || <big>↓</big><br>'''<u>a</u>''' || <big>↑</big><br>'''<u>ya</u>''' ||'''ya'''<br>↑<big></big> || || rowspan=6 align=center | '''I''' |- | '''u''' → || || '''<u>e</u>'''||'''<u>ye</u>''' || || → '''i''' |- | → '''<u>u</u>''' || ||'''e''' ||'''ye''' || || '''<u>i</u>''' → |- | → '''<u>yu</u>''' || || colspan=2 align=center| '''E''' || || '''<u>yi</u>''' → |- | '''yu''' → || || || || || → '''yi''' |- | || <big>↑</big><br>'''o''' || '''<u>o</u>'''<br>↑<big></big> || '''<u>yo</u>'''<br><big>↓</big> || <big>↓</big><br>'''yo''' || |- | colspan=8 align=center| '''O''' |} :: Explanation of the above chart: :::* If the vowel is capitalized, it indicates a '''''positional''''' value. It is used in its lowercase spelling as a prefix in Group I words. :::* The non-capitalized vowels (including y-glides) indicate '''''directional''''' values. :::* If the vowel is underlined, it means that it is placed '''''before''''' the classifier consonant (prefixed) in verbs and involves contact. :::* Otherwise, a normal vowel means that it is placed '''''after''''' the classifier consonant (infixed) in Group 2 words and involves free movement. {| class="wikitable" style="background:lightyellow; margin-left:4.8em; font-size:smaller" border="0" |+ Explanation of the Vectorial Vowels Chart |- | '''A''' || position || || on, above, north || '''amer'''....''north'' |- | '''a''' || movement || (free) || ''on'' || '''baer'''....''lean'' |- | '''<u>a</u>''' || movement || (contact) || ''onto''||'''aber'''....''put on'' |- | '''ya''' || movement || (free) || ''up, ascend''|| '''byaer'''....''lift'' |- | '''<u>ya</u>''' || movement || (contact) || ''up, get up, set up''|| '''yaber'''....''raise'' |- | '''O''' || position || || under, lower, south|| '''omer'''....''south'' |- | '''o''' || movement || (free) || ''off''|| '''boer'''....''hang'' |- | '''<u>o</u>''' || movement || (contact) || ''on the bottom of, underneath''|| '''oper'''....''get off'' |- | '''yo''' || movement || (free) || ''down''|| '''pyoser'''....''fall'' |- | '''<u>yo</u>''' || movement || (contact) || ''fall''|| '''yoper'''....''rise'' |- | '''U''' || position || || left, west|| '''umer'''....''west'' |- | '''u''' || movement || (free) || ''move toward the center, come''|| '''uber'''....''send'' |- | '''<u>u</u>''' || movement || (contact) || ''reach the center, arrive''|| '''pyuer'''....''reach'' |- | '''yu''' || movement || (free) || ''near, approach''|| '''yuber'''....''approach'' |- | '''<u>yu</u>''' || movement || (contact) || ''near, reach''|| '''byuser'''....''touch'' |- | '''I''' || position || || right, east|| '''imer'''....''east'' |- | '''i''' || movement || (free) || ''from the center out, go away''|| '''pier'''....''go away'' |- | '''<u>i</u>''' || movement || (contact) || ''from the center out, leave''|| '''iper'''....''leave'' |- | '''yi''' || movement || (free) || ''away, go far''|| '''yiper'''....''go far'' |- | '''<u>yi</u>''' || movement || (contact) || ''from afar, originate''|| '''pyiser'''....''originate'' |- | '''E''' || position || || center, equator|| '''emer'''....''equator'' |- | '''e''' || rest || || ''between''|| '''eb'''....''between'' |- | '''<u>e</u>''' || rest || || ''at, stay, hold''|| '''bexer'''....''hold'' |- | '''ye''' || movement || || ''in, into, enter''|| '''yeper'''....''enter'' |- | '''<u>ye</u>''' || ||(contact) || ''up against, strike''|| '''pyexer'''....''strike'' |} ==== Special value of certain vowels ==== : The prefixes '''a-''' or '''an-''' meaning ''one, sole, singular'': ::* '''aot'''....''person, individual'' ::* '''anota'''....''alone, solitary'' ::* '''anay'''....''only'' ::* '''aun'''....''unit'' : The prefixes '''ya-''' or '''yan-''' meaning ''collection, plural'': ::* '''yat'''....''we, us'' ::* '''yanot'''....''constituent'' ::* '''yanota'''....''communal'' ::* '''yanotyan'''....''community'' ::* '''yan'''....''together'' : Also, the prefix '''yan-''' meaning ''together'' contrasts with '''yon-'''....''apart''. ::* '''yon'''....''apart'' ::* '''yanota'''....''communal'' vs. '''yonota'''....''private'' ::* '''yanxer'''....''to combine'' vs. '''yonxer'''....''to separate'' === Rule #10: Deriving Words with Mnemonic Patterns === : Sometimes part of a derived word can serve as a mnemonic pattern for forming other words having some relationship or parallelism in meaning. : For example, the mnemonic '''eu''' pattern from the word for mouth, '''teud''' can be used to form many other words having an oral, acoustic, vocal, or sound-related meaning: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Mnemonic Pattern Derivation |- ! Pattern Word<br>'''teub'''....''mouth'' !! Classifier !! Generic |- | '''teud'''....''shout'' || '''t''' = human || '''d''' = communication |- | '''teuz'''....''voice'' || '''t''' = human || '''z''' = art |- | '''deuz'''....''song'' || '''d''' = communication || '''z''' = art |- | '''seuz'''....''tone'' || '''s''' = thing || '''z''' = art |- | '''seux'''....''sound'' || '''s''' = thing || '''x''' = action |- | '''xeus'''....''noise'' || '''x''' = action || '''s''' = thing |- | '''teuf'''....''muzzle'' || '''t''' = human || '''f''' = apparel |- | '''teuv'''....''mask'' || '''t''' = human || '''v''' = linen |- | '''teus'''....''taste''|| '''t''' = human || '''s''' = thing |- | '''deup'''....''rhythm''|| '''d''' = communication || '''p''' = ''motion'' |} {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ More Mnemonic Pattern Derivations |- ! Pattern Word<br>'''teab'''....''eye'' !! '''(t)ea-''' = ''see'' !! Generic |- | '''teaper'''....''visit'' || " " " || '''p''' = ''go'' |- | '''teader'''....''witness'' || " " " || '''d''' = ''say'' |- | '''teaxer'''....''look'' || " " " || '''x''' = ''do'' |- | '''teaser'''....''seem'' || " " " || '''s''' = ''be'' |- | '''teater'''....''see'' || " " " || '''t''' = ''know'' |- | '''keaxer'''....''scan'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''vyaleaxer'''....''check'' || '''vyal-''' = ''certain''|| '''x''' = ''do'' |- | '''yoneater'''....''distinguish'' || '''yon-''' = ''apart''|| '''t''' = ''know'' |- | '''beaxer'''....''guard'' || '''be-''' = ''hold'' || '''x''' = ''do'' |- | '''teatier'''....''perceive'' || || '''-i-''' = subject-directed |- | '''teatuer'''....''show'' || || '''-u-''' = object-directed |- ! Pattern Word<br>'''teeb'''....''ear'' !! '''(t)ee-''' = ''hear'' !! Generic |- | '''teeper'''....''attend'' || " " " || '''p''' = ''go'' |- | '''teeder'''....''testify'' || " " " || '''d''' = ''say'' |- | '''teexer'''....''listen'' || " " " || '''x''' = ''do'' |- | '''teeser'''....''sound (like)'' || " " " || '''s''' = ''be'' |- | '''teeter'''....''hear'' || " " " || '''t''' = ''know'' |- | '''keexer'''....''scan (acoustically)'' || '''ke-''' = ''seek'' || '''x''' = ''do'' |- | '''koteexer'''....''snoop on'' || '''ko-''' = ''hide'' || '''x''' = ''do'' |- | '''vyaleexer'''....''sound out'' || '''vyal-''' = certain || '''x''' = ''do'' |- | '''teetier'''....''get wind of'' || || '''-i-''' = subject-directed |- | '''teetuer'''....''make heard'' || || '''-u-''' = object-directed |- | '''zyateetuer'''....''rumor'' || '''zya-''' = ''all around'' || '''-u-''' = objected-directed |} : A syllable of a long compound can be suppressed as long as it does not cause ambiguity or confusion. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Shortening Long Compounds |- ! Word 1 !! Word 2 !! Long Compound !! Shortened Compound |- | '''ekpet'''....''horse'' || '''teuder'''....''make a noise'' || *'''ekpeteuder''' || '''ekpeder'''....''neigh'' |- | '''serpyet'''....''snake'' || '''teuder'''....''make a noise'' || *'''serpyeteuder''' || '''sepyeder'''....''hiss'' |- | '''vifeb'''....''grape'' || '''il'''....''liquid'' || *'''vifebil'''....''grape juice'' || '''vifil'''....''wine'' |- | '''povob'''....''grain'' || '''il'''....''liquid'' || *'''povobil''' || '''povil'''....''beer'' |} : Sometimes, the last syllable of a compound or last letters of a word will give birth to a new stubs whose derivations, through the application of this rule, will not be long. : Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ From Full Words to Stubs |- ! Compound !! New Stub !! Derivation |- | '''tilabil'''....''breast milk'' || '''bil'''....''milk''|| '''bilyug'''....''butter'' |- | '''fauf'''....''log'' || '''-uf'''....(stub suffix for types of) ''cylinder''|| '''muf'''....''rod, stick'' |- | '''zyeg'''....''hole'' || '''-yeg'''....(stub suffix for types of) ''hole'', ''hollow thing''|| '''mufyeg'''....''pipe'' |} : The clipped word '''bil''' now gives rise to other compounds: ::* '''bilyig'''....''cheese'' ::* '''bilyigem'''....''cheese factory'' ::* '''bilyug'''....''butter'' ::* '''bilyugyena'''....''butter-like'' : The word '''mufyeg''' (Lit: hollow stick) means '''pipe, reed, cylinder''' === Rule #11: Deriving Nuanced Words Phonetically === : Words which follow Rule #11 are those that are connected by a similarity of meaning or quality. These words differ by nuances and it is phonetic nuances that govern their formation. : These nuances are obtained by: :* Addition of a subordinal vowel of the same type as the ordinal vowel. :: These vowels are: ::: '''a''' for '''a''' and '''ya''' ::: '''e''' for '''e''' and '''ye''' ::: '''i''' for '''i''' and '''yi''' ::: '''o''' for '''o''' and '''yo''' ::: '''u''' for '''u''' and '''yu''' :: Examples: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with a Doubled Vowel |- ! Word !! Nuanced Derivation |- | '''nad'''....''line'' || '''naad'''....''rail'' |- | '''dob'''....''state'' || '''doob'''....''nation'' |- | '''vyab'''....''rule'' || '''vyayab'''....''system'' |- | '''boka'''....''sick'' || '''booka'''....''tired'' |- | '''nog'''....''degree'' || '''noog'''....''phase'' |- | '''bil'''....''milk'' || '''biil'''....''juice'' |} :* Post-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''less''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Deintensification with Post-y-gliding |- ! Word !! Mitigated Derivation |- | '''ifer'''....''love'' || '''iyfer'''....''like'' |- | '''iva'''....''happy'' || '''iyva'''....''glad'' |- | '''zyutom'''....''tower'' || '''zyutoym'''....''turret'' |- | '''ama'''....''hot'' || '''ayma'''....''warm'' |- | '''oma'''....''cold'' || '''oyma'''....''cool'' |} :* Pre-y-gliding the ordinal vowel or subordinal vowel, to produce a nuance of '''''greater''''' intensity: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with Pre-y-Gliding |- ! Word !! Enhanced Derivation |- | '''pot'''....''wild animal'' || '''pyot'''....''predator animal'' |- | '''pat'''....''bird'' || '''pyat'''....''bird of prey'' |- | '''tod'''....''family'' || '''tyod'''....''people'' |- | '''oma'''....''cold'' || '''yoma'''....''frozen'' |- | '''nuxer'''....''pay'' || '''nyuxer'''....''deliver'' |- | '''nexer'''....''save'' || '''nyexer'''....''store'' |} :* Following the ordinal vowel or the consonant with the intensifying liquid '''l''' or the further intensifying liquid '''r''': {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Intensification with L and R |- ! Word !! L-Intensitifed || R-Intensified |- | '''ifer'''....''love'' || '''ifler'''....''be fond of'' || '''ifrer'''....''adore'' |- | '''iva'''....''happy'' || '''ivla'''....''content'' || '''ivra'''....''delighted'' |- | '''vaa'''....''affirmative'' || '''vlaa'''....''sure'' || '''vraa'''....''indubitable'' |- | '''aga'''....''big'' || '''agla'''....''huge'' || '''agra'''....''immense'' |- | '''ga'''....''more'' || '''gala'''....''multiple'' || '''gara'''....''exponential'' |- | '''baer'''....''lean on'' || '''baler'''....''press'' || '''barer'''....''crush'' |- | '''yexer'''....''work'' || '''yexler'''....''labor'' || '''yexrer'''....''toil, slave'' |- | '''yixer'''....''use'' || '''yixler'''....''hire'' || '''yixrer'''....''exploit'' |} :* Adding consonants other than '''l''' or '''r''' as the generic consonant: : Some words have so many nuanced varieties that other letters like '''t''', '''f''', '''s''', '''k''', and '''z''' are used, eg.: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Creating Nuances with Other Consonants |- ! Word !! Nuanced Derivation |- | '''fia'''....''good'' || '''fika'''....''perfect''<br>'''fira'''....''excellent'' |- | '''fua'''....''bad'' || '''futa'''....''wicked''<br>'''fura'''....''rotten'' |- | '''gea'''....''equal'' || '''geta'''....''identical''<br>'''gela'''....''alike'' |- | '''vyaa'''....''true'' || '''vyaka'''....''correct''<br>'''vyama'''....''real'' |- | '''vyoa'''....''false'' || '''vyoka'''....''incorrect''<br>'''vyoma'''....''fake'' |- | '''yiga'''....''hard'' || '''yigza'''....''sour''<br>'''yigla'''....''brusk''<br>'''yigra'''....''brutal'' |- | '''yuga'''....''soft'' || '''yugfa'''....''smooth''<br>'''yugla'''....''tender''<br>'''yugra'''....''mild'' |} :* Transforming the generic consonant from voiced to unvoiced or vice versa: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Voicing or Devoicing Consonants for Nuance |- ! Word !! Nuanced Derivation |- | '''nab'''....''row'' || '''nap'''....''order'' |- | '''vyava'''....''just'' || '''vyafa'''....''precise'' |- | '''jwab'''....''minute'' || '''jwap'''....''moment'' |- | '''jweb'''....''second'' || '''jwep'''....''instant'' |- | '''tab'''....''body'' || '''tap'''....''physique'' |- | '''tob'''....''person'' || '''top'''....''soul, animus'' |- | '''nov'''....''linen'' || '''nof'''....''cloth'' |- | '''naz'''....''value'' || '''nas'''....''money'' |- | '''nag'''....''dimension'' || '''nak'''...''unit of measurement'' |} == Technical Nomenclature == : The sections below describe how techical vocabulary is developed in Mirad. In most cases, there are common, ordinary words, but these are supplemented with less common, technical terms that are usually somehow based on an international nomenclature standard. Typically, the common words share a stem, which is prefixed with ordinal syllables that group words of the basis of some like features. === Zoological Nomenclature === {{status|100%}} [[File:Animal diversity.jpg|thumb|]] : The names of animals are formed in a systematic way. ==== Base Names ==== : First of all, the base stem of all animal names (except human) begin with '''p''' (mobile) and end with '''t''' (sentient), the idea being that animals are moving, sentient creatures. : The vowels in the stem are geo-specific and indicate whether the animal inhabits the air ('''a'''), water ('''i'''), land ('''e'''), or a hybrid of these; whether it is wild ('''o'''), tame, or predatory ('''y'''); and a few other features, as shown in the chart below: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Animal Base Names in Geo-specific Terms |- ! Type !! Air = a !! Water = i !! Land = e !! Anywhere = o |- valign=top !row=1| Ordinary |'''pat'''....''bird'' || '''pit'''....''fish'' || '''pet'''....''domestic land animal'' || '''pot'''....''wild animal'' |- valign=top !row=1| Predatory |'''pyat'''....''raptor'' || '''pyit'''....''predatory fish'' || '''pyet'''....''reptile'' ||'''pyot'''....''predatory animal'' |- valign=top !row=1| Hybrid |'''piat'''....''waterfowl''<br>'''pelat'''....''flying insect''<br>'''paet'''....''flightless bird'' ||'''piit'''....''crustacean''<br>'''pilt'''....''marine invertebrate''<br>'''peit'''....''mammalian fish''<br>'''pyeit'''....''mollusk''|| '''payet'''....''flying reptile''<br>'''piyet'''....''batracian''<br>'''peyet'''....''worm''<br>'''pelt'''....''insect'' ||'''piot'''....''aquatic mammal'' |} ==== Derived Names ==== : The names of different species of animals are derived by prefixing syllables to the base names that are obtained from the Latin names in the [https://www.itis.gov/| Linnaean taxonomy]. In that taxonomy, all of the dog or dog-like animal species are ranked under the family name '''Canidae''' (''canids''). The family prefix is derived by taking the first syllable and spelling it in Mirad as it is pronounced in Latin. ''Ca'' in Latin is pronounced '''ka'''. See the table below in which Latin spellings are given in Mirad. In this family, one dog species is domestic, Canis familiaris, while all the others are wild or predatory. So, to derive the word for the common domesticated dog, we would affix the family taxonomic prefix '''ka''' to the base name for domestic land animal '''pet''', yielding '''kapet''' (''dog''). All other members of the dog family end in '''pot''' (feral animal) or '''pyot''' (predatory animal). The taxonomic prefix must contain at least one consonant and one vowel. If not, the prefix derived from the Latin taxon is extended until that rule is met. The taxonomic syllables are prefixed to the base animal type name in reverse order of the Linnaean; for example, ''prairie dog'' (which is not a dog, but a rodent) is rendered by '''ci<sup>3</sup>xi<sup>2</sup>ro<sup>1</sup>pot''' from '''<u>Ro</u><sup>1</sup>dentia <u>Sci</u><sup>2</sup>uridae <u>Cy</u><sup>3</sup>nomys''', where '''pot''' is the basic animal type ''wild animal''. All rodents have the taxonomic syllable '''ro''' from the Latin "order" taxon ''Rodentia'', while all squirrel names will have the syllable '''xi''' from a pronunciation spelling of the Latin "family" taxon ''<u>Sci</u>uridae'' ('''<u>xi</u>uriday'''). The following shows the system as it is applied to the dog family: :: <u>Ca</u>nidae (''dog family'') > ::: '''<u>ka</u>pet'''...''the common domestic dog'' (only one species, ''Canis familiaris'') ::: '''<u>ka</u>pot'''...''wild dog'' ::: '''<u>ka</u>pyot'''...''predatory dog'' : Species under '''kapyot''' are derived by taking the first syllables of the respective Latin binomial (and sometimes trinomial) species names: :: ''Canis <u>lu</u>pus'' > '''<u>lu</u>kapyot'''...''gray wolf (or just wolf)'' :: ''Canis <u>la</u>trans'' > '''<u>la</u>kapyot'''...''coyote, prairie wolf'' ::: ''Canis latrans <u>les</u>tes'' > '''<u>les</u>lakapyot'''...''mountain coyote'' :: ''Canis <u>au</u>rus'' > '''<u>aw</u>kapyot''' > ''jackal, golden jackal'' ::: ''Canis aurus <u>cur</u>ensis'' > '''<u>kur</u>awkapyot'''....''Indochinese jackal'' :: ''Canis <u>vul</u>pus'' > '''<u>vul</u>kapyot'''...''fox, red fox'' : If the taxonomic syllable ends in a vowel and precedes another syllable beginning with a vowel, the first taxonomic syllable is extended until it ends in a consonant. In the case of the Indochinese jackal, the base is '''awkapyot''' and the taxonomic syllable to be prefixed from ''curensis'' would normally be '''ku''', but it has to be extended to '''kur''' because the base begins in a vowel. : The conversion of Latin/Greek spellings to Mirad is governed by the following chart: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Latin/Greek - Mirad correspondences |- ! Latin/Greek Spelling !! Latin Sound !! Mirad Spelling !! Example |- | ''au'' || ''aw'' || '''aw''' || ''<u>au</u>rus''....'''aw-''' |- | ''eu'' || ''ew'' || '''ew''' || ''<u>eu</u>ropa''....'''ew-''' |- | ''ai''<br>''ae'' || ''ay'' || '''ay''' || ''<u>ae</u>gyptus''....'''ay-''' |- | ''ei'' <br> ''ey'' || ''ey'' || '''ey''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''oe'' || ''oy'' || '''oy''' || ''F<u>oe</u>niculum''....'''oy''' |- | ''ua'' || ''wa'' || '''wa''' || ''s<u>ua</u>vis''....'''s<u>wa</u>''' |- | ''ca/co/cu'' || ''ka/ko/ku'' || '''ka/ko/ku''' || ''<u>ca</u>nis''....'''<u>ka</u>''' |- | ''ce/ci/cy''' || ''che/chi/chi'' || '''ce/ci/cy''' || ''<u>cy</u>pris''....'''<u>ci</u>''' |- | ''y'' || ''i'' || '''i''' || ''c<u>y</u>pris''....'''<u>i</u>''' |- | ''g''' || ''g'' || '''g''' || ''<u>Ge</u>ococcyx''/''<u>Ga</u>stropoda''....'''<u>g</u>''' |- | ''ch'' || ''k'' || '''k''' || ''<u>Chi</u>roptera''....'''<u>ki</u>''' |- | ''ph'' || ''f'' || '''f''' ||''S<u>ph</u>yrapicus''....'''<u>f</u>''' |- | ''rh'' || ''r'' || '''r''' || ''Rh<u>ei</u>dae''....'''<u>ey</u>''' |- | ''x'' || ''ks'' || '''ks''' || ''Lo<u>x</u>odonta''....'''<u>ks</u>''' |- | ''qu'' || ''kw'' || '''kw''' || ''<u>Qu</u>ercus''....'''<u>kw</u>''' |- | ''j'' || ''y'' || '''j''' || ''<u>ju</u>lianus''....'''<u>ju</u>''' |- | ''sci'' || ''shi'' || '''xi''' || ''<u>Sci</u>uridae''....'''<u>xi</u>''' |- | ''th'' || ''t'' || '''t''' || ''<u>Th</u>unnus''....'''<u>t</u>''' |- | ''cci'' || ''ksi'' || '''ksi''' || ''Va<u>cc</u>inus''....'''<u>ksi</u>''' |} : Note that double consonants are counted as being two consonants in different syllables. So, for example, the taxonomic syllable for ''Cinnamomum'' would be '''cin'''. : The Latin letter ''j'' is represented in Mirad with '''j''' even though it is pronounced like a ''y''. This is for better recognizability. ==== Genderized and Other Forms ==== : Form the female of an animal by inserting a '''y''' before the '''t''' of the base adult name: ::* '''kapet'''....''dog'' ====> '''kape<u>y</u>t'''....''bitch'' ::* '''vulkapyot'''....''fox'' ====> '''vulkapyo<u>y</u>t'''....''vixen'' : Form the specific male of an animal by inserting a '''w''' right after the '''p''' of the base adult name, unless the base name begins with '''py''' in which case the '''w''' is inserted just before the '''t''' of the base name: ::* '''ekpet'''....''horse'' ====> '''ekp<u>w</u>et'''....''stallion'' ::* '''ovbopet'''....''sheep'' ====> '''ovbop<u>w</u>et'''....''ram'' ::* '''vulkapyot'''....''fox'' ====> '''vulkpyo<u>w</u>t'''....''dog fox'' : Form the gelded version of an animal by inserting an '''o''' after the ordinal vowel of the base male adult name: ::* '''bopet'''....''bovine'' ====> '''bopwe<u>o</u>t'''....''ox'' ::* '''gafapat'''....''cock'' ====> '''gafapwe<u>o</u>t'''....''capon'' : The offspring of an animal is formed by suffixing '''-ud''', the stub for '''tud'''....''child'': ::* '''ekpet'''....''horse'' ====> '''ekpet<u>ud</u>'''....''colt'' ::* '''kapet'''....''dog'' ====> '''kapet<u>ud</u>'''....''pup'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopet<u>ud</u>'''....''lamb'' : The pet name of an animal is derived by suffixing '''-if''': ::* '''kapet'''....''dog'' ====> '''kapet<u>if</u>'''....''puppy'' ::* '''fepet'''....''cat'' ====> '''fepet<u>if</u>'''....''kitty'' : The diminutive of an animal is formed by suffixing '''-og''': ::* '''supet'''....''pig'' ====> '''supet<u>og</u>'''....''piggy'' ::* '''ekpet'''....''horse'' ====> '''ekpet<u>og</u>'''....''pony'' : Sometimes, the above derivations can be combined. The animal '''ekpet'''....''horse'' can serve as an example: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Derivations of Horse |- ! Variation !! Mirad Name !! English Name |- !row=1| Adult |'''ekpet'''||''horse'' |- !row=1| Male | '''ekpwet'''||''stallion'' |- !row=1| Female | '''ekpeyt'''||''mare'' |- !row=1| Offspring | '''ekpetud'''||''colt'' |- !row=1| Female Offspring | '''ekpetuyd'''||''filly'' |- !row=1| Small adult |'''ekpetog'''||''pony'' |- !row=1| Gelded | '''ekpweot'''||''gelding'' |} ==== Animal Sounds ==== : The sound that an animal makes can be derived by substituting the '''t''' of the base name with '''d''', the letter associated with communication. The verb form ends in '''-der''': ::* '''ekpet'''....''horse'' ====> '''ekpeder'''....''to neigh'' ::* '''kapet'''....''dog'' ====> '''kapeder'''....''to bark'' ::* '''pat'''....''bird'' ====> '''pader'''....''to tweet, chirp'' ::* '''serpyet'''....''snake'' ====> '''serpyeder'''....''to hiss'' : A collection of animals can be derived by suffixing '''-yan''' or '''-nyan''': ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotyan'''....''a pride of lions'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopetyan'''....''a herd of sheep'' ::* '''pit'''....''fish'' ====> '''pityan'''....''a school of fish'' : Motions that animals make can be derived by replacing the final '''t''' of the base name with '''-per'''....''to go'': ::* '''serpyet'''....''snake'' ====> '''serpeper'''....''to slither'' ::* '''lapet'''....''rabbit'' ====> '''lapeper'''....''to hop'' ::* '''ekpet'''....''horse'' ====> '''ekpeper'''....''to gallop'' : The food name associated with an animal can be derived by ending the animal or animal part name in '''l''' (a stub for '''tel''', meaning ''food''): ::* '''supet'''....''pig'' ====> '''supel'''....''pork'' ::* '''supetyob'''....''hog leg'' ====> '''supetyol'''....''ham'' ::* '''bopet'''....''steer'' ====> '''bopel'''....''beef'' ::* '''ovbopet'''....''sheep'' ====> '''ovbopel'''....''mutton'' ::* '''bopetud'''....''calf'' ====> '''bopetul'''....''veal'' ::* '''appelat'''....''bee'' ====> '''appelatel'''....''honey'' : The habitats of animals are formed by suffixing '''-am'''....''house'', '''-um'''....''cage'', etc. to the base name: ::* '''supet'''....''pig'' ====> '''supetam'''....''pigsty'' ::* '''gafapayt'''....''chicken'' ====> '''gafapaytam'''....''chicken coop'' ::* '''lepanfepyot'''....''lion'' ====> '''lepanfepyotam'''....''lion's den'' ::* '''kapet'''....''dog'' ====> '''kapetam'''....''doghouse'' ::* '''forpelt'''....''ant'' ====> '''forpeltam'''....''anthill'' ::* '''appelat'''....''bee'' ====> '''appelatam'''....''bee hive'' ::* '''pat'''....''bird'' ====> '''patum'''....''birdcage'', '''patsum'''....''nest'', '''patyanam'''...''aviary'' ::* '''pot'''....''wild animal'' ====> '''potam'''....''lair'' ==== Dog Breeds ==== [[File:The dog book - a popular history of the dog, with practical information as to care and management of house, kennel, and exhibition dogs, and descriptions of all the important breeds (1909) (20785715825).jpg|thumb|]] : Dog breeds are created by prefixing elements to '''kapet'''....''dog'' that are based on the official World Canine Organization dog breed site [[https://www.fci.be/en/nomenclature/]]. This site organizes dog breeds by groups, sections, subsections, and country ownership. : The base of the dog breed name is '''kapet'''....''dog''. The group number is converted to the lowercase alphabetic consonants ('''b''', '''c''', '''d''', etc.). The top or zeroth group is assigned to the ordinal vowel '''o''', so '''bokepet''' is a group category for sheepdogs and cattledogs. The sections underneath this group change the '''o'''....''zero'' to '''a'''....''one'', '''e'''....''two'', etc. The subsections below are enumerated with an initial ordinal vowel starting with '''a'''....''one'', '''e'''....''two'', etc. A particular breed is written as the country adjective representing the breed country of origin, followed a space, and the lowest section name preceded by the number of the country entry alphabetized. If there is only one entry of that country, no ordinal number is prefixed. : As an example: : To get the name for ''basset hound'': ::* Start with the word for dog: '''kapet'''. : This animal is in Group 6 for scent hounds and related breeds, so the 6th consonant in the Mirad alphabet is '''h'''. This is prefixed to '''kapet''', with an ordinal vowel representing the section the breed is in, starting with '''a''' for ''one''. The ''basset hound'' is in Section 1 for "scent hounds", so the prefix becomes '''ha-'''. ::* '''hakapet''' is a "scent hound" (not to be confused with '''ha kapet'''....''the dog''.). A basset hound is classified in subsection 1.3 as a "small-sized scent hound", so the ordinal vowel '''i'''.... ''three'' is prefixed: ::* '''ihakapet''' is a "small-sized scent hound" : A basset hound is the 1st small-sized scent hound entry under the country Great Britain, so the Mirad word '''a'''.... ''one'' is prefixed (with a '''w''' buffer glide when prefixed to a vowel) and the adjectival word for Great Britain, '''Gebaroma''' is placed in front, separated by a space: ::* '''Gebaroma awahikapet''' is a ''basset hound'', a dog breed name owned by Great Britain. The name can usually be abbreviated by dropping the country owner name, thus: '''awahikapet''' <gallery> </gallery> : Here is a partial representation of the hiararchy as obtained by the World Canine Organization (FCI) site. Other Mirad dog breed names can be created by consulting the site. Group 1 = '''<u>b</u>okapet'''....sheepdogs/cattledogs ::* Section <u>1</u> = '''b<u>a</u>kapet'''....sheepdogs ::::* Belgian only entry = '''Belima bakapet'''....''Belgian shepherd dog'' ::::* German only entry = '''Deuma bakapet'''....''German shepherd'' ::* Section 2 = '''bekapet'''....cattledogs except Swiss cattledogs ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>bekapet'''....''Welsh corgi (Cardigan)'' Group 2 = '''<u>c</u>okapet'''....pinscher/schnauzer/Molossoid/Swiss Mountain-/Cattle Dogs ::* Section <u>1</u> = '''c<u>a</u>kapet'''....pinscher/schnauzer type ::* Section <u>2</u> = '''c<u>e</u>kapet'''....Molossian type ::* Section <u>3</u> = '''c<u>i</u>kapet'''....''Swiss mountain/cattledogs'' Group 3 = '''<u>d</u>okapet'''....''terriers'' ::* Section <u>1</u> = '''d<u>a</u>kapet'''....large and medium-sized terriers ::::* Great Britain <u>9</u>th entry = '''Gebaroma <u>yu</u>dakapet'''....''Welsh terrier'' ::* Section <u>2</u> = '''d<u>a</u>kapet'''....small-sized terriers ::* Section <u>3</u> = '''d<u>e</u>kapet'''....bull type terriers ::::* Great Britain <u>3</u>rd entry = '''Gebaroma <u>i</u>dekapet'''....''Staffordshire bull terrier'' ::* Section <u>4</u> = '''d<u>a</u>kapet'''....toy terriers Group 4 = '''<u>f</u>okapet'''....<u>dachshunds</u> ::::* Germany only entry = '''fakapet'''....''dachshund'' Group 5 = '''<u>g</u>okapet'''....spitz and primitive types ::* Section <u>1</u> = '''g<u>a</u>kapet'''....nordic sledge dogs :::: USA <u>1</u>st entry = '''<u>a</u>gakapet'''....''Siberian husky'' ::* Section <u>2</u> = '''g<u>e</u>kapet'''....nordic hunting dogs ::* Section <u>3</u> = '''g<u>i</u>kapet'''....nordic watchdogs/herders ::* Section <u>4</u> = '''g<u>u</u>kapet'''....European spits ::* Section <u>5</u> = '''g<u>yo</u>kapet'''....Asian spitz and related breeds ::* Section <u>6</u> = '''g<u>ya</u>kapet'''....primitive types ::* Section <u>7</u> = '''g<u>ye</u>kapet'''....hunting dogs Group 6 = '''<u>h</u>okapet'''....scent hounds and related breeds ::* Section <u>1</u> = '''h<u>a</u>kapet'''....''scent hounds'' :::* Subsection 1.<u>1</u> = '''<u>a</u>hakapet'''....large-sized hounds ::::* USA <u>1</u>st entry = '''Usoma <u>aw</u>ahakapet'''....''American foxhound'' :::* Subsection 1.<u>2</u> = '''<u>e</u>hakapet'''....medium-sized hounds ::::* Great Britain only entry = '''Gebaroma ehakapet'''....''harrier'' :::* Subsection 1.<u>3</u> = '''<u>i</u>hakapet'''....small-sized hounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>aw</u>ihakapet'''....''basset hound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>ew</u>ihakapet'''....''beagle'' Group 7 = '''<u>j</u>okapet'''....pointing dogs ::* Section <u>1</u> = '''j<u>a</u>kapet'''....''continental pointing dogs'' ::* Section <u>2</u> = '''j<u>e</u>kapet'''....''British and Irish pointers and setters'' Group 8 = '''<u>k</u>akapet'''....retrievers/flushing dogs/water dogs ::* Section <u>1</u> = '''k<u>a</u>kapet'''....''retrievers'' ::* Section <u>2</u> = '''k<u>e</u>kapet'''....''flushing dogs'' ::* Section <u>3</u> = '''k<u>i</u>kapet'''....''water dogs'' Group 9 = '''<u>l</u>okapet'''....companion and toy dogs ::* Section <u>1</u> = '''l<u>a</u>kapet'''....bichons ::* Section <u>2</u> = '''l<u>e</u>kapet'''....poodles ::::* France only entry = '''Ferama lekapet'''....''poodle'' ::* Section <u>3</u> = '''l<u>i</u>kapet'''....small Belgian dogs ::* Section <u>4</u> = '''l<u>u</u>kapet'''....hairless dogs ::* Section <u>5</u> = '''l<u>yo</u>kapet'''....Tibetan breeds ::::* Tibet <u>2</u>nd entry = '''Tibama <u>e</u>lekapet'''....''shih tzu'' ::* Section <u>6</u> = '''l<u>ya</u>kapet'''....Chihuahueno ::::* Mexico only entry = '''Mexuma lyakapet'''....''chihuahua'' ::* Section <u>7</u> = '''l<u>ye</u>kapet'''....English toy spaniels ::* Section <u>8</u> = '''l<u>yi</u>kapet'''....Japan Chin and Pekingese ::* Section <u>9</u> = '''l<u>yu</u>kapet'''....continental toy spaniel and others ::* Section <u>10</u> = '''l<u>alo</u>kapet'''....Kromforhl&auml;nder ::* Section <u>10</u> = '''l<u>ale</u>kapet'''....small Molossian type dogs Group 10 = '''<u>m</u>okapet'''....sight hounds ::* Section <u>1</u> = '''m<u>a</u>kapet'''....long-haired sighthounds ::::* Great Britain <u>1</u>st entry = '''Gebaroma <u>a</u>makapet'''....''greyhound'' ::::* Great Britain <u>2</u>nd entry = '''Gebaroma <u>e</u>makapet'''....''whippet'' ::* Section <u>2</u> = '''m<u>e</u>kapet'''....rough-haired sighthounds ::* Section <u>3</u> = '''m<u>i</u>kapet'''....short-haired sighthounds ==== Cat Breeds ==== : The names for cat breeds are generated from the CFA organization's alphabetical list of cat breeds (See [https://cfa.org/breeds/]. You take the first letters of the CFA name up to the first non-initial consonant, and convert them to lowercase. If the next breed on the list has the same letters, add a Mirad number (1=a, 2=e, 3=i, ...) to distinguish them. Now, end the word with the Mirad word for cat '''fepet'''. : This chart shows the process for the first few cat breeds in the CFA list: {| class="wikitable" style="background: lightyellow; margin-left:1.6em; font-size:smaller" |+ Creating Cat Breed Names |- ! CFA Name !! First Letters<br>Lowercase !! Number<br>If Any + fepet!! Mirad Name |- | ''<u>Am</u>erican Shorthair'' || '''am''' || '''a + fepet'''|| '''amafepet''' |- | ''<u>Am</u>erican Wirehair'' || '''am''' || '''e + fepet'''|| '''amefepet''' |- | ''<u>Bal</u>inese'' || '''bal''' || '''bal + fepet''' || '''balfepet''' |- | ''<u>Ben</u>gal'' || '''ben''' || '''ben + fepet''' || '''benfepet''' |} === Color Nomenclature === : The word for ''color'' in Mirad is '''volz''', which is mnemonically related to the word for ''flower'' ('''vos'''). The diminutive of ''color'' is '''voylz''', meaning ''tint, shade, hue''. : The names of common color adjectives in Mirad are based on a scale relating to the natural spectrum, with the first part of the word being the a number representing the spectrum order and the last half being the color stub '''-lza'''. The zeroth-color is no color, simple ''blank'', ''clear'', or ''transparent''. :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Basic Color Words |- ! 0 - clear !! 1 - red !!2 - orange !!3 - yellow !!4 - green !! 5 - blue !! 6 - purple !! 7 - indigo |- |<br><br><br> ||bgcolor="#d30000"| ||bgcolor="#fc6600"| ||bgcolor="#fff200"| ||bgcolor="#3bb143"| ||bgcolor="#0018f9"| || bgcolor="#b200ed"| || bgcolor="#4b0082"| |- | '''olza''' || '''alza''' || '''elza''' || '''ilza''' || '''ulza''' || '''yolza''' || '''yalza''' || '''yelza''' |} : There are some other common colors: :: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller;" |+ Other Basic Color Words |- |bgcolor="white"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; || '''malza'''....''white'' ||(Associated with '''man''' (''light'') |- |bgcolor="#7c4700"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;|| '''melza'''....''brown'' ||(Associated with '''mel''' (''soil'') |- |bgcolor="#222021"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''molza'''....''black'' ||(Associated with '''mon''' (''dark'') |- |bgcolor="#828282"| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''maolza'''....''gray'' ||(A blend of '''malza''' and '''molza''') |- |bgcolor="#fc0fc0"|&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;||'''aolza'''....''pink'' ||(A blend of '''olza'''....''clear'' and '''malza'''....''red'') |} : All other colors are formed by prefixing a word or mnemonic word stub (usually flowers or fruits) to the basic color with hyphenation. For example: ::* '''mecirufeb-ulza'''....''lime green'' from '''mecirufeb'''....''lime fruit'' + '''ulza'''....''green'' ::* '''mim-yalza'''....''aquamarine'' from '''mim'''....''sea'' + '''yalza'''....''blue'' ::* '''licirufeb-ilza'''....''lemon yellow'' from '''licirufeb'''....''lemon'' + '''ilza'''....''yellow'' ::* '''salpyit-alza'''....''salmon red'' ::* '''magmef-alza'''....''firebrick red'' ::* '''mim-yalza'''....''sea blue, aquamarine'' : Shaded variants of color terms can be achieved in the following manner: ::# A "light" shade by changing '''lza''' to '''ylza''': '''uylza'''....''light green'' ::# A "-ish" shade by changing '''lza''' to '''lzyena''': '''ulzyena'''....''greenish'' ::# A "bright" shade by changing '''lza''' to '''lzayna''': '''ulzayna'''....''bright green'' ::# A "dark" shade by changing '''lza''' to '''lzoyna''': '''ulzoyna'''....''dark green'' : Shaded variants can also be created by prefixing adjectival components such as these: :* '''oz-'''....''-ish, light-'' :* '''az-'''....''bright-, dark-'' :* '''kyu-'''....''light-'' :* '''maz-'''....''bright-'' :* '''eyn-'''....''semi-'' etc. : Some hybrid colors can be created by mixing the ordinal vowel: ::* '''maolza'''....''gray'' from '''malza'''....''white'' and '''molza'''....''black'' ::* '''yaulza'''....''blue-green, cyan'' from '''yalza'''....''blue'' and '''ulza'''....''green'' ::* '''maelza'''....''beige'' from '''malza'''....''white'' and '''melza'''....''brown'' : Colors can be made into nouns by dropping the adjectival suffix '''-a''': ::* '''<u>Ulz</u> se via volz.'''....''<u>Green</u> is a beautiful color.'' ::* '''At gafe <u>yalzayn</u>.'''....''I prefer <u>dark blue</u>.'' : Colors can also be used to form verbs: ::* '''Iyta teobi <u>alzasa</u>.'''....''Her cheeks <u>turned red (= blushed)</u>.'' ::* '''His se fia <u>teubip malzaxus</u>.'''....''This is a good <u>teeth whitener</u>.'' ::* '''Eta teupibi <u>ilzaseye</u>.'''....''Your teeth are <u>yellowing</u>.'' ==== Rarely Used Colors ==== : The more exotic or rare colors can be expressed by the RAL number / 10 in the [[w:List_of_RAL_colors|Wikipedia Chart of RAL Colors]] expressed in Mirad + '''-lz'''. For example, the color ''golden yellow'' has the RAL number 1004. Divided by 10 yields the number 104 ('''ase''', in Mirad), thus, the color is named '''aselz'''. The adjectival form of this color is '''aselza'''. One advantage of this system is that the colors are grouped by nine classic colors represented by the thousands unit, then subdivided by up to 999 shades of those classic colors, although in practice, the number of shades belonging to each classic color is under 40. For that reason, the thousands unit is reduced to a hundreds unit in the formation of Mirad color names. ===== Skin colors ===== [[File:Coloured-family.jpg|thumb|]] : When a color refers specifically to skin tone, the prefix '''tayo(b)-''' is used. The final '''-b''' of '''tayob''' is dropped before a consonant or glide. The word for ''skin-color'' itself is '''tayovolz'''. Thus: ::* '''(tayo-)molzat'''....''black(-skinned) person'' ::* '''(tayo-)malzat'''....''white(-skinned) person'' ::* '''(tayo-)melzat'''....''brown(-skinned) person'' ::* '''(tayob)omalzat'''....''non-white(-skinned) person'' ::* '''(tayob)omolzat'''....''non-black(-skinned) person'' ::* '''(tayob)omelzat'''....''non-brown(-skinned) person'' ::* '''(tayob)eymolzat'''....''half-black(skinned) person'' ::* '''(tayob)eymalzat'''....''half-white(-skinned) person'' ::* '''(tayo-)maolzat'''....''mulatto, mixed-skinned person'' ::* '''(tayob)olzat'''....''albino'' ::* '''hyetayovolza'''....''of any skin-tone'' ::* '''hyatayovolzati'''....''people of all colors'' ::* '''Iyt se duhotayovolza?'''....''What skin color is she?'' ==== Hair Colors ==== : Hair colors are produced by suffixing the color to the word for hair, '''tayeb'''. The final '''-b''' of '''tayeb''' is dropped before a consonant or '''y'''. The word for ''hair color'' is '''tayevolz'''. ::* '''tayebalza'''....''red-headed, auburn'' ::** '''tayebalzayt'''....''an auburn female'' ::* '''tayemolza'''....''brunette'' ::* '''tayemelza'''....''brown-haired'' ::* '''tayebiylza'''....''blond'' ::* '''tayemaolza'''....''gray, gray-haired'' :::* '''It gwa tayemaolzaso.'''....''He will go gray early.'' ::* '''Duhotayevolza iyt se?'''....''What color hair is she?'' ==== Eye Colors ==== : Eye colors are expressed by the prefix '''tea(b)''' followed by the color. The word for ''eye color'' is '''teavolz'''. In the following examples, '''teab''' (''eye'') becomes '''tea''' before any consonants or glides: ::* '''teayolza'''....''blue-eyed'' ::* '''teabulza'''....''green-eyed'' ::* '''teamelza'''....''brown-eyed'' :::* '''teamelzat'''....''brown-eyed person'' ::* '''teamolz'''....''a black eye'' ::* '''teamalz'''....''the white of the eye'' ::* '''Duhoteavolza et se?'''....''What color eyes do you have?'' === Chemical Nomenclature === [[File:14LaAc periodic table IIb.jpg|thumb|]] : The names of chemical elements are formed by converting the abbreviation for the element into Mirad lowercase alphabetic equivalents, then adding '''lk''', a suffix stub for chemicals. For example, the abbreviation for ''hydrogen'' is ''H''. So we replace that with the word for lowercase '''h''' in Mirad: '''he'''. By adding the stub suffix '''lk''', we get '''helk'''. : Use the names of the '''''small''''' letters of the alphabet as shown below. The letter name '''ca''' is pronounced '''cha''' as in English ''cha-cha''. {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" valign=top; align=center |+ Lowercase Alphabet with Letter Names |- ! Lowercase !! a !! b !! c !! d !! !! e !! f !! g !! h !! !! i !! j !! k !! l !! m !! n !! !! o !! p !! q !! r !! s !! t !! !! u !! v !! w !! x !! y !! z |- align=center | !row=1| Mirad Name | '''a''' || '''ba''' || '''ca''' || '''da''' ||bgcolor=lightgray| || '''e''' || '''fe''' || '''ge''' || '''he''' ||bgcolor=lightgray| || '''i''' || '''ji''' || '''ki''' || '''li''' || '''mi''' || '''ni''' ||bgcolor=lightgray| || '''o''' || '''po''' || '''ko''' || '''ro''' || '''so''' || '''to''' ||bgcolor=lightgray| || '''u''' || '''vu''' || '''wu''' || '''xu''' || '''yu''' || '''zu''' |} ==== Coding Chemical Elements ==== : The following chart shows some examples of how words for chemical elements are formed: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Coding Chemical Elements |- ! English Element Name !! Abbreviation !! Mirad Name |- | ''silver'' || ''Ar'' || '''arolk''' |- | ''iron'' || ''Fe'' || '''feelk''' |- | ''hydrogen'' || ''H'' || '''helk''' |- | ''nitrogen'' || ''N'' || '''nilk''' |- | ''mercury'' || ''Hg'' || '''hegelk''' |- | ''darmstadtium'' || ''Ds'' || '''dasolk''' |} : In chemical compounds, the '''lk''' is used only on the last element of the compound. : Chemical compounds such as ''H<sub>2</sub>O (hydrogen dioxide)'' are coded in the following manner. ::# The ''H'' for ''hydrogen'' is rendered as '''he''' (without the '''-lk'''). ::# The number 2 refers to two hydrogen atoms, so the Mirad prefix for ''two, bi-'', '''en-''' is prefixed to the '''h''', giving '''enhe'''. ::# The word for ''oxygen'', '''ol''' is added, and, since it is the last element in the compound, the '''lk''' is suffixed. ::# The English word ends in ''-ide'', which is rendered in Mirad as '''-iyd''', giving '''enheolkiyd''' : Such chemical suffix equivalents are given below: : Given the chemical element ''sulfur'', which has the abbreviation ''S'', the Mirad equivalent for this solid is '''solk'''. Possible variants of this chemical, plus others, are: ==== Chemical Compound Suffixes ==== {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Chemical Suffix Equivalents |- ! English Suffix !! Mirad Equivalent !! English Example !! Mirad Equivalent |- | ''-ide'' || '''-iyd''' || ''sulfide'' || '''solkiyd''' |- | ''-ite'' || '''-iyt''' || ''sulfite'' || '''solkiyt''' |- | ''-ate'' || '''-ayt''' || ''sulfate'' || '''solkayt''' |- | ''-ine'' || '''-iyn''' || ''iodine'' || '''ilkiyn''' |- | ''-ane'' || '''-ayn''' || ''methane'' || '''ahelkayn''' |- | ''-ene'' || '''-eyn''' || ''benzene'' || '''ehelkeyn''' |- | ''-one'' || '''-oyn''' || ''ketone'' || '''ketoyn''' |- | ''-ine'' || '''--iyn''' || ''alanine'' || '''alaniyn''' |- | ''-ic'' || '''-a''' || ''ferric'' || '''feelka''' |- | ''-ous'' || '''aya''' || ''ferrous'' || '''feelkaya''' |} : Note that the numeral prefixes in chemical formulae end in '''-n'''. : The numeral prefixes ''5'' and ''6'' end in '''-on''' instead of '''-n''' so as to distinguish them from the words '''yan'''....''together'' and '''yon'''....''apart''. : The chart below shows some of the numeric prefixes: {| class="wikitable" style="background:lightyellow; margin-left:3.2em; font-size:smaller" |+ Numeric Prefixes |- ! Number !! Prefix !! Example |- | '''a'''....''mono-'' || '''an''' || '''anolkiyd'''....''<u>mono</u>xide (O)'' |- | '''e'''....''bi-/di-'' || '''en''' || '''encalkayt'''....''<u>bi</u>carbonate (C<sub>2</sub>)'' |- | '''i'''....''tri-'' || '''in''' || '''inolkiyd-'''....''trioxide (O<sub>3</sub>)'' |- | '''u'''....''tetr(a)-'' || '''un''' || '''unolkiyd-'''....''tetroxide (O<sub>4</sub>)'' |- | '''yo'''....''pent(a)-'' || '''yoon''' || '''yoonolkiyd-'''....''pentoxide (O<sub>5</sub>)'' |- | '''ya'''....''hex(a)-'' || '''yaon''' || '''yaonolkiyd'''....''hexoxide (O<sub>6</sub>)'' |- | '''ye'''....''hept(a)-'' || '''yen''' || '''yenolkiyd'''....''heptoxide (O<sub>7</sub>)'' |- | '''yi'''....''oct(o)-'' || '''yin''' || '''yinolkiyd-'''....''octoxide (O<sub>8</sub>)'' |- | '''yu'''....''non(a)-'' || '''yun''' || '''yunolkiyd-'''....''nonoxide (O<sub>9</sub>)'' |- | '''alo'''....''dec(a)-'' || '''alon''' || '''alonolkayt-'''....''decoxidate (O<sub>10</sub>)'' |} : Examples: ::* ''carbon <u>di</u>oxide (C<sub>2</sub>O)''....'''calk <u>en</u>olkiyd''' ::* ''sodium <u>bi</u>carbonate (Na2C)''....'''nialk <u>en</u>calkayt''' ::* ''calcium <u>di</u>hydrogen phosphate''....'''caalk <u>en</u>helk polkayt''' ::* ''glucose (C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>)''....'''<u>yaon</u>ca<u>alan</u>he<u>yaon</u>olk''' (or: '''sakolos''') ::* ''methanol (C<sub>3</sub>HOH)''....'''ca<u>in</u>heohelk''' : Note: the '''-lk''' is added only at the end of a compound and before the endings '''-iyd''', '''-iyt''', and '''-ayt''', etc. ==== Names of Atomic Parts ==== : The word for ''atom'' in Mirad is '''gwomulk''', which literally is ''least particle''. : The main particles in an atom are: ::* '''vamulk'''....''proton'' (positive) ::* '''vemulk'''....''neutron'' (neutral) ::* '''vomulk'''....''electron'' (negative) : Every atom contains '''mulki''' (''subatomic particles''). [[File:Standard Model of Elementary Particles.svg|thumb|392x392px|The [[Standard Model]] classification of particles]] : The principle elementary atomic particles (quarks, leptons, bosons) are named from the alphabetic spellings of the letter abbreviations in the Standard Abbreviations chart to the right, some of which are Greek letters, both upper and lower case. (See [[wikipedia:Subatomic_particle]] ). ::* '''hamulk'''....''hadron'' :::* '''mi-hamulk'''....''meson'' ::::* '''pimi-hamulk'''....''pion'' ::::* '''kami-hamulk'''....''kaon'' :::* '''ba-hamulk'''....''baryon'' ::::* '''lambda-ba-hamulk'''....''lambda baryon'' ::* '''vamulk'''....''proton'' ::* '''vemulk'''....''neutron'' ::* '''vomulk'''....''electron'' ::* '''zemulk'''....''nucleon'' ::* '''alfamulk'''....''alpha particle'' ::* '''fermimulk'''....''fermion'' ::* '''goryumulk'''....''nanoparticle'' ::* '''kyiazon mulk'''....''graviton'' ::* '''bamulk'''....''boson particle'' :::* '''agha-bamulk'''....''higgs particle'' :::* '''agwu-bamulk'''....''W boson'' :::* '''agzu-bamulk'''....''Z boson'' :::* '''gamma-bamulk'''....''photon'' :::* '''ge-bamulk'''....''gluon'' ::* '''qomulk'''....''quark'' :::* '''ba-qomulk'''....''bottom quark'' :::* '''ca-qomulk'''....''charm quark'' :::* '''da-qomulk'''....''down quark'' :::* '''ov-qomulk'''....''antiparticle, antiquark'' :::* '''penta-qomulk'''....''penta quark'' :::* '''tetra-qomulk'''....''tetra quark'' :::* '''to-qomulk'''....''top quark'' :::* '''u-qomulk'''....''up quark'' :::* '''so-qomulk'''....''strange quark'' ::* '''limulk'''....''lepton'' :::* '''gamma-limulk'''....''photon'' (also: '''manmulk''') :::* '''mu-limulk'''....''muon'' :::* '''pi-limulk'''....''pion'' :::* '''tau-limulk'''....''tau'' :::* '''vu-e-limulk'''....''electron neutrino'' :::* '''vu-mu-limulk'''....''muon neutrino'' :::* '''vu-tau-limulk'''....''tau neutrino'' :::* '''e-limulk'''....''electron'' (also: '''vomulk''') : The nucleus of an atom is called '''zemulk'''. Therefore, '''zemulka''' means ''nuclear''. === Musical Nomenclature === ==== Musical Instruments ==== : The musical instruments are encoded as follows, where all instruments contain the word for musical instrument ('''duzar''' < '''duz''' (''music'') + '''-ar''' (''instrument''). The system is based on a five-way classification system that relates to the way the instrument is played. [[File:Madras musical instruments and snake charmer's music.jpg|thumb|<small>Madras_musical_instruments_and_snake_charmer's_music</small>]] {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Musical Instruments |- ! Mirad !! English |- ! colspan=2 | Bowed-String |- | '''aduzar''' || ''violin'' |- | '''eduzar''' || ''violin alto'' |- | '''iduzar''' || ''cello'', ''violoncello'' |- | '''uduzar'''<br>'''eona uduzar''' || ''bass''<br>''double bass'' |- | '''yoduzar''' || ''viola'' |- | '''yaduzar''' || ''fiddle'' |- | '''yeduzar''' || ''viol'' |- |- '''yiduzar''' || ''erhu'' |- | '''yuduzar''' || ''hardanger fiddle'' |- | '''aloduzar''' || ''kemenche'' |- | '''aladuzar''' || ''nyckelharpa'' |- | '''aleduzar''' || ''rebab'' |- ! colspan=2 | Woodwind |- | '''faduzar''' || ''flute'' |- | '''feduzar''' || ''oboe'' |- | '''fiduzar''' || ''clarinet'' |- | '''fuduzar''' || ''bassoon'' |- | '''fyoduzar''' || ''French harp, harmonica'' |- | '''fyaduzar''' || ''recorder'' |- | '''fyeduzar''' || ''bagpipe'' |- | '''fyiduzar''' || ''didgeridoo'' |- | '''fyuduzar''' || ''piccolo'' |- | '''faloduzar''' || ''fife, hornpipe'' |- | '''faladuzar''' || ''ocarina, ocarine'' |- | '''faleduzar''' || ''sheng'' |- | '''faliduzar''' || ''duduk'' |- | '''faluduzar''' || ''bansuri'' |- | '''falyoduzar''' || ''suling'' |- ! colspan=2 | Brass &#x1f3b7; |- | '''voduzar''' || ''horn'' |- | '''vaduzar''' || ''trumpet'' |- | '''veduzar''' || ''trombone'' |- | '''vuduzar'''<br>-- '''avuduzar'''<br>-- '''evuduzar'''<br>--'''ivuduzar'''|| ''saxophone''<br>-- ''tenor saxophone''<br>-- ''alto saxophone''<br>-- ''bass saxophone'' |- | '''vyoduzar''' || ''tuba'' |- | '''vyaduzar''' || ''bugle'' |- | '''vyeduzar''' || ''French horn'' |- | '''vyiduzar''' || ''cornet'' |- | '''vyuduzar''' || ''baritone horn'' |- | '''valoduzar''' || ''alto horn'' |- | '''valaduzar''' || ''euphonium'' |- | '''valeduzar''' || ''flugelhorn'' |- | '''validuzar''' || ''sousaphone'' |- | '''valuduzar''' || ''clarion'' |- | '''valyoduzar''' || ''mellophone'' |- | '''valyaduzar''' || ''climbasso'' |- | '''valyeduzar''' || ''ophicleide'' |- ! colspan=2 | Percussion |- | '''kaduzar'''<br>-- '''akaduzar'''<br>-- '''ekaduzar'''<br>-- '''ikaduzar'''<br>-- '''ukaduzar'''<br>-- '''yokaduzar'''<br>-- '''yakaduzar'''<br>-- '''yekaduzar'''<br>-- '''yikaduzar'''<br>-- '''yukaduzar'''<br>-- '''alokaduzar'''<br>-- '''alakaduzar'''<br>-- '''alekaduzar'''<br>-- '''alikaduzar'''<br>-- '''alukaduzar''' || ''drum''<br>-- ''snare drum''<br>-- ''bass drum''<br>-- ''tenor drum''<br>-- ''steel drum''<br>-- ''bongo drum''<br>-- ''timbrel''<br>-- ''kettledrum''<br>-- ''hang drum''<br>-- ''tupan''<br>-- ''taiko''<br>-- ''spring drum''<br>-- ''octoban''<br>-- ''candombe drum''<br>-- ''steel tongue drum'' |- | '''keduzar''' || ''glockenspiel'' |- | '''kiduzar''' || ''vibraphone'' |- | '''kuduzar''' || ''marimba'' |- | '''kyoduzar''' || ''tubular bell'' |- | '''gaduzar''' || ''triangle'' |- | '''geduzar''' || ''gong'' |- | '''giduzar''' || ''castanet'' |- | '''guduzar''' || ''rattle'' |- | '''gyoduzar''' || ''xylophone'' |- | '''gyaduzar''' || ''maraca'' |- | '''gyeduzar''' || ''caj&oacute;n'' |- | '''gyiduzar''' || ''cymbal'' |- | '''gyuduzar''' || ''tambourine'' |- | '''galoduzar''' || ''steelpan'' |- | '''galaduzar''' || ''wind chime'' |- | '''galeduzar''' || ''chime bar'' |- | '''galiduzar''' || ''celeste'' |- | '''galuduzar''' || ''clapper'' |- | '''galyoduzar''' || ''Jew's harp'' |- | '''galyaduzar''' || ''bazooka'' |- | '''galyeduzar''' || ''waterphone'' |- | '''galyiduzar''' || ''balafon'' |- | '''galyuduzar''' || ''boomwhackers'' |- | '''geloduzar''' || ''udu'' |- | '''geladuzar''' || ''thunder sheet'' |- ! colspan=2 | Keyboard &#x1f3b9; |- | '''raduzar'''<br>-- '''utekea raduzar'''<br>-- '''agala raduzar'''<br>-- '''sem raduzar''' || ''piano''<br>-- ''player piano''<br>-- ''grand piano''<br>-- ''keyboard'' |- | '''reduzar''' || ''clavichord'' |- | '''riduzar''' || ''harpsichord'' |- | '''ruduzar'''<br>-- '''mufyeg ruduzar'''<br>-- '''maka ruduzar''' || ''organ''<br>-- ''pipe organ''<br>-- ''electric organ'' |- | '''ryoduzar''' || ''accordion'' |- | '''ryaduzar''' || ''dulcimer'' |- | '''ryeduzar''' || ''calliope'' |- | '''ryiduzar''' || ''melodica'' |- | '''ryuduzar''' || ''concertina'' |- ! colspan=2 | Guitar &#x1f3b8; |- | '''baduzar'''<br>-- '''seuxa baduzar'''<br>-- '''maka baduzar'''<br>-- '''yoba baduzar''' || ''guitar''<br>-- ''accoustic guitar''<br>-- ''electric guitar''<br>-- ''bass guitar'' |- | '''beduzar''' || ''banjo'' |- | '''biduzar''' || ''lute'' |- | '''buduzar''' || ''harp'' |- | '''byoduzar''' || ''mandolin'' |- | '''byaduzar''' || ''ukelele'' |- | '''byeduzar''' || ''zither'' |- | '''byiduzar''' || ''lyre'' |- | '''byuduzar''' || ''cithara, kithara'' |- | '''baloduzar''' || ''sitar'' |- | '''baladuzar''' || ''veena'' |- | '''baleduzar''' || ''koto'' |- | '''baliduzar''' || ''balalaika'' |- | '''baluduzar''' || ''charango'' |- | '''balyoduzar''' || ''hurdy-gurdy'' |} ==== Voice Ranges ==== {| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Voice Ranges (Deuz nabyani) |- ! Mirad !! English !! Meaning |- ! colspan=3 | Women |- | '''yabdeuztoyb''' || ''soprano'' || "high-voice-female" |- | '''zeyabdeuztoyb''' || ''mezzo-soprano'' || "high-ish-voice-female" |- | '''yobdeuztoyb''' || ''alto, contralto'' || "low-voice-female" |- ! colspan=3 | Men |- | '''yabdeuztwob''' || ''tenor'' || "high-voice-male" |- | '''ze-yabdeuztwob''' || ''baritone'' || "middle-high-voice-male" |- | '''yobdeuztwob''' || ''bass''||"low-voice-male" |- | '''vyo-yabdeuztwob''' || ''falsetto'' || "false-high-voice-male" |- ! colspan=3 | Boys |- | '''yabdeuztwobet''' || ''treble'' || "high-voice-boy" |} : Suffix these nouns with '''-a''' to make them adjectives, eg.: ::* '''His se <u>yabdeuztwoba</u> duznod.'''....''This is a <u>tenor</u> note.'' ==== Solmization Syllables ==== : The syllables used in Mirad to spell out musical notes is like the system used in the English-speaking world: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Solmization Syllables |- | '''do''' || '''re''' || '''mi''' || '''fa''' || '''sol''' || '''la''' || '''ti''' || '''do''' |} ==== Musical Score Elements ==== [[File:Gigault-dernier-kyrie-mm9-12.png|thumb]] : The semitone or accidental symbols are: {| class="wikitable" style="background:lightyellow;; margin-left:1.6em; font-size:smaller" |+ Accidentals |- ! ENGLISH NAME !! SYMBOL !! MIRAD NAME !! ENGLISH EXAMPLE !! MIRAD EXAMPLE || MIRAD PRONUNCIATION |- | ''flat'' || <big>&#x1D12C;</big>|| '''yobwa''' (=''lowered'')|| ''B flat'' || '''B yobwa''' || '''ba YOBwa''' |- | ''sharp'' || <big>&#x1D130;</big> || '''yabwa''' (=''raised'')|| ''C sharp'' || '''C yabwa''' || '''ca YABwa''' |- | ''natural'' || <big>&#x1D12E;</big> || '''egxwa''' (=''normalized'')|| ''F natural'' || '''F egxwa''' || '''fe EGxwa''' |} : Some staff notation: {| class="wikitable" style="background:lightyellow; margin-left:1.6em; font-size:smaller" |+ Staff Notation |- ! English Name !! Symbol !! Mirad Name |- | ''staff'' || <big>&#x1D119;</big> || '''nuidyan''' |- | ''treble clef, G clef'' || <big>&#x1D11E;</big> || '''G yijar''' |- | ''C clef'' || <big>&#x1D121;</big> || '''C yijar''' |- | ''base clef, F clef'' || <big>&#x1D122;</big> || '''F yijar''' |- | ''note'' || || '''nod''' |- | ''half note'' || <big>&#x1D15E;</big> || '''eyna nod''' |- | ''quarter note'' || <big>&#x1D15F;</big> || '''uyna nod''' |- | ''whole note'' || <big>&#x1D15D;</big> || '''ayna nod''' |- | ''quarter rest'' || <big>&#x1D13D; </big> || '''uyna poys''' |- | ''eighth note'' || <big>&#x1D160; </big> || '''yiyna nod''' |- | ''bar, measure'' || <big>&#x1D100;</big> || '''nodzyan''' |- | ''ligature'' || || '''yanxus''' |} ==== Characteristic Features of Music ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Characteristic Features of Music ! Mirad !! English |- |'''deup'''||'' beat'' |- |'''seupan'''||'' cadence'' |- |'''jes'''||'' duration'' |- |'''zoyteuz'''||'' echo'' |- |'''yanseuz'''||'' harmony'' |- |'''duzneg'''||''pitch'' |- |'''ijduzneg'''||'' key'' |- |'''druz'''||'' lyric'' |- |'''agala duzmus'''||'' major scale'' |- |'''duznag'''||'' measure'' |- |'''duznad'''||'' melody'' |- |'''duzjob''' ||''tempo'' |- |'''nak'''||'' meter'' |- |'''ogala duzmus'''||'' minor scale'' |- |'''duz'''||'' music'' |- |'''yinig'''||'' octave'' |- |'''byexes'''||'' pulse'' |- |'''zoyseuzen'''||'' resonance'' |- |'''deupyan'''||'' rhythm'' |- |'''duzmus'''||'' scale'' |- |'''duzdreyn'''||'' score'' |- |'''seux'''||'' sound'' |- |'''duzigan'''||'' tempo'' |- |'''seuzvolz'''||'' timbre'' |- |'''seuz'''||'' tone'' |- |'''yanseuz'''||''chord, harmonic'' |- |'''aybseuz'''||''overtone'' |- |'''deuzunog'''||'' tune'' |- |'''deuz'''||'' voice'' |- |'''seuxnid'''||'' volume'' |} ==== Dynamics ==== : Notations having to do with musical dynamic accents are usually in Italian and are recognized the world over. For this reason, they are left ''as is'' in Mirad. : These include: <div style="background:lightyellow; font-style:italics"> : <i>a tempo, accelerando, accelerando, crescendo, decrescendo, diminuendo, fermata, forte, fortissimo, glissando, legato, lento, marcato, mezzo forte, mezzo piano, pianissimo, piano, poco a poco, portamento, rallentando, ritardanto, rubato, sforzando, staccatissimo, staccato, subito piano, tenuto, tremolo</i>, and others. </div> ==== Types of Arrangements ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musical Arrangements ! English !! Mirad |- |''a capella song''||'''a kapella deuzun, deuzun boy duzari''' |- |''anthem''||'''fizdeuzun, tezdeuzun''' |- |''antiphon''||'''duiddeuzun''' |- |''aria''||'''arya, awat deuzun''' |- |''arrangement''||'''napbeyn''' |- |''art song''||'''tuz deuz''' |- |''ballad''||'''daz deuz, ifonkex deuzun''' |- |''battle hymn''||'''dropek deuzun''' |- |''bird song''||'''pat deuzun''' |- |''broadway song''||'''Broadway deuzun''' |- |''campfire song''||'''tamoftem deuzun''' |- |''cantata''||'''kantata''' |- |''canticle''||'''efyadeuzun''' |- |''carol''||'''ivdeuzun''' |- |''chant''||'''yagdeuzun''' |- |''choral arrangement''||'''deuzutyan napxeyn''' |- |''Christmas carol''||'''Kristtaj ivdeuzun''' |- |''classical song''||'''visauna deuzun''' |- |''composition''||'''duzdrun''' |- |''concerto''||'''koncerto''' |- |''country song''||'''odom deuzun, meimtyoda deuzun''' |- |''dance song''||'''daz deuzun''' |- |''dirge''||'''uvdeuzun''' |- |''ditty''||'''deuzog''' |- |''doggerel verse''||'''dizdeuzun''' |- |''drinking song''||'''tilien deuzun''' |- |''duet''||'''ewat (deuzun)''' |- |''folksong''||'''tyoyd deuzun''' |- |''glee''||'''Gebama deuzun''' |- |''gospel song''||'''fyadin deuzun''' |- |''hip hop song''||'''hip hop deuzun''' |- |''hit song''||'''agakus deuzun''' |- |''hymn''||'''fyadeuzun ''' |- |''instrumental''||'''duzarun''' |- |''jingle''||'''nundeuzunog''' |- |''karaoke song''||'''karaoke deuzun''' |- |''love song''||'''ifon deuzun''' |- |''lullaby''||'''tudet deuzun''' |- |''lute song''||'''riduzar deuzun''' |- |''madrigal''||'''duzuka deuzun''' |- |''marching song''||'''doptyopen deuzun''' |- |''medley''||'''ebmulxwa deuzyan''' |- |''metal song''||'''mug deuzun''' |- |''musical number''||'''duzun''' |- |''old standard''||'''ajdeuzun''' |- |''opera''||'''dyuz, dyuzun''' |- |''oratorio''||'''oratoryo''' |- |''paean''||'''akrun deuzun''' |- |''partsong''||'''gon deuzun''' |- |''patter song''||'''deuzig''' |- |''pop song''||'''tyoda deuzun''' |- |''psalm''||'''afyadeuzun''' |- |''rock song''||'''rok deuzun''' |- |''round''||'''zoydea deuzun''' |- |''sea shanty''||'''mim deuz''' |- |''show tune''||'''duez deuzun''' |- |''signature song''||'''ujak deuzun''' |- |''slow jam''||'''bluz deuzun''' |- |''soliloquy''||'''awat, awat deuzun''' |- |''solo''||'''awat (duzun), awat (deuzun)''' |- |''song''||'''deuzun''' |- |''spiritual, negro spiritual''||'''topa deuzun''' |- |''sporting song''||'''tapifek deuzun''' |- |''symphony''||'''viduzunyag''' |- |''theme song''||'''texzena deuz''' |- |''torch song''||'''ifonok uvdeuzun''' |- |''vaudeville song''||'''Vaudeville deuzun''' |- |''Wienerlied''||'''Viena deuzun''' |} ==== Musicians ==== {| class="wikitable sortable" style="background: lightyellow; font-size:smaller" |+ Musicians ! English !! Mirad |- |''musician''||'''duzut, duztoyb, duzuyt, duztwob''' |- |''instrumentalist''||'''duzarut''' |- |''violinist''||'''aduzarut''' |- |''conductor''||'''duzdeb''', '''duzutyaneb''' |- |''soloist''||'''anduzut''' |- |''singer, vocalist''||'''deuzut''' |- |''danseur''||'''dyaztwob''' |- |''ballerina''||'''dyazuyt, dyaztoyb''' |- |''dancer''||'''dazut, dazuyt''' |- |''opera singer''||'''dyuzut, dyuzuyt''' |- |''operatist, librettist''||'''dyuzdrut''' |- |''composer''||'''duzdrut''' |- |''lyricist, songwriter''||'''deuzdrut''' |- |''dance conductor''||'''dazeb''' |- |''(symphony) orchestra''||'''duzarutyan''' |- |''philharmonic orchestra''||'''duzarutyanag''' |- |''chorus, chorale'' ||'''deuzutyan''' |- |''dance troupe''||'''dazutyan''' |} ==== Song Parts ==== {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Song Parts ! Mirad !! English |- |'''ujgon'''||''coda'' |- |'''ijgon'''||''intro'' |- |'''ebek'''||''interlude'' |- |'''ijek'''||''finale'' |- |'''gawijun'''||''reprise'' |- |'''gawdeuzun'''||''refrain'' |- |'''agalduznad'''||''theme'' |- |'''nadyan'''||''verse'' |- |'''zeymep'''||''bridge'' |- |'''gawdwas'''||''chorus'' |- |'''ujnadyan'''||''outro'' |} ==== Music Genres ==== : Some genres and styles of music: {| class="wikitable sortable" style="background:lightyellow; font-size:smaller" |+ Genres of Music ! Mirad !! English |- |'''a kapella, boy duzari'''||''a capella'' |- |'''yugtaxea duz'''||''ambiant'' |- |'''Usoma tyoyduz'''||''American folk'' |- |'''Usoma egona duz'''||''American standard'' |- |'''yizejna'''||''avant garde'' |- |'''Baroka'''||''Baroque'' |- |'''yolza vab'''||''bluegrass'' |- |'''bluz'''||''blues'' |- |'''Bolliwud'''||''Bollywood'' |- |'''bossa nova'''||''bossa nova'' |- |'''kalipso'''||''calypso'' |- |'''Kelta yagdeuz'''||''Celtic chant'' |- |'''Canima tyoyduz'''||''Chinese folk'' |- |'''Canima ajutbyena dyuz'''||''Chinese traditional opera'' |- |'''jejoba deupyan ay bluz'''||''contemporary R&B'' |- |'''maima bluz'''||''country blues'' |- |'''maima duz'''||''country music'' |- |'''maima pop'''||''country pop'' |- |'''maima rap'''||''country rap'' |- |'''maima rok'''||''country rock'' |- |'''dazam pop'''||''dancehall pop'' |- |'''disko'''||''disco'' |- |'''du-wop'''||''doo-wop'' |- |'''maka dauz'''||''electronic dance music (EDM)'' |- |'''yugtaxea duz'''||''elevator music'' |- |'''Euma disko'''||''Euro-disco'' |- |'''jwayeka'''||''experimental'' |- |'''flamenko'''||''flamenco'' |- |'''funk'''||''funk'' |- |'''Gregoria yagdeuz'''||''Gregorian chant'' |- |'''hip-hop'''||''hip-hop'' |- |'''honki-tonk'''||''honky-tonk'' |- |'''hyusuna rok'''||''Indie rock'' |- |'''jaz'''||''jazz'' |- |'''makjaz'''||''jazztronica'' |- |'''juju'''||''juju'' |- |'''fyaxela duz'''||''liturgical music'' |- |'''majika'''||''majika'' |- |'''mamo'''||''mambo'' |- |'''merengwe'''||''merengue'' |- |'''mesitzo'''||''mesitzo'' |- |'''mug'''||''metal'' |- |'''Mixuma duz'''||''Mexican'' |- |'''seuz bi Naxvil'''||''Nashville sound'' |- |'''Ejna Orleans bluz'''||''New Orleans blues'' |- |'''dyuz'''||''opera'' |- |'''rancera'''||''ranchera'' |- |'''rap'''||''rap'' |- |'''rege'''||''reggae'' |- |'''deupyan ay blus, ro-ay-ba'''||''rhythm & blues'' |- |'''rok-ay-rol'''||''rock & roll'' |- |'''salsa'''||''salsa'' |- |'''samba'''||''samba'' |- |'''ska'''||''ska'' |- |'''galoduzaruta duz'''||''steel band music'' |- |'''swing'''||''swing'' |- |'''Tehano'''||''Tejano'' |- |'''eyntuj duz'''||''trance music'' |- |'''Zumera visauna'''||''Western classical'' |- |'''Zumeryena'''||''Western'' |- |'''zideko'''||''zydeco'' |} === Geographic Placenames === : As in English, Geograpic placenames are capitalized, including the languages and inhabitants. ==== Countries of the World ==== [[File:Flickr - …trialsanderrors - Johnson's new chart of national emblems, 1868.jpg|thumb|]] Below is a complete list of the current officially assigned ISO 3166-1 alpha-3 codes, with country names being English short country names officially used by the ISO 3166 Maintenance Agency (ISO 3166/MA). The Mirad equivalents are formed by replacing the letters of the ISO code with the lowercase Mirad alphabetic spells, except if the letter is followed by a vowel, in which case the ISO letter is kept as is, but lower-cased. The letter '''m''' is suffixed as a stub for "place" and then the word-initial letter is capitalized, eg.: : Example 1: : ''Burundi'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is BDI. ::* ''BDI'' is lowercased to ''bdi'' ::* '''b''' is convered to the Mirad alphabetic spell '''ba'''. ::* Since ''d'' is followed by a vowel, it is left as is: '''d'''. ::* The vowel ''i'' is left as is: '''i''' ::* '''m''' is appended for ''place'': '''badim''' ::* The initial letter of the country name is capitalized: '''Badim''' ::* BDI (Burundi) = '''Badim'''. : Example 2: : ''Uzbekistan'' is translated as follows: ::* The ISO 3166-1 alpha-3 code is UZB. ::* ''UZB'' is lowercased to ''uzb'' ::* '''u''' is left as is: '''u'''. ::* '''z''' is converted to the Mirad alphabetic spell: '''zu''' ::* '''b''' is converted to the Mirad alphabetic spell: '''ba''' ::* '''m''' is appended for ''place'': '''uzubam''' ::* The initial letter of the country name is capitalized: '''Uzubam''' ::* UZB (Uzbekistan) = '''Uzubam'''. {| class="wikitable sortable" style="background: lightyellow; margn-left:1.6em; font-size:smaller;" |+ Country Names (click on arrows to sort a column) ! ISO !! English !! Mirad |- | ABW || ''Aruba''||'''Abawum''' |- | AFG || ''Afghanistan''||'''Afegem''' |- | AGO || ''Angola''||'''Agom''' |- | AIA || ''Anguilla''||'''Aiam''' |- | ALA || ''[[w:Åland|Åland Islands]]''||'''Alam''' |- | ALB || ''Albania''||'''Alibam''' |- | AND || ''Andorra''||'''Anidam''' |- | ANT || ''Netherlands Antilles''||'''Anitom''' |- | ARE || ''United Arab Emirates''||'''Arem''' |- | ARG || ''Argentina''||'''Arogem''' |- | ARM || ''Armenia''||'''Aromim''' |- | ASM || ''American Samoa''||'''Asomim''' |- | ATA || ''Antarctica''||'''Atam''' |- | ATF || ''French Southern Territories''||'''Atofem''' |- | ATG || ''Antigua and Barbuda''||'''Atogem''' |- | AUS || ''Australia''||'''Ausom''' |- | AUT || ''Austria''||'''Autom''' |- | AZE || ''Azerbaijan''||'''Azem''' |- | BDI || ''Burundi''||'''Badim''' |- | BEL || ''Belgium''||'''Belim''' |- | BEN || ''Benin''||'''Benim''' |- | BFA || ''Burkina Faso''||'''Bafam''' |- | BGD || ''Bangladesh''||'''Bagedam''' |- | BGR || ''Bulgaria''||'''Bagerom''' |- | BHR || ''Bahrain''||'''Baherom''' |- | BHS || ''[[w|The Bahamas|Bahamas]]''||'''Bahesom''' |- | BIH || ''Bosnia and Herzegovina''||'''Bihem''' |- | BLM || ''Saint Barthélemy''||'''Balimim''' |- | BLR || ''Belarus''||'''Balirom''' |- | BLZ || ''Belize''||'''Balizum''' |- | BMU || ''Bermuda''||'''Bamum''' |- | BOL || ''Bolivia''||'''Bolim''' |- | BRA || ''Brazil''||'''Baram''' |- | BRB || ''Barbados''||'''Barobam''' |- | BRN || ''[[w:Brunei|Brunei Darussalam]]''||'''Baronim''' |- | BTN || ''Bhutan''||'''Batonim''' |- | BVT || ''Bouvet Island''||'''Bavutom''' |- | BWA || ''Botswana''||'''Bawam''' |- | CAF || ''Central African Republic''||'''Cafem''' |- | CAN || ''Canada''||'''Canim''' |- | CCK || ''Cocos Islands''||'''Cacakim''' |- | CHE || ''Switzerland''||'''Cahem''' |- | CHL || ''Chile''||'''Cahelim''' |- | CHN || ''[[w:People's Republic of China|China]]''||'''Cahenim''' |- | CIV || ''Côte d'Ivoire''||'''Civum''' |- | CMR || ''Cameroon''||'''Camirom''' |- | COD || ''Democratic Republic of the Congo''||'''Codam''' |- | COG || ''Republic of the Congo''||'''Cogem''' |- | COK || ''Cook Islands''||'''Cokim''' |- | COL || ''Colombia''||'''Colim''' |- | COM || ''Comoros''||'''Comim''' |- | CPV || ''Cape Verde''||'''Capovum''' |- | CRI || ''Costa Rica''||'''Carim''' |- | CUB || ''Cuba''||'''Cubam''' |- | CXR || ''Christmas Island''||'''Caxurom''' |- | CYM || ''Cayman Islands''||'''Cayumim''' |- | CYP || ''Cyprus''||'''Cayupom''' |- | CZE || ''Czechia''||'''Cazem''' |- | DEU || ''Germany''||'''Deum''' |- | DJI || ''Djibouti''||'''Dajim''' |- | DMA || ''Dominica''||'''Damam''' |- | DNK || ''Denmark''||'''Danikim''' |- | DOM || ''Dominican Republic''||'''Domim''' |- | DZA || ''Algeria''||'''Dazam''' |- | ECU || ''Ecuador''||'''Ecum''' |- | EGY || ''Egypt''||'''Egeyum''' |- | ERI || ''Eritrea''||'''Erim''' |- | ESH || ''Western Sahara''||'''Esohem''' |- | ESP || ''Spain''||'''Esopom''' |- | EST || ''Estonia''||'''Esotom''' |- | ETH || ''Ethiopia''||'''Etohem''' |- | FIN || ''Finland''||'''Finim''' |- | FJI || ''Fiji''||'''Fejim''' |- | FLK || ''Falkland Islands (Malvinas)''||'''Felikim''' |- | FRA || ''France''||'''Feram''' |- | FRO || ''Faroe Islands''||'''Ferom''' |- | FSM || ''Federated States of Micronesia''||'''Fesomim''' |- | GAB || ''Gabon''||'''Gabam''' |- | GBR || ''United Kingdom''||'''Gebarom''' |- | GEO || ''Georgia''||'''Geom''' |- | GGY || ''Guernsey''||'''Gegeyum''' |- | GHA || ''Ghana''||'''Geham''' |- | GIB || ''Gibraltar''||'''Gibam''' |- | GLP || ''Guadeloupe''||'''Gelipom''' |- | GMB || ''Gambia''||'''Gemibam''' |- | GNB || ''Guinea-Bissau''||'''Genibam''' |- | GNQ || ''Equatorial Guinea''||'''Geniqom''' |- | GRC || ''Greece''||'''Gerocam''' |- | GRD || ''Grenada''||'''Gerodam''' |- | GRL || ''Greenland''||'''Gedolim''' |- | GTM || ''Guatemala''||'''Getomim''' |- | GUF || ''French Guiana''||'''Gufem''' |- | GUM || ''Guam''||'''Gumim''' |- | GUY || ''Guyana''||'''Guyum''' |- | HKG || ''Hong Kong''||'''Hekigem''' |- | HMD || ''Heard Island and McDonald Islands''||'''Hemidam''' |- | HND || ''Honduras''||'''Henidam''' |- | HRV || ''Croatia''||'''Herovum''' |- | HTI || ''Haiti''||'''Hetim''' |- | HUN || ''Hungary''||'''Hunim''' |- | IDN || ''Indonesia''||'''Idanim''' |- | IMN || ''Isle of Man''||'''Iminim''' |- | IND || ''India''||'''Inidam''' |- | IOT || ''British Indian Ocean Territory''||'''Iotom''' |- | IRL || ''Republic of Ireland''||'''Irolim''' |- | IRN || ''Iran''||'''Ironim''' |- | IRQ || ''Iraq''||'''Iroqom''' |- | ISL || ''Iceland''||'''Isolim''' |- | ISR || ''Israel''||'''Isorom''' |- | ITA || ''Italy''||'''Itam''' |- | JAM || ''Jamaica''||'''Jamim''' |- | JEY || ''Jersey''||'''Jeyum''' |- | JOR || ''Jordan''||'''Jorom''' |- | JPN || ''Japan''||'''Jiponim''' |- | KAZ || ''Kazakhstan''||'''Kazum''' |- | KEN || ''Kenya''||'''Kenim''' |- | KGZ || ''Kyrgyzstan''||'''Kigezum''' |- | KHM || ''Cambodia''||'''Kihemim''' |- | KIR || ''Kiribati''||'''Kirom''' |- | KNA || ''Saint Kitts and Nevis''||'''Kinam''' |- | KOR || ''[[w:South Korea|Korea, Republic of]]''||'''Korom''' |- | KWT || ''Kuwait''||'''Kiwutom''' |- | LAO || ''Laos''||'''Laom''' |- | LBN || ''Lebanon''||'''Libanim''' |- | LBR || ''Liberia''||'''Libarom''' |- | LBY || ''Libya''||'''Libayum''' |- | LCA || ''Saint Lucia''||'''Licam''' |- | LIE || ''Liechtenstein''||'''Liem''' |- | LKA || ''Sri Lanka''||'''Likam''' |- | LSO || ''Lesotho''||'''Lisom''' |- | LTU || ''Lithuania''||'''Litum''' |- | LUX || ''Luxembourg''||'''Luxum''' |- | LVA || ''Latvia''||'''Livam''' |- | MAC || ''[[W:Macau|Macao]]''||'''Macam''' |- | MAF || ''Saint Martin''||'''Mafem''' |- | MAR || ''Morocco''||'''Marom''' |- | MCO || ''Monaco''||'''Micom''' |- | MDA || ''Moldova''||'''Midam''' |- | MDG || ''Madagascar''||'''Midagem''' |- | MDV || ''Maldives''||'''Midavum''' |- | MEX || ''Mexico''||'''Mexum''' |- | MHL || ''Marshall Islands''||'''Mihelim''' |- | MKD || ''Republic of Macedonia''||'''Mikidam''' |- | MLI || ''Mali''||'''Milim''' |- | MLT || ''Malta''||'''Militom''' |- | MMR || ''Myanmar''||'''Mimirom''' |- | MNE || ''Montenegro''||'''Minem''' |- | MNG || ''Mongolia''||'''Minigem''' |- | MNP || ''Northern Mariana Islands''||'''Minipom''' |- | MOZ || ''Mozambique''||'''Mozum''' |- | MRT || ''Mauritania''||'''Mirotom''' |- | MSR || ''Montserrat''||'''Misorom''' |- | MTQ || ''Martinique''||'''Mitoqom''' |- | MUS || ''Mauritius''||'''Musom''' |- | MWI || ''Malawi''||'''Miwim''' |- | MYS || ''Malaysia''||'''Miyusom''' |- | MYT || ''Mayotte''||'''Miyutom''' |- | NAM || ''Namibia''||'''Namim''' |- | NCL || ''New Caledonia''||'''Nicalim''' |- | NER || ''Niger''||'''Nerom''' |- | NFK || ''Norfolk Island''||'''Nifekim''' |- | NGA || ''Nigeria''||'''Nigam''' |- | NIC || ''Nicaragua''||'''Nicam''' |- | NOR || ''Norway''||'''Norom''' |- | NIU || ''Niue''||'''Nium''' |- | NLD || ''Netherlands''||'''Nilidam''' |- | NPL || ''Nepal''||'''Nipolim''' |- | NRU || ''Nauru''||'''Nirum''' |- | NZL || ''New Zealand''||'''Nizulim''' |- | OMN || ''Oman''||'''Ominim''' |- | PAK || ''Pakistan''||'''Pakim''' |- | PAN || ''Panama''||'''Panim''' |- | PCN || ''Pitcairn Islands''||'''Pocanim''' |- | PER || ''Peru''||'''Perom''' |- | PHL || ''Philippines''||'''Pohelim''' |- | PLW || ''Palau''||'''Poliwum''' |- | PNG || ''Papua New Guinea''||'''Ponigem''' |- | POL || ''Poland''||'''Polim''' |- | PRI || ''Puerto Rico''||'''Porim''' |- | PRK || ''North Korea''||'''Porikim''' |- | PRT || ''Portugal''||'''Porotom''' |- | PRY || ''Paraguay''||'''Poroyum''' |- | PSE || ''Palestinian territories''||'''Posem''' |- | PYF || ''French Polynesia''||'''Poyufem''' |- | QAT || ''Qatar''||'''Qatom''' |- | REU || ''Réunion''||'''Reum''' |- | ROU || ''Romania''||'''Roum''' |- | RUS || ''Russia''||'''Rusom''' |- | RWA || ''Rwanda''||'''Rowam''' |- | SAU || ''Saudi Arabia''||'''Saum''' |- | SDN || ''Sudan''||'''Sodanim''' |- | SEN || ''Senegal''||'''Senim''' |- | SGP || ''Singapore''||'''Sogepom''' |- | SGS || ''South Georgia and the South Sandwich Islands''||'''Sogesom''' |- | SHN || ''Saint Helena''||'''Sohenim''' |- | SJM || ''Svalbard and Jan Mayen''||'''Sojimim''' |- | SLB || ''Solomon Islands''||'''Solibam''' |- | SLE || ''Sierra Leone''||'''Solem''' |- | SLV || ''El Salvador''||'''Solivum''' |- | SMR || ''San Marino''||'''Somirom''' |- | SOM || ''Somalia''||'''Somim''' |- | SPM || ''Saint Pierre and Miquelon''||'''Sopomim''' |- | SRB || ''Serbia''||'''Sorobam''' |- | STP || ''São Tomé and Príncipe''||'''Sotopom''' |- | SUR || ''Suriname''||'''Surom''' |- | SVK || ''Slovakia''||'''Sovukim''' |- | SVN || ''Slovenia''||'''Sovunim''' |- | SWE || ''Sweden''||'''Sowem''' |- | SWZ || ''Swaziland''||'''Sowuzum''' |- | SYC || ''Seychelles''||'''Soyucam''' |- | SYR || ''Syria''||'''Soyurom''' |- | TCA || ''Turks and Caicos Islands''||'''Tocam''' |- | TCD || ''Chad''||'''Tocadam''' |- | TGO || ''Togo''||'''Togom''' |- | THA || ''Thailand''||'''Toham''' |- | TJK || ''Tajikistan''||'''Tojikim''' |- | TKL || ''Tokelau''||'''Tokilim''' |- | TKM || ''Turkmenistan''||'''Tokimim''' |- | TLS || ''East Timor''||'''Tolisom''' |- | TON || ''Tonga''||'''Tonim''' |- | TTO || ''Trinidad and Tobago''||'''Totom''' |- | TUN || ''Tunisia''||'''Tunim''' |- | TUR || ''Turkey''||'''Turim''' |- | TUV || ''Tuvalu''||'''Tuvum''' |- | TWN || ''Taiwan''||'''Towunim''' |- | TZA || ''Tanzania''||'''Tozam''' |- | UGA || ''Uganda''||'''Ugam''' |- | UKR || ''Ukraine''||'''Ukirom''' |- | UMI || ''United States Minor Outlying Islands''||'''Umim''' |- | URY || ''Uruguay''||'''Uroyum''' |- | USA || ''United States''||'''Usam''' |- | UZB || ''Uzbekistan''||'''Uzubam''' |- | VAT || ''Vatican City''||'''Vatom''' |- | VCT || ''Saint Vincent and the Grenadines''||'''Vucatom''' |- | VEN || ''Venezuela''||'''Venim''' |- | VGB || ''British Virgin Islands''||'''Vugebam''' |- | VIR || ''United States Virgin Islands''||'''Virom''' |- | VNM || ''Vietnam''||'''Vunimim''' |- | VUT || ''Vanuatu''||'''Vutom''' |- | WLF || ''Wallis and Futuna''||'''Wulifem''' |- | WSM || ''Samoa''||'''Wusomim''' |- | YEM || ''Yemen''||'''Yemim''' |- | ZAF || ''South Africa''||'''Zafem''' |- | ZMB || ''Zambia''||'''Zumibam''' |- | ZWE || ''Zimbabwe''||'''Zuwem''' |} : The adjective for these Mirad country names can be formed by suffixing the adjective marker '''a''', eg: ::* '''Feram'''....''France'' ==> '''Ferama'''....''French'' ::* '''Usam'''....''United States'' ==> '''Usama'''....''American'' ::* '''Deum'''....''Germany'' ==> '''Deuma'''....''German'' : The inhabitant of a country is formed by changing the final '''m''' of the placename to '''t''' (meaning person), eg: ::* '''Feram'''....''French'' ==> '''Ferat'''....''a French person, a Frenchman'' : The names of country inhabitants can be pluralized and genderized, as other animate nouns, eg: ::* '''Ferat'''....''a French person'' ==> '''ha Ferati'''....''the French'' ::* '''Etohet'''....''an Ethiopian'' ==> '''Etohwat'''....''an Ethiopian male'' ::* '''Finit'''....''a Finn'' ==> '''Finiyt'''....''a Finnish woman'' : Do not confuse the adjectival name of a country with the language: '''Ferama''' refers to the country of ''France'', not the language ''French''. ''French'' the language is '''Ferad.''' ==== Continents ==== [[File:Continental models.gif|thumb]] : The word for ''continent'' in Mirad is '''yanmel''' (= "together-soil"). The names of the continents in Mirad are formed from the word '''yanmel''' with vectorial prefixes. {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Continent Names |- ! Mirad !! English |- | '''Ayanmal''' || ''North America'' |- | '''Oyanmel''' || ''South America'' |- | '''Iyanmel''' || ''Asia'' |- | '''Uyanmel''' || ''Europe'' |- | '''Eyanmel''' || ''Africa'' |- | '''Yoyanmel''' || ''Oceania'' |} : The adjective counterparts of these placenames are derived by suffixing '''-a''': :* '''Iyanmela'''....''Asian'' :* '''Uyanmela'''....''European'' : By appending '''-t(i)''' to the adjectival names, we get the inhabitants: :* '''Eyanmelat'''....''an African'' :* '''Ayanmelati'''....''North Americans'' : Note: <div style="background: lightyellow"> :* The ''Americas'' is expressed in Mirad with the hybrid word '''Aoyanmel''' (a combination of North and South America). :* ''Central America'' is expressed in Mirad by '''Zea Aoyanmel''' (''Central America'') :* The word '''Usam''' means ''United States of America'' or ''USA''. The word ''America'' by itself is not used in Mirad; only ''North America'' or ''South America''. :* The word '''Usamati''' is used for ''Americans'' when referring to inhabitants of the U.S. :* The word '''Ayanmelati''' is used to refer to North Americans (U.S. and Canada). :* The word '''Eyanmel-Usamat''', or more briefly, '''Eusamat''' is used for ''African American''. :* ''Latin America'' is expressed as '''Liada Oyanmel'''. :* ''A Latino, Latina, or Latinx'' in the U.S. is called '''Liadwut, Liaduyt, or Liadut'''. :* In some geographic systems, '''Ausom'''....''Australia'' is considered a continent. </div> : The word for ''island'' is '''yonmel''' (= ''separate land''). An islander is '''yonmelat'''. ==== Oceans ==== : The Mirad word for ocean is '''mimag'''. The ocean names are formed by prefixing a vectorial ordinal to the word '''mimag''': {| class="wikitable" style="background:lightyellow; margn-left:1.6em; font-size:smaller;" |+ Ocean Names |- ! Mirad !! English |- | '''Amimag''' || ''Arctic Ocean'' |- | '''Omimag''' || ''Southern Ocean'' |- | '''Imimag''' || ''Pacific Ocean'' |- | '''Umimag''' || ''Atlantic Ocean'' |- | '''Emimag''' || ''Indian Ocean'' |} ==== Compass Directions and Poles ==== : The compass directions ('''merizoni''') and poles ('''mernodi''') are as follows: ::* '''zamer'''....''north'' / '''zamera'''....''northern'' / '''zamernod'''....''north pole'' ::* '''zomer'''....''south'' / '''zomera'''....''southern'' / '''zomernod'''....''south pole'' ::* '''zimer'''....''east'' / '''zimera'''....''eastern'' ::* '''zumer'''....''west'' / '''zumera'''....''western'' : The words '''Yibzamer'''....''Arctic'' and '''Yibzomer'''...''Antarctic(a)'' both use the prefix '''yib'''....''far''. : Prefixing the directions with '''iz-'''....''due-'' yields: ::* '''iz zamer'''....''due north'' ::* '''iz zomer'''....''due south'', etc. : Directional words can be hybridized, eg: ::* '''zaomera'''....''north-south'' ::* '''zuimera'''....''east-west'' ::* '''zaumera'''....''north-west'' ::* '''zaimera'''....''north-east'' ==== Earth Grid Lines ==== : The earth grid lines ('''mernadi''') are as follows: ::* '''zamernad'''....''Arctic Circle'' ::* '''zomernad'''....''Antarctic Circle'' ::* '''zaomernad'''....''longitude'' ::* '''zuimernad'''....''latitude'' ::* '''zemernad'''....''equator'' :::* '''abzemernad'''....''Tropic of Capricorn'' :::* '''obzemernad'''....''tropic, Tropic of Cancer'' ::::* '''yizobzemernad'''....''subtropic'' ::* '''eymernad'''....''meridian'' ::* '''mamnad'''....''horizon'' ::* '''aonada'''....''vertical'' ::* '''uinada'''....''horizontal'' ::* '''zyenada'''....''perpendicular'' ==== Languages of the World ==== [[File:Wiktionary-logo.svg|thumb|]] : Mirad names of languages are based on either: ::* the name of the country most associated with the language (English < England, French < France), or: ::* the ISO 639-2 alpha-3 three-letter code. (See [[https://www.loc.gov/standards/iso639-2/php/code_list.php|Library of Congress ISO639-2 Codes]]. : If formed from the country name, the language name is acquired by replacing the final '''m''' or the country name with '''d'''. For example, '''Enigem''' (''England''), becomes '''Eniged''' (''English''). See [[Mirad_Grammar#Countries of the World|Countries of the World]]. : If formed from the ISO 639-2 code, because their is no particular country associated with the language, the letters of the code are replaced with the Mirad lowercase alphabetic spells. The initial letter is capitalized and '''d''' is suffixed to the word. A Mirad alphabetic spell in the shape of consonant+vowel loses its vowel before a spell consisting of just a vowel. For example, '''ba''' + '''e''' becomes '''be'''. :{| class="wikitable sortable" style="background:lightyellow; font-size:smaller;" |+ Mirad Language Names |- ! ISO Language Name !! Country or ISO Code !! Mirad Language Name |- | Abkhazian || abk || '''Abakid''' |- | Afar || aar || '''Aarod''' |- | Afrikaans || '''Zafem'''....''South Africa'' || '''Zafed''' |- | Akan || aka || '''Akad''' (< a + ki + a +d, where ki + a = ka) |- | Albanian || '''Alibam'''....''Albania'' || '''Alibad''' |- | Amharic || amh || '''Amihed''' |- | Arabic || ara || '''Arad''' |- | Aragonese || arg || '''Aroged''' |- | Armenian || '''Aromim''' || '''Heyud''' |- | Assamese || asm || '''Asomid''' |- | Avaric || ava || '''Avad''' |- | Avestan || ave || '''Aved''' |- | Aymara || aym || '''Ayumid''' |- | Azerbaijani || '''Azem'''....''Azerbaijan'' || '''Azed''' |- | Bambara || bam || '''Bamid''' |- | Bashkir || bak || '''Bakirod''' |- | Basque || baq || '''Baqod''' |- | Belarusian || '''Balirom'''....''Belarusia'' || '''Balirod''' |- | Bengali || '''Bagedim'''....''Bangladesh'' || '''Bagedid''' |- | Bislama || bis || '''Bisod''' |- | Bosnian || '''Bihem'''....''Bosnia'' || '''Bihed''' |- | Breton || bre || '''Bared''' |- | Bulgarian || '''Bagerom'''....''Bulgaria'' || '''Bagerod''' |- | Burmese || '''Mimirom'''....''Miyanmar'' || '''Mimirod''' |} ...and so on... : The language names can be adjectivized by suffixing '''-a''', eg: ::* '''Eniged'''....''(the) English (language)'' ==> '''Enigeda'''....''(in the) English (language)'' ::* '''Hia Enigeda dreun se testiyofwa.'''....''This English language document is incomprehensible.'' : The language names can be verbalized with the addition of '''-der'''....''to say'', '''-daler'''....''to speak'', and '''-xer'''....''to translate into'', eg: ::* '''Ferad'''....''French'' ==> '''Ferader'''....''to say in French'' ::* '''Esopod'''....''Spanish'' ==> '''Esopodaler'''....''to speak Spanish'' ::* '''Arad'''....''Arabic'' ==> '''Aradxer'''....''to Arabicize/translate into Arabic'' ::* '''Ferad bayse gla Enigedxwasi.'''....''French has many Anglicizations.'' : The speaker of a language is created by adding '''-ut''' or '''-alut''', eg: ::* '''Eniged'''....''English'' ==> '''Enigedut (or) Enigedalut'''....''English speaker'' ::* '''Duven et Enigedale?'''....''Do you speak English?'' ::* '''Aradu hia dun.'''....''Say this word in Arabic.'' ::* '''At se Itadut/Itadalut.'''....''I am a speaker of Italian.'' : Specialized forms, dialects, levels, and regional variants of languages are expressed as follows: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Language Variants |- ! Variation Category !! Example |- | '''Ajna'''....''Old/Ancient'' || '''Ajna Eniged'''....''Old English, Anglo-Saxon'' |- | '''Ejoba'''....''Modern'' || '''Ejoba Perod'''....''Modern Persian, Farsi'' |- | '''Visauna'''....''Classical'' || '''Visauna Gerocad'''....''Classical Greek'' |- | '''Vyirina'''....''Puristic'' || '''Vyirina Gerocad'''....''Katharevousa (Puristic Greek)'' |- | '''Tyoda'''....''Vulgar/Popular/Demotic'' || '''Tyoda Latod'''....''Vulgar Latin''<br>'''Tyoda Gerocad'''....''Demotic Greek'' |- | '''Fyaxela'''....''Liturgical'' || '''Fyaxela Hebad'''....''Liturgical Hebrew'' |- | '''Fyadyesa'''....''Biblical'' || '''Fyadyesa Hebad'''....''Biblical Hebrew'' |- | '''Egona'''....''Standard'' || '''Ejoba Egona Arad'''....''Modern Standard Arabic'' |- | '''Egema'''....''Egyptian'' || '''Egema Arad'''....''Egyptian Arabic'' |- | '''Usoma'''....''American'' || '''Usoma Eniged'''....''American English'' |} : There are some languages with no ISO code that have to be formed in another way, in particular, Mirad itself. ::* '''Mirad'''....''Mirad'' ('''Mir'''....''world'') ::* '''Meurad'''....''Martian'' ('''Meur'''...''Mars'') ::* ''Celtic'', which is the name of a family of languages, is represented by the ISO code "cel" and is therefore called '''Celid''' in Mirad. ::* ''Indo-European'', with the code "ine", translates to '''Inied''' in Mirad. ==== Cities and Their Residents ==== : Here are some key cities, their adjectival forms, and inhabitants. The adjective can end in '''-a''' or '''-yena'''. :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Cities and Their Residents |- ! City !! Adjective !! Inhabitant |- | '''Paris'''....''Paris'' || '''Paris<u>yena</u>'''....''Parisian'' || '''Paris<u>at</u>'''....''Parisian'' |- | '''Ejna York'''....''New York'' || '''Ejna York<u>a</u>'''....''of New York'' || '''Ejna York<u>at</u>'''....''New Yorker'' |- | '''Rom'''....''Rome'' || '''Rom<u>a</u>'''....''Roman'' || '''Rom<u>at</u>'''....''Roman'' |- | '''Beijing'''....''Beijing'' || '''Beijing<u>a</u>'''....''of Beijing'' || '''Beijing<u>at</u>'''....''resident of Beijing'' |- | '''Berlin'''....''Berlin'' || '''Berlin<u>a</u>'''....''from Berlin'' || '''Berlin<u>at</u>'''....''Berliner'' |} : Examples: :* '''Berlina diti dyunwe Berlinati.'''....''Berlin citizens are called Berliners.'' :* '''Bostonati bayse Bostonyena deus.'''....''Bostonians have a Bostonian accent.'' === Playing Cards Notation === : The playing card suits and prime denominations are: ::{| class="wikitable" style="background:lightyellow; font-size:smaller" |+ Playing Card Suits |- ! Mirad !! English !! Image |- | '''tiib''' || ''heart''|| <big>{{cards|h}}</big> |- | '''melukar''' || ''spade''|| <big>{{cards|s}}</big> |- | '''amez''' || ''diamond''|| <big>{{cards|d}}</big> |- | '''infayeb''' || ''club''|| <big>{{cards|c}}</big> |} ::{| class="wikitable" style="background: lightyellow; font-size:smaller" |+ High Cards plus the Joker |- ! Mirad !! English !! Image |- | '''Az bi tiibi''' || ''ace of hearts''||[[File:Simple_h_a.svg|40px|thumb]] |- | '''Edweb bi melukari'''||''king of spades''||[[File:Simple_s_k.svg|40px|thumb]] |- | '''Edeyb bi amezi'''||''queen of diamonds''||[[File:Simple_d_q.svg|40px|thumb]] |- | '''Yuxtwobet bi infayebi''' || ''jack of clubs''||[[File:Simple_c_j.svg|40px|thumb]] |- | '''hihiduut''' || ''joker''|| [[File:Simple_jk_b.svg|40px|thumb]] |} : Some useful terms: ::* '''eker drafi'''....''to play cards'' ::* '''zyabuer ha drafi'''....''to deal the card'' ::* '''ebnapxer ha drafi'''....''to shuffle the cards'' ::* '''goler ha nyan'''....''to cut the deck'' ::* '''ujber'''....''to fold'' ::* '''durer'''....''to bid'' ::* '''lokoxer draf'''....''to turn over a card'' ::* '''lokoxer ota tuyab'''....''to show one's hand'' ::* '''abnabxer'''....''to trump'' ::* '''ekdrafnyan'''....''deck of cards'' ::* '''nab'''....''suit'' ::* '''joper nab'''...''to follow suit'' ::* '''kyesdraft'''....''wild card'' ::* '''abnaba draf'''....''trump card'' ::* '''ha yannas'''....''the pot'' ::* '''ha nax'''....''the ante'' ::* '''yaber ha nax'''....''to up/raise the ante'' === Chess Piece Nomenclature === {{chess diagram | tright | |= 8 |rd|nd|bd|qd|kd|bd|nd|rd|= 7 |pd|pd|pd|pd| |pd|pd|pd|= 6 | | | | | | | | |= 5 | | | | |pd| | | |= 4 | | | | |pl|pl| | |= 3 | | | | | | | | |= 2 |pl|pl|pl|pl| | |pl|pl|= 1 |rl|nl|bl|ql|kl|bl|nl|rl|= a b c d e f g h | The King's Gambit }} : The game of chess is called '''xahifek''' in Mirad. : The chess pieces ('''xahifek goyni''') are as follows: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Chess Piece Names |- ! Mirad !! English !! Image |- | '''edweb''' || ''king'' || [[File:Chess_klt45.svg|thumb|30px]] |- | '''edeyb''' || ''queen'' || [[File:Chess_qlt45.svg|30px|thumb]] |- | '''efyaxeb''' || ''bishop'' || [[File:Chess_blt45.svg|30px|thumb]] |- | '''apetaput''' || ''knight'' || [[File:Chess_nlt45.svg|30px|thumb]] |- | '''tamaz''' || ''rook'' || [[File:Chess_rlt45.svg|30px|thumb]] |- | '''melyexut''' || ''pawn'' || [[File:Chess_plt45.svg|30px|thumb]] |} : Some chess terms: ::* ''to checkmate''....'''xahtojber''' ::* ''Check!''....''Xah!'' ::* ''Checkmate!''....'''xahtoj!''' ::* ''chess board''....'''xahifek seym, xahifek drof''' ::* ''to move a piece''....'''paxer goun''' ::* ''to capture a piece''....'''pixler goun''' ::* ''chess clock''....'''xahifek jwobar''' ::* ''chess set''....''xahifek gounyan'' ::* ''chess tournament''....'''xahifekanyan''' ::* ''chess player''....'''xehifekut''' ::* ''my turn''....'''ata nayb''' ::* ''score''....'''aoksag''' ::* ''world champion''....'''miraklut''' === Botanical Nomenclature === : The plant world is a mighty big place and the names of all those flowers, fruits, vegetables, plants, etc. are very difficult to put into a rational naming scheme any better that the existing one using Latin appelations classified into phyla, classes, orders, families, genera, and species. This botanical world in Mirad, much like the system for coding the zoological world, is coded by a system of syllables that relate to the [https://rationalwiki.org/wiki/Linnaean_taxonomy|international Linnaean taxonomy]. ==== Base Names ==== : So, in Mirad, botanical organism names have at their base the following words: ::* '''fab'''....trees :::* '''feb'''....''fruits and nuts'' ::* '''fayb'''....''vines and shrubs'' :::* '''feyb'''....''berries'' ::* '''vob'''....''crops'' ::* '''vol'''....''vegetables'' ::* '''veel'''....''legumes and beans'' ::* '''vos'''....''flowers'' ==== Specific Names ==== : To create more specific names, syllables derived from the Greco-Latin Linnaean Taxonomy, spelled to conform to Mirad pronuncation, are prefixed left-to-right onto one of the above base categories, with the left-most syllable representing the most specific taxon. So, for example, ''pine'' tree is rendered as '''pifab'''. The '''pi''' prefix is the first syllable of the family of pine trees ''<u>Pi</u>naceae''. The '''fab''' ending applies to all trees. To specify other trees in this family, other syllables are prepended, eg. ''cedar tree'' is '''<u>ce</u>pifab''' from ''Pianaceae <u>Ce</u>drus''. A ''cedar of Lebanon'' is '''<u>li</u>cepifab''' from the more specific ''Pinaceae Cedrus <u>li</u>bani''. : By constructing botanical terms this way, all pine trees can be listed by searching for all names ending in '''pifab'''. [[File:171 Magnolien.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ '''Basic Botanical Terms''' |- |valign=top|'''fob'''....''plant''||valign=top|'''vob'''....''crop''||valign=top|'''vol'''....''vegetable''||valign=top|'''vos'''....''flower'' |- |valign=top|'''fab'''....''tree''<br>'''fayeb'''....''leaf''<br>'''faob'''....''wood''<br>'''fayob'''....''bark''||valign=top|'''vab'''....''grass''<br>'''vayob'''....''peel''|| ||'''vosayeb'''....''petal''<br>'''vosayob'''....''sepal'' |- |valign=top|'''feb'''....''fruit/nut''||valign=top|'''veb'''....''ear/tuft''<br>'''veeb'''....''seed''<br>'''veeyb'''....''grain''||valign=top|'''veel'''....''legume''||'''voseb'''....''capitulum'' |- |valign=top|'''fib'''....''trunk''||valign=top|'''vib'''....''stem'' || || '''vosib'''....''receptacle'' |- |valign=top|'''fub'''....''branch''||valign=top|'''vub'''....''blade''<br>'''vulob'''....''thorn'' || || |- |valign=top|'''fyob'''....''root''||valign=top|'''vyob'''....''tuber'' || || '''vosyob'''....''peduncle'' |} ===== Product Names ===== : Products derived from plants are formed with the following words: ::* '''-fel'''....''juice (from a pome)'' ::* '''-feel'''....''-ade'' ::* '''-feyl'''....''juice (from a berry)'' ::* '''-fil'''....''alcoholic drink/cider'' ::* '''-fyel'''....''oil/jam/syrup'' ::* '''-fyeyl'''....''jelly'' ::* '''-fol'''....''grounds/powder'' ::* '''-fayel'''....''leaf juice'' : Individual derivations of these base words are formed exactly as the names of animals in the section [[Mirad_Grammar#Zoological_Nomenclature|Zoological Nomenclature]]. For example, an ''apple'' is from the <u>Ro</u>saceae family of trees, the genus being ''<u>Ma</u>lus''. So the word for ''apple'' becomes '''marofeb'''. ''Apple tree'' is '''marofab''' and ''apple juice'' is '''marofel'''. Thus, ''apple cider'' is '''marofil'''. ===== Crops ===== : Crops are grassy plants that humans cultivate for clothing, food, medicine, or other social needs. Individual crop names are formed by prefixing the base '''vob''' with taxonomic syllables. [[File:Usdaemmer1.jpg|thumb|]] : The base words of this group are: ::* '''-vob'''....''crop'' ::* '''-vab'''....''grass'' ::* '''-vayeb'''....''leaf'' ::* '''-veb'''....''ear, cob, head, spike, tuft'' ::* '''-veeb'''....''seed, germ'' ::* '''-veel'''....''bean, legume'' ::* '''-veeyb'''....''grain, kernel, pip'' ::* '''-vib'''....''stem'' ::* '''-vub'''....''blade, sprig, twig'' ::* '''-vyob'''....''tuber'' ::* '''-vel'''....''edible product'' ::* '''-vil'''....''drinkable product, beer'' ::* '''-vyel'''....''syrup'' ::* '''-vol'''....''vegetable'' : From the above base words are derived these products, among others: ::* '''sakol'''....''sugar'' < '''sakvob'''....''sugarcane'' ::* '''povel'''....''bread'' < '''povob'''....''cereal'' ::* '''zepovyel'''....''corn syrup, corn oil'' < '''zepovob'''....''corn'' ::* '''zepovil'''....''whiskey, bourbon'' ::* '''sepovil'''....''rye whiskey'' < '''zepovob'''....''rye'' ::* '''povil'''....''beer'' ::* '''epovil'''....''ale'' ::* '''avpovob mekil'''....''oatmeal'' < '''avpovob'''....''oat'' ::* '''orpovob zyiglal'''....''rice cake'' < '''orpovob'''....''rice'' ::* '''mekuvol'''....''melon'' ===== Vegetables and Legumes ===== : Vegetables are crops grown by human for food. Individual vegetable names are formed by prefixing the base '''vol''' (''vegetable'') or '''veel''' (''legume, bean'') with classifier syllables derived from the international Linnean Taxonomy. Vegetables can consist of bulbs, flowers, fruits, fungi, leaves, roots, seeds, legumes, beans, or stalks. [[File:Hrushikesh kulkarni vegetables.JPG|thumb|]] {| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Vegetables |- ! Edible Crop !! Taxonomy |- ! colspan=2| LEGUMES: EDIBLE SEEDS |- |'''faveel'''....''bean'' || ''Fabaceae Phaseolus vulgaris'' |- |'''lensfaveel'''....''lentil'' || ''Fabaceae Lens culinaris'' |- |'''glifaveel'''....''soybeen'' || ''Fabaceae Glycine max'' |- |'''vigfaveel'''....''black-eyed pea'' || ''Fabaceae Faseolus vigna unguiculata'' |- ! colspan=2 | Vegetables: Berries/Fruits |- |'''lisovol'''....''tomato'' || ''Solanaceae Solanum lycopersicum'' |- |'''mesovol'''....''eggplant'' || ''Solanaceae Solanum melongena'' |- |'''perlawvol'''....''avocado'' || ''Lauraceae Persea americana'' |- |'''sakuvol'''....''cucumber'' || ''Cucurbitaceae Cucumis sativus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''akapsovol'''....''chili pepper'' || ''Solanaceae Capsicum annuum'' |- |'''abmalvol'''....''okra'' || ''Malvaceae Abelmoschus esculentus'' |- ! colspan=2 |bulbs |- |'''amalvol'''....''leek'' || ''Allium ampeloprasum'' |- |'''cepalvol'''....''onion'' || ''Allium cepa'' |- |'''alkalvol'''....''shallot'' || ''Alium ascalonicum'' |- |'''satalvol'''....''garlic'' || ''Allium sativum'' |- |'''zinvol'''....''ginger'' || ''Zingiberaceae Zingiber officinale'' |- |'''skoynalvol'''....''chive'' || ''Allium Schoenoprasum'' |- |'''foynapvol'''....''fennel'' || ''Apiaceae Phoenix dactylifera'' |- ! colspan=2 | melons/gourds |- |'''kuvol'''....''squash, gourd''|| ''Cucurbitaceae Cucurbita'' |- |'''makuvol'''....''pumpkin'' || ''Cucurbitaceae Cucurbita maxima'' |- |'''mekuvol'''....''melon, honeydew, cantaloupe'' || ''Cucurbitaceae Cucumis melon'' |- |'''cikuvol'''....''watermelon'' || ''Cucurbitaceae Citrullus lanatus'' |- |'''pekuvol'''....''zucchini'' || ''Cucurbitaceae Cucurbita pepo'' |- ! colspan=2 | Tubers/Root Vegetables |- |'''tusovol'''....''potato'' || ''Solanaceae Solanum tuberosum'' |- |'''betamvol'''....''beet, beetroot'' || ''Amaranthaceae Beta vulgaris'' |- |'''rafbravol'''....''radish''|| ''Brassicaceae Raphanus raphanistrum sativus'' |- |'''kadawapvol'''....''carrot''||''Apiaceae Daucus carota'' |- |'''nabravol'''....''turnip''|| ''Brassica napus'' |- |'''cinasvol'''....''artichoke'' || ''Asteraceae Cynara cardunculus'' |- |'''pasavol'''....''parsnip'' ||''Apiaceae Pastinaca sativa'' |- |'''eskolaravol'''....''taro'' ||''Araceae Colocasia esculenta'' |- |'''divol'''....''yam'' ||''Dioscoreaceae Dioscorea'' |- ! colspan=2| Leafy/Flowering Vegetables |- |'''bravol'''....''cabbage'' || ''Brassicaceae'' |- |'''botrolbravol'''....''cauliflower''||''Brassica oleracea botrytis'' |- |'''gemolbravol'''....''Brussels sprouts''|| ''Brassica oleracea gemmifera'' |- |'''valkavol'''....''corn salad, lamb's lettuce''|| ''Caprifocilaceae Valerianella locusta'' |- |'''lakasvol'''....''lettuce''|| ''Asteraceae Lactuta sative'' |- |'''spinamvol'''....''spinach'' || ''Amaranthaceae Spinancia oleracea'' |- |'''rupolivol'''....''sorrel''|| ''Polygonaceae Rumex acetosa'' |- |'''tarasvol'''....''mustard greens''|| ''Asteraceae Taraxacum officinale'' |- |'''itolbravol'''....''broccoli''|| ''Brassica Oleracea italica'' |- |'''abmalvol'''....''okra''|| ''Malvaceae Abelmoschus esculentus'' |- |'''petapvol'''....''parsley''|| ''Apiaceae Petroselinum crispum'' |- |'''basoclamvol'''....''basil''|| ''Lamiaceae Ocimum basilicum'' |- |'''orlamvol'''....''thyme''|| ''Lamiaceae Origanum vulgare'' |- |'''encivol'''....''chicory, endive''|| ''Cichorium endivia'' |- |'''nasbravol'''....''watercress''|| ''Brassicaceae Nasturtium officinale'' |- |'''korapvol'''....''coriander''|| ''Apiaceae Coridandrum sativum'' |- ! colspan=2 | Stalks |- |'''aspavol'''....''asparagus''|| ''Asparagaceae Asparagus officinalis'' |- |'''gravapvol'''....''celery''|| ''Apiaceae Apium graveolens'' |- |'''rewmpolivol'''....''rhubarb''|| ''Polygonaceae Rheum hybridum'' |- |'''kurzinvol'''....''turmeric''|| ''Zingiberaceae Curcuma longa'' |- |'''kokarvol'''....''heart of palm, swamp cabbage''|| ''Arecaceae Cocos'' |- |'''cimpovol'''....''lemongrass''|| ''Poaceae Cymbopogon'' |} ==== Common Flower Names ==== [[File:Madeira-flowers hg.jpg|thumb|]] ===== Flower Parts ===== : Flower names are built on the base name '''vos''', meaning ''flower''. First, here is a list of flower parts: ::* '''vosayob'''....''sepal'' ::* '''vosayeb'''....''petal'' ::* '''vosib'''....''receptacle'' ::* '''veeybpexus'''....''stigma'' ::*'''vosij'''....''bud, flower bud'' ::* '''tooygon'''....''pistil'' ::* '''veeybyan'''....''pollen'' ::* '''twoogon'''....''stamen'' ::* '''twoogonyif'''....''filament'' ::* '''veeybyem'''....''anther'' ::* '''vosyob'''....''peduncle'' ===== Flower Names ===== [[File:Tulipa suaveolens floriade to Canberra.jpg|thumb|]] : Common flower names are generated by prefixing classifying syllables to the base '''vos''' that reflect the Linnaean taxonomic specification. Here are some examples: : '''<u>som</u>pavos'''....''opium poppy'' (''<u>Pa</u>paver <u>som</u>niferum'') : '''<u>mag</u>vos'''....''magnolia'' (''<u>Mag</u>noliaceae Magnolia'') : '''<u>or</u>vos'''....''orchid'' (''<u>Or</u>chidaceae Orchis'') : '''<u>krokir</u>vos'''....''crocus'' (''<u>Ir</u>idaceae <u>Cro</u>cus'') : For a fuller list, see the section [[Mirad_Grammar#Flower_Words|Flower Words]]. === Computer Terminology === [[File:Generic-office-desktop2.svg|thumb]] : This section will be ever-changing as new technology emerges. {| class="wikitable sortable collapsable" style="background: lightyellow; font-size:smaller;" |+ Computerese |- ! Mirad !! English |- |'''agna saibyan syaagir'''||''mainframe computer'' |- |'''absem syaagir'''||''desktop computer'' |- |'''agbanak'''||''byte'' |- |'''ajnexer'''||''to archive'' |- |'''amloagbanak'''||''megabyte'' |- |'''anay dyewa tax'''||''read-only memory, ROM'' |- |'''aota syaagir'''||''personal computer'' |- |'''aottuunyan'''||''profile'' |- |'''aoyebmeyp'''||''port'' |- |'''apaxler'''||''to swipe'' |- |'''aroagbanak'''||''kilobyte'' |- |'''baler buxnuf'''||''to press/hit a key'' |- |'''banak'''||''bit'' |- |'''agdresin kyoxea buxnuf'''||''caps lock key'' |- |'''buxnuf'''||''key'' |- |'''buxnufsemes'''||''keyboard'' |- |'''buxnufseym'''||''keypad'' |- |'''izeaxus'''||''cursor'' |- |'''byuxseym'''||''touchpad'' |- |'''datier'''||''to friend'' |- |'''dodrer ebdras'''||''to post a message'' |- |'''dota zeyn'''||''social medium'' |- |'''ebdrer'''||''to text'' |- |'''dreun'''||''document'' |- |'''dreuzyufer'''||''to scroll, pan'' |- |'''droer naab'''||''to delete a file'' |- |'''drou buxnuf'''||''delete key'' |- |'''drur'''||''printer'' |- |'''drurer naab'''||''to print out a file'' |- |'''drurer'''||''to print out'' |- |'''druru buxnuf'''||''print screen key'' |- |'''drurun'''||''a printout'' |- |'''dunexlar'''||''word processor'' |- |'''dyezier'''||''to take a movie'' |- |'''ebdayler'''||''to chat'' |- |'''ebdaylim'''||''chatroom'' |- |'''emojin'''||''emoji'' |- |'''ex buxnuf'''||''function key'' |- |'''exen vyaab'''||''operating system'' |- |'''extuundras'''||''program, application'' |- |'''extuundrasog'''||''app'' |- |'''extuundrasyan'''||''software'' |- |'''extuundrer'''||''to program'' |- |'''fuk'''||''bug'' |- |'''fukaya'''||''buggy'' |- |'''fukoyxer'''||''to debug'' |- |'''garalyoagbanak'''||''petabyte'' |- |'''gelxer naab'''||''to copy a file'' |- |'''googler'''||''to google'' |- |'''gyia kyos yebiar'''||''solid state drive, SSD'' |- |'''gyia zyiun yebiar'''||''cd drive'' |- |'''haydren dyun'''||''login name'' |- |'''haydrer bay tuyubbal'''||''to log in with one's fingerprint'' |- |'''haydrer'''||''to log in'' |- |'''hoydrer'''||''to log out'' |- |'''huisteaxar'''||''browser'' |- |'''kyeteaxer'''||''to browse'' |- |'''hyux buxnuf'''||''alt key'' |- |'''iber naab'''||''to receive a file'' |- |'''ila mez sinuar, IMS'''||''liquid crystal display, LDC'' |- |'''izbex buxnuf'''||''control key'' |- |'''izbexdrof'''||''motherboard'' |- |'''kliker ab'''||''click on'' |- |'''kodun'''||''password'' |- |'''gawdyunxer naab'''||''to rename a file'' |- |'''kyax buxnuf'''||''shift key'' |- |'''kyea yempuen tax'''||''random access memory, RAM'' |- |'''kyisier naab'''||''to download a file'' |- |'''kyisuer naab'''||''to upload a file'' |- |'''kyiunxar'''||''charger'' |- |'''kyiunxer'''||''to charge'' |- |'''lodatier'''||''to unfriend'' |- |'''makebdren'''||''email'' |- |'''makedrer'''||''to email'' |- |'''man-oyebubea enmep sinuar, MOES'''||''LED'' |- |'''mansin dyes'''||''photo album'' |- |'''mis'''||''window'' |- |'''naab'''||''file'' |- |'''naedzyun'''||''trackball'' |- |'''nagonxar'''||''modem'' |- |'''neaf mansiniar'''||''web camera'' |- |'''nexer naab'''||''to save a file'' |- |'''num yibdalir'''||''cellphone'' |- |'''belyafwa syaagir'''||''laptop computer'' |- |'''oglagos'''||''microchip'' |- |'''gwoteexar'''||''microphone'' |- |'''omijber'''||''to boot up'' |- |'''omola tyep'''||''artificial intelligence, AI'' |- |'''gawomijber'''||''to reboot'' |- |'''paxer naab'''||''to move a file'' |- |'''paxyafwa yibdalir'''||''mobile phone'' |- |'''poxu zyumuf buxnuf'''||''scroll lock key'' |- |'''sagbexu buxnuf'''||''numlock key'' |- |'''sagseym'''||''number pad'' |- |'''sam'''||''console'' |- |'''saunapxer naab'''||''to sort a file'' |- |'''semes syaagir'''||''tablet computer'' |- |'''sindren semes'''||''graphics tablet'' |- |'''sindrenyan exlen aun'''||''graphics processing unit, GPU'' |- |'''sines'''||''icon'' |- |'''sinuar'''||''screen, display, monitor'' |- |'''syaager'''||''to compute'' |- |'''syaagir'''||''computer'' |- |'''syaagirdal'''||''computerese'' |- |'''syaagirtun'''||''computer science'' |- |'''syaagnyed'''||''spreadsheet'' |- |'''taam mays'''||''home screen'' |- |'''tampu buxnuf'''||''home key'' |- |'''sirmul'''||''hardware, physical matter'' |- |'''taxdrer'''||''to record'' |- |'''taxmuf'''||''memory stick'' |- |'''teataxdrer'''||''to video'' |- |'''teataxdrun'''||''video'' |- |'''tuunnabyan'''||''database'' |- |'''tuyab izdar'''||''mouse'' |- |'''uber naab'''||''to send a file'' |- |'''uinig buxnuf'''||''tab key'' |- |'''utmansin'''||''selfie'' |- |'''yaybdreniv sindren dalzeyn (YSD)'''||''HTML'' |- |'''yeber'''||''to enter, insert'' |- |'''yebu buxnuf'''||''enter key, return key, insert key'' |- |'''yiga zyiun yebiar'''||''hard disk drive, HDD'' |- |'''yijber naab'''||''to open a file'' |- |'''yujber naab'''||''to close a file'' |- |'''makmepdrof'''||''circuitboard'' |- |'''zea exlen aun'''||''central processing unit, CPU'' |- |'''zoynigxu buxnuf'''||''backspace key'' |- |'''zyiun yebiar'''||''disk drive'' |} === Medical and Pharmaceutical Terminology === : This is a vast field where the limited morpheme aggregate of Mirad cannot serve to translate all the technical vocabulary. It will, therefore, translate only very common words and leave the rest in Greco-Latin as do many natural languages. ==== Medical Diseases ==== : Some common medical conditions can be readily be translated in Mirad using its existing set of morphemes, eg. ::* '''tiebalyoganbok'''....''asthma'' (lit: shortness of breath illness) ::* '''tiebbok'''....''pneumonia'' (lit: lung illness) ::* '''teibbok'''....''rhinitis'' (lit: nose illness) ::* '''tayibblok'''....''neuropathy'' (lit: nerve suffering) ::* '''tebbyoyk'''....''headache'' (lit: head ache) ::* '''teibzyegikanbok'''....''osteoporosis'' (lit: bone porosity illness) ==== Pharmaceuticals ==== : Medicines can be referred to by their trade names, some of which have been genericized. ::* '''aspirin'''....''aspirin'' ::* '''Ibupropen'''....''Ibupropen'' : Others can be translated by words indicating the purpose: ::* '''bukpoyxol, bukkyuxlol'''....''analgesic, painkiller'' (Lit: pain reliever) ::* '''tikebilokxol'''....''emetic'' (Lit: vomit-inducing-substance) : Less common drugs, and any drugs for that matter, can be referred to by the official International Nonproprietary Name (INN) (see [https://www.who.int/teams/health-product-and-policy-standards/inn|International Nonproprietary Names]). For example, ''phenobarbital''. In case a Greco-Roman name is used, the following pronunciation guide applies to Mirad: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ INN names pronunciation |- ! Greco-Roman<br>Spelling !! Mirad<br>Pronunciation |- | ch || '''k''' |- | ph || '''f''' |- | x || '''ks''' |- | y || '''i''' |- | qu || '''kw''' |- | rh || '''r''' |- | th || '''t''' |- | ae || '''ay''' |- | oe || '''oy''' |- | c before i, e, or y || '''c''' |- | c otherwise || '''k''' |- | final e || silent |- | double consonant || single consonant |} : Examples: ::* '''acetaminophen'''....''a-ce-ta-mi-no-FEN'' ::* '''amphetamine'''....''am-fe-ta-MIN'' ::* '''trimethroprim'''....''tri-me-tro-PRIM'' ::* '''sulfamethoxazole'''....''sul-fa-me-to-ksa-ZOL'' ::* '''oxacillin'''....''o-ksa-ci-LIN'' === Mineral and Crystal Nomenclature === : Minerals end in '''-muk''' with a prefix related to the official 3-letter International Mineorological Association (IMA) symbol name (see [[Wikipedia:List_of_mineral_symbols|The Wikipedia List of Mineral Symbols]]). The IMA name is substituted with lower-case Mirad alphabetic spellings. For example: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Some Mineral Names |- ! English!! IMA Symbol !! Mirad Spellings !! Mirad Name |- | ''argyrodyte'' || Agy || '''a-ge-yu''' || '''ageyumuk''' |- |''brochantyte'' || Bct || '''ba-ca-to''' || '''bacatomuk''' |- |''chromite'' || Chr || '''ca-he-ro''' || '''caheromuk''' |} : There are some minerals having an IMA with a hyphenated suffix of one or two letters. In that case, the extra letters are added to the name (without the hyphen), eg.: ::* ''Lemmleinite-K'' (Lem-k) is '''liemikomuk''' in Mirad. : Crystals end in '''-mez'''. The first part of the word is an enumeration. : The common crystals are listed here: :{| class="wikitable" style="background: lightyellow; font-size:smaller;" |+ Names of Common Crystals |- ! Mirad !! English |- | '''mez''' || ''crystal'' |- | '''amez''' || ''diamond'' |- | '''emez''' || ''topaz'' |- | '''imez''' || ''ruby'' |- | '''umez''' || ''emerald'' |- | '''yomez''' || ''sapphire'' |- | '''yamez''' || ''lapis lazuli'' |- | '''yemez''' || ''amethyst'' |- | '''yimez''' || ''amber'' |- | '''yumez''' || ''quartz'' |- | '''alomez''' || ''opal'' |- | '''alamez''' || ''tourmaline'' |- | '''alemez''' || ''garnet'' |- | '''alimez''' || ''zirconia'' |- | '''alumez''' || ''jasper'' |- | '''alyomez''' || ''jade'' |- | '''alyamez''' || ''marganite'' |} : Other, less common crystals end in '''-mez''' and are formed from the Wikipedia list of mineral symbols. : General words for earthen matter: :* '''muk'''....''mineral'' :* '''muz'''....''ore'' :* '''mug'''....''metal'' :* '''mez'''....''crystal'' :* '''meg'''....''rock, stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' :* '''mel'''....''soil'' :* '''meil'''....''mud'' :* '''mek'''....''dust'' :* '''miek'''....''sand'' :* '''mev'''....''porcelain'' :* '''mef'''....''brick'' ==== Rock Classification ==== : The naming of individual rock types is based on the [[https://www.bgs.ac.uk/download/bgs-rock-classification-scheme-igneous/| BGS Rock Classification Scheme ]]. : All rocks (other than the general word for ''rock'', '''meg''') end in one of the following suffixes, depending on the main type: ::* '''ameg'''....''sedimentary rock'' ::* '''emeg'''....''igneous rock'' ::* '''imag'''....''metamorphic rock'' : The names for obscure rocks are taken from the BGS Rock Classification Scheme. The final ''e'' is dropped from names that end in ''yte'' or ''ite''. For example, ''trachydacite'' in the scheme becomes '''trachydacit''' in Mirad. This word is then followed by one of the rock types above ('''emeg''' ''igneous rock''). So ''trachydacite'' becomes '''trachydacitemeg''' in Mirad. For obvious reason, all the thousands of rock names cannot be listed here or included in the Mirad dictionary. :The word '''meg''' ''rock'' has some common derivatives: ::* '''megag'''....''boulder'' ::* '''meg'''....''stone'' ::* '''megog'''....''pebble'' ::* '''meges'''....''gravel'' ::* '''megyel'''....''cement, asphalt, bitumen'' :::* '''megyelyig'''....''concrete'' ::* '''megil'''....''lava'' ::* '''meggos'''....''crag'' ::* '''megyig'''....''flintstone, basalt'' ::* '''meag'''....''marble'' ::* '''meeg'''....''slate'' ::* '''meig'''....''granite'' ::* '''meug'''....''clay, dough'' ::* '''meyog'''....''china'' ::* '''meyag'''....''chalk'' :::* '''meyaz'''....''pastel'' :::* '''meyayg'''....''calcite'' ::* '''meyeg'''....''limestone, sediment'' ::* '''meyig'''....''alabaster'' ::* '''meyug'''....''gypsum'' ::* '''mealog'''....''sandstone, stoneware'' ::* '''mameg'''....''coal'' :::* '''eymameg'''....''coke'' :::* '''maameg'''....''anthracite'' :::* '''maemeg'''....''peat'' :::* '''maimeg'''....''lignite'' : Related are: ::* '''mek'''....''dust'' :::* '''mekes'''....''grit'' :::* '''mekil'''....''grout'' :::* '''meyk'''....''grit'' ::* '''myek'''....''powder'' ::* '''miek'''....''sand'' ::* '''mieg'''....''coral'' ::* '''mel'''....''dirt'' ::* '''muk'''....''mineral'' ::* '''meil'''....''mud'' ::* '''mez'''....''crystal'' :::* '''meyz'''....''spar'' :::* '''meyzag'''....''feldspar'' ::* '''muz'''....''ore'' ::* '''memol'''....''alkali'' ::* '''mimol'''....''salt'' ::* '''mef'''....''brick'' === Metric Nomenclature === [[File:Conversion Factors.png|thumb|]] : Mirad uses the [[Wikt:International System of Units (SI)|International System of Units (SI)]]) for rendering measurement units. These symbols are pronounced as if you were spelling each letter out (see [[Mirad_Grammar/Alphabet]]. Bear in mind that majuscules (uppercase letters are prefaced with the word '''ag-''' (''big''). Similarly, Greek letters are spelled with the Greek names ('''alpha''', '''gamma''', etc.) preceded with the word '''ag-''' if majuscule ('''aggamma''' for ''&Gamma;'') The Mirad equivalent of the SI symbol for ''ohm'' (Ω) is '''agomega'''. All metric units end in the word '''nak'''. ==== SI Base Units ==== :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI base units</big> |- !English<br>Unit<br>Name !Symbolic<br>Abbeviation !Quantity<br>Unit !Mirad<br>Pronunciation |- !second |style="text-align:center" |s |time |style="text-align:center" |'''sonak''' |- !meter |style="text-align:center" |m |length |style="text-align:center" |'''minak''' |- !kilogram |style="text-align:center" |kg |mass |style="text-align:center" |'''kigenak''' |- !ampere |style="text-align:center" |A |electric current |style="text-align:center" |'''aganak''' |- !kelvin |style="text-align:center" |K |thermodynamic temperature |style="text-align:center" |'''agkinak''' |- !Mole |style="text-align:center" |mol |amount of substance |style="text-align:center" |'''miolinak''' |- !candela |style="text-align:center" |cd |luminous intensity |style="text-align:center" |'''cadanak''' |} ==== SI Derived Units ==== : Here are SI derived units with special names and symbols: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>SI derived units with special names and symbols</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''radian''' | align="center" | rad | plane angle | align="center" |'''roadanak''' |- |'''steradian''' | align="center" | sr | solid angle | align="center" |'''soronak''' |- |'''hertz''' | align="center" | Hz | frequency | align="center" |'''aghezunak''' |- |'''newton''' | align="center" | N | force, weight | align="center" |'''agninak''' |- | '''pascal''' | align="center" | Pa | pressure, stress | align="center" | '''agpoanak''' |- | '''joule''' | align="center" | J | energy | align="center" | '''agjinak''' |- | '''watt''' | align="center" | W | power | align="center" | '''agwunak''' |- | '''coulomb''' | align="center" | C | electric charge | align="center" |'''agcanak''' |- | '''volt''' | align="center" | V | electrical potential difference | align="center" | '''agvunak''' |- | '''farad''' | align="center" | F | capacitance | align="center" | '''agfenak''' |- | '''ohm''' | align="center" | Ω | electrical resistance | align="center" | '''agomeganak''' |- | '''Siemens''' | align="center" | S | electrical conductance | align="center" | '''agsonak''' |- | '''Weber''' | align="center" | Wb | magnetic flux | align="center" | '''agwubanak''' |- | '''tesla''' | align="center" | T | magnetic flux density | align="center" | '''agtonak''' |- | '''henry''' | align="center" | H | inductance | align="center" | '''aghenak''' |- | '''degree Celsius''' | align="center" | °C | temperature | align="center" | '''nogagcanak''' |- | '''lumen''' | align="center" | lm | luminous flux | align="center" | '''liminak''' |- | '''lux''' | align="center" | lx | illuminance | align="center" | '''lixunak''' |- | '''becquerel''' | align="center" | Bq | radioactivity | align="center" | '''agbakonak''' |- | '''gray''' | align="center" | Gy | absorbed dose (of ionizing radiation) | align="center" | '''aggeyunak''' |- | '''sievert''' | align="center" | Sv | equivalent dose (of ionizing radiation) | align="center" | '''agsovunak''' |- | '''katal''' | align="center" | kat | catalytic activity | align="center" | '''kiatonak''' |- | '''byte''' | align="center" | B | 8 bits of information | align="center" | '''agbanak''' |- | '''bit''' | align="center" | b | one bit of information | align="center" | '''banak''' |} : Also, here are some non-SI units that are very convenient and acceptable: ==== Convenient Non-SI Units ==== ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Convenient non-SI units</big> |- ! English<br>Name ! Symbolic<br>Written<br>Abbreviation ! Quantity<br>Unit ! Mirad<br>Pronunciation |- |'''litre''' | align="center" | L | volume | align="center" |'''aglinak''' |- |'''hectare''' | align="center" | ha | area | align="center" |'''heabak''' |- |'''ton''' | align="center" | t | area | align="center" |'''tonak''' |- |'''decibel''' | align="center" | dB | loudness | align="center" |'''daagbanak''' |} ==== Metrical Formulae ==== : The following chart shows how in Mirad to pronounce coherent derived unit formulae in terms of base units. Note that the backslash means ''per'' or ''divided by'' and is pronounced '''gol'''. The symbol x means ''times'' and is pronounced '''gal'''. The superscript number is a power and is pronounced '''gar''' plus the number (with '''-wa''', if a unit number). The negative superscript number is pronounced '''gor''' plus the number (again, with '''-wa''' if a unit number). See [[Mirad Grammar/Determiners#Arithmetical Expressions|Arithmetical Expressions]] for further information on these terms. ::{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ <big>Examples of coherent derived units in terms of base units</big> |- ! Name ! Symbolic<br>Formula ! Derived<br>Quantity ! Typical <br>Symbol ! Mirad<br>Pronunciation |- | '''square meter''' | align="center" | m<sup>2</sup> | area | align="center" |{{math|''A''}} | align="center" | '''mi-gar-ewa''' |- | '''cubic meter''' | align="center" | m<sup>3</sup> | volume | align="center" | {{math|''V''}} | align="center" | '''mi-gar-iwa''' |- | '''meter per second''' | align="center" | m/s | speed, velocity | align="center" | {{math|''v''}} | align="center" | '''mi-gol-so''' |- | '''meter per second squared''' | align="center" | m/s<sup>2</sup> | acceleration | align="center" | {{math|''a''}} | align="center" | '''mi-gol-so-gar-ewa''' |- |rowspan=2| '''reciprocal meter''' |rowspan=2 align="center" | m<sup>−1</sup> | wavenumber | align="center" | {{math|''σ''}}, {{math|''ṽ''}} | align="center" | '''mi-gor-awa''' |- | vergence (optics) | align="center" | {{math|''V''}}, 1/{{math|''f''}} |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | density | align="center" | {{math|''ρ''}} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''kilogram per square meter''' | align="center" | kg/m<sup>2</sup> | surface density | align="center" | {{math|''ρ''}}<sub>A</sub> | align="center" | '''kige-gol-mi-gar-ewa''' |- | '''cubic meter per kilogram''' | align="center" | m<sup>3</sup>/kg | specific volume | align="center" | {{math|''v''}} | align="center" | '''mi-gar-iwa-gol-kige''' |- | '''ampere per square meter''' | align="center" | A/m<sup>2</sup> | current density | align="center" | {{math|''j''}} | align="center" | '''aga-gol-mi-gar-ewa''' |- | Amperes per meter|'''ampere per meter''' | align="center" | A/m | magnetic field strength | align="center" | {{math|''H''}} | align="center" | '''aga-gol-mi''' |- | '''mole per cubic meter''' | align="center" | mol/m<sup>3</sup> | concentration | align="center" |{{math|''c''}} | align="center" | '''mioli-gol-mi-gar-iwa''' |- | '''kilogram per cubic meter''' | align="center" | kg/m<sup>3</sup> | Mass concentration (chemistry)|mass concentration | align="center" | {{math|''ρ''}}, {{math|''γ'' }} | align="center" | '''kige-gol-mi-gar-iwa''' |- | '''candela per square meter''' | align="center" | cd/m<sup>2</sup> | luminance | align="center" | {{math|''L''}}<sub>v</sub> | align="center" | '''cada-gol-mi-gar-ewa''' |} ==== Metric Micro and Macro Prefixes ==== : The SI has a whole list of prefixes that act as multipliers (macro) or dividers (micro) of the above and other measurement units. For example, a ''kilometer'' is a meter times a 1,000 (macro unit), whereas a millimeter is a meter divided by a 1,000 (micro unit). The SI symbol for ''b'' (byte) is pronounced '''ba''' in Mirad. A terabyte ( ''Tb'') is therefore pronounced '''ag-to-ba''', which This amounts ''10<sup>12</sup> bytes''. Here is a table showing the Mirad macro and micro prefixes: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Scalar Metrics |- ! colspan=4 | Macro !! colspan=4 | Micro |- ! Base<br>10!! US/UK Name!!Mirad Prefix<br>SI Prefix<br><br>Mirad Pron. !!SI Symbol !! Base<br>10 !! (US/UK Name) !! Mirad Prefix<br>SI Prefix !! SI Symbol<br><br>Mirad Pron. |- | 1 || one || '''an-''' ... ''mono-, uni-'' || ||1/1 ||whole || '''ayn-'''<br>''holo-, uni-'' || |- | 2 ||two || '''en-'''<br>''bi-'' || || 1/2 ||half||'''eyn-'''<br>''demi-, di-''|| |- | 3 ||three || '''in-'''<br>''tri-'' || || 1/3 ||third ||'''iyn-'''<br>''terci-''|| |- | 4 ||four || '''un-'''<br>''tetra-'' || || 1/4 ||fourth || '''uyn-'''<br>''quadri-''|| |- | 5 ||five || '''yoon-''' <br>''penta-'' || || 1/5 ||fifth ||'''yoyn'''<br>''quinti-''|| |- | 6 ||six || '''yaon-'''<br>''hexa-'' || || 1/6 ||sixth ||'''yayn'''<br>''sexti-''|| |- | 7 ||seven || '''yen-'''<br>''hepta-'' || || 1/7 ||seventh || '''yeyn'''<br>''septi-''|| |- | 8 ||eight || '''yin'''<br>''octo-'' || || 1/8 ||eighth || '''yiyn'''<br>''octi-''|| |- | 9 ||nine || '''yun'''<br>''nona-'' || || 1/9 ||ninth || '''yuyn'''<br>''novi-''|| |- | 10 ||ten || '''alo-'''<br>''deca-'' || ''da''<br>'''da-a-''' || 1/10 ||tenth || '''aloy-'''<br>''deci-''|| ''d''<br>'''da-''' |- | 10<sup>2</sup> ||hundred || '''aso-'''<br>''hexa-'' || ''h''<br>'''hi-''' || 10<sup>-2</sup> ||hundredth || '''asoy-'''<br>''centi-''|| ''c''<br>'''ca-''' |- | 10<sup>3</sup> ||thousand || '''amso-'''<br>''kilo-'' ||''k''<br>'''ki-''' || 10<sup>-3</sup> ||thousandth)|| '''amsoy-'''<br>''milli-''|| ''m''<br>'''mi-''' |- | 10<sup>6</sup> ||million || '''amlo-'''<br>''mega-'' || ''M''<br>'''agmi-''' || 10<sup>-6</sup> ||millionth || '''amloy-'''<br>''micro-''|| ''r''<br>'''ro-''' |- | 10<sup>9</sup> ||billion /milliard || '''amro-'''<br>''giga-'' || ''G''<br>'''agge-''' || 10<sup>-9</sup> ||billionth/ milliardth || '''amroy-'''<br>''nano-''|| ''n''<br>'''ni-''' |- | 10<sup>12</sup> ||trillion /billion || '''garale-'''<br>''tera-'' || ''T''<br>'''agto-''' || 10<sup>-12</sup> ||trillionth / billionth)|| '''gorale-'''<br>''pico-''|| ''p''<br>'''po-''' |- | 10<sup>15</sup> ||quadrillion)/ billiard|| '''garalyo-'''<br>''peta-'' || ''P''<br>'''agpo-'''||10<sup>-15</sup> ||quadrillionth) / billiardth || '''goralyo-'''<br>''femto-''||''f''<br>'''fe-''' |- | 10<sup>18</sup> ||quintillion / trillion || '''garalyu-'''<br>''exa-'' || ''E''<br>'''age-'''||10<sup>-18</sup> ||quintillionth)/ trillionth || '''goralyu'''<br>''atto-''||''a''<br>'''a-''' |- | 10<sup>21</sup> ||sextillion)/ trilliard || '''garela-'''<br>''zetta-'' || ''Z''<br>'''agzu-'''||10<sup>-21</sup> ||sextillionth / trilliardth || '''gorela'''<br>''zepto-''||''z''<br>'''zu-''' |- | 10<sup>24</sup> ||septillion)/ quadrillion || '''garelu-'''<br>''yotta-'' || '' Y''<br>'''agyu''' ||10<sup>-27</sup> ||septillionth / quadrillionth|| '''gorelu'''<br>''yocto-''||''y''<br>'''yu-''' |} : *Note: The '''gar''' (''to a plus power'') and '''gor''' (''to a minus power'') forms are alternatives for the numeric prefixes beyond 100. For example, ''billion'' (10<sup>9</sup>) could be expressed as '''garyu-'''(ten) to the 9th power'', while ''billionth'' could be expressed by '''goryu''' (''(ten) to the minus 9th power). The prefix '''garya-''' is composed of the positive exponential operator '''gar''' (''to the power of''), followed by the number ''6''. The prefix '''gorale-''' is composed of the negative exponential operator '''gor''' (''to the root of''), followed by the number ''12''. ==== Abbreviated Symbols ==== : The macro and micro values can also be represented with abbreviated symbols, which can be pronounced in Mirad as spelled out alphabetics. Upper case equivalents are preceded with '''ag-'''. Here is a table showing grams: :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Kg Metrics With Abbreviated Symbols |- ! colspan=2 | Macro !! colspan=2 | Micro |- ! Symbol (Expansion) !! Mirad Pronunciation !! Symbol (Expansion) !! Mirad Pronunciation |- | ''dag'' (decagram)|| '''daage''' || ''dg'' |(decigram)||'''dage''' |- | ''hg'' (hexagram)|| '''hege''' || ''cg'' (centigram)||'''cage''' |- | ''kg'' (kilogram) || '''koge''' || ''mg'' (milligram) ||'''mige''' |- | ''Mg'' (megagram)|| '''agmige''' ||''rg'' or '''μg''' (microgram)|| '''roge''' or '''muge''' |- | ''Gg'' (gigagram)|| '''aggege''' || ''ng'' (nanogram)|| '''nige''' |- | ''Tg'' (teragram)|| '''agtoge''' || ''pg'' (picagram)|| '''poge''' |- | ''Pg'' ( petagram)|| '''agpoge''' || ''fg'' (femtogram)|| '''fege''' |- | ''Eg'' (exagram)|| '''agege''' || ''ag'' (attogram)|| '''age''' |- | ''Zg'' (zettagram)|| '''agzege''' || ''zg'' (zeptogram) || '''zege''' |- | ''Yg'' (yottagram)|| '''agyuge''' || ''yg'' (yoctogram) || '''yuge''' |} : The squared and cubed representations of the above are followed by '''gar ewa''' (''squared'') and '''gar iwa''' (''cubed''), respectively: ::* '''10 kg2'''....(pronounced as:) ''alo koge gar ewa'' ::* '''12 mm3'''....(pronounced as:) ''ale mimi gar iwa'' === Trigonometric Nomenclature === : This table shows trigonometry functions and their equivalents in Mirad. The function symbols are translated into Mirad by a succession of the pronounced Mirad values of the function abbreviation followed by '''-naz''' (''value''). :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Trigonometry Functions |- ! Function (Symbol) !! Mirad Technical Name !! Mirad Ordinary Name |- | ''sine (sin)'' || '''soini-naz''' || '''uznaz''' |- | ''cosine (cos)'' || '''caoso-naz''' || '''yanuznaz''' |- | ''arccosine (arccos, cos<sup>-1</sup>)''<br>''anticosine''<br>''inverse cosine''|| '''arocacaoso-naz''' || '''ovuznaz''' |- | ''hyperbolic sine (sinh)'' || '''soinihe-naz'''|| '''enuza uznaz''' |- | ''hyperbolic cosine (cosh)'' || '''caosohe-naz''' || '''enuza yanuznaz''' |- | ''secant (sec)'' || '''soeca-naz''' || '''golus naz''' |- | ''cosecant (csc)'' || '''casoca-naz''' || '''yangolus naz''' |- | ''arccosecant (arccsc)'' || '''arocacasoca-naz''' || '''enuza yangolus naz''' |} === Poetry Nomenclature === : Mirad uses the nonsense syllables '''di''' and '''da''' to form various poetic meter words that usually are formed with Greek words in English. The syllable '''di''' represents an ''unstressed'' syllable in verse, while the syllable '''da''' denotes a ''stressed'' syllable. These are hyphenated and followed with a space and the word '''deup''' as a noun, which means ''meter'' or ''rhythm''. The adjectival form of the word ends in '''deupa'''. Here are the most common poetic meters: ::* '''di-da deupa'''.... iambic :::* '''di-da yoondeup'''.... ''iambic pentameter'' ::* '''di-di-da deupa'''.... ''anapestic'' ::* '''di-da-da deupa'''.... ''bacchius'' ::* '''da-da deupa'''.... ''spondaic'' ::* '''da-da-da deupa'''.... ''molossus'' ::* '''da-da-di deupa'''.... ''antibacchius'' ::* '''da-di deupa'''.... ''tochaic'' :::* '''da-di deup'''.... ''trochee, choree'' ::* '''da-di-da deupa'''.... ''cretic, amphimacer'' ::* '''da-di-di deupa'''.... ''dactylic'' ::* '''da-di-di yaondeup'''.... ''dactylic hexameter'' ::* '''da-di-di-da deupa'''.... ''amphibrachic'' : Other words representing elements of poetry are: ::* '''drez'''....''poetry, verse'' :::* '''dreza'''....''poetic'' :::* '''drezyen'''....''poesy'' :::* '''drezyan'''....''anthology'' (of poetry) :::* '''drezut'''....''poet'' ::::* '''drezuyt'''....''poetess'' ::::* '''popdrezut'''....''minstrel'' ::::* '''Vikinga drezut'''....''skald'' ::::* '''dreuzut'''....''bard'' :::* '''odrez'''....''prose'' :::* '''vyasma drez'''....''concrete verse'' :::* '''tyoda drez'''....''folk poetry'' :::* '''indeupa drez'''....''trimeter'' :::* '''undeupa drez'''....''tetrameter'' :::* '''yoondeupa drez'''....''pentameter'' :::* '''yaondeupa drez'''....''hexameter'' :::* '''yendeupa drez'''....''heptameter'' :::* '''yindeupa drez'''....''octameter'' :::* '''ogelseuxwa drez'''....''blank verse'' :::* '''yiva drez'''....''free verse'' :::* '''drezun'''....''poem'' ::::* '''deuzwa drezun'''....''sung poem, lay'' ::::* '''dindrezun'''....''ballad'' ::::* '''dizdrezun'''....''limerick'' ::::* '''fiddrezun'''....''ode'' ::::* '''fizdrezun'''....''epic poem'' ::::* '''haikudrezun'''....''haiku'' ::::* '''viysindrezun'''....''idyll'' ::::* '''ifondrezun'''....''love poem, romantic poem'' ::::* '''indrezun'''....''terzain'' ::::* '''jodrezun'''....''epode'' ::::* '''yindrezun'''....''sistina'' ::::* '''klerihyudrezun'''....''clerihew'' ::::* '''meimdrezun'''....''pastoral'' ::::* '''melyexdrezun'''....''georgic'' ::::* '''petnyanuta drezun'''....''pastoral, eclogue'' ::::* '''popduzuta drezun'''....''troubadour poem'' ::::* '''rondodrezun'''....''rondeau, rondel, roundel'' ::::* '''seuz drezun'''....''sound poem'' ::::* '''tadyandrezun'''....''prothalamion, epithalamion'' ::::* '''tankadrezun'''....''tanka'' ::::* '''taxdrezun'''....''epitaph'' ::::* '''tuddrezun'''....''nursery rhyme'' ::::* '''ulondrezun'''....''sonnet'' ::::* '''ujdreznadeon'''....''envoi'' ::::* '''undrezun'''....''quatrain'' ::::* '''unnad drezun'''....''tetrastich'' ::::* '''uvdrezun'''....''elegy'' ::::* '''alyundrezun'''....''villanelle'' ::::* '''virelaydrezun'''....''virelai, virelay'' ::::* '''yizivtos drezun'''....''rhapsody'' ::::* '''yoondrezun'''....''quintain'' ::* '''dreznad'''....''line, -stich, verse'' :::* '''eyndreznad'''...''hemistich'' :::* '''endreznad'''....''couplet'' ::* '''dreznadyan'''....''stanza'' ::* '''gelseux'''....''rhyme'' :::* '''gelseuxyen'''....''rhyme scheme'' :::* '''dunija gelseuxen'''....''alliteration'' ::* '''seuxzoyxen'''....''assonance'' ::* '''geyldyan'''....''simile'' ::* '''yiztyun'''....''metaphor'' ::* '''yanseuzan'''....''consonance'' ::* '''deup'''....''rhythm, beat, metrical foot, meter'' ::* '''kyib'''....''stress'' ::* '''seuz'''....''tone'' === Dimensional Nomenclature === : This chart shows adjectives that describe dimensional relationships: {| class="wikitable" style="background: lightyellow" |+ Dimensional Words |- ! Positive !! Intermediate !! Negative |- | '''yaba'''....''high(er)'' || '''yeba'''....''inner'' || '''yoba'''....''low(er)'' |- | '''yaiba'''....''tall'' || '''yeiba'''....''deep inside'' || '''yoiba'''....''deep (down)'' |- | '''yauba'''....''short'' || '''yeuba'''....''a short way in'' || '''youba'''....''shallow'' |- | '''yaga'''....''long'' || || '''yoga'''....''short'' |- | '''yiba'''....''far'' || || '''yuba'''....''near'' |- | '''aonada'''....''vertical'' || || '''uinada'''....''horizontal'' |- | '''kia'''....''diagonal'' || || '''kua'''....''lateral'' |- | '''zyia'''....''flat'' || || '''zyua'''....''round'' |- | '''yaza'''....''concave'' || '''yeza'''....''flush'' || '''yoza'''....''convex'' |} === Geologic Period Nomenclature === : The principal geochronologic units of the geologic time scale, from largest to smallest, are: :** '''joob'''....''eon'' :*** '''ajoob'''....''Hadean Eon'' :*** '''ejoob'''....''Archean Eon'' :*** '''ijoob'''....''Proterozoic Eon'' :*** '''ujoob'''....''Phanerozoic Eon'' :** '''joab'''....''era'' :*** '''ajoab'''....''Eoarchean Era'' :*** '''ejoab'''....''Paleoarchean Era'' :*** '''ijoab'''....''Mesoarchean Era'' :*** '''ujoab'''....''Neoarchean Era'' :*** '''yojoab'''....''Paleoproterozoic Era'' :*** '''yajoab'''....''Mesoproterozoic Era'' :*** '''yejoab'''....''Neoproterozoic Era'' :*** '''yijoab'''....''Paleozoic Era'' :*** '''yujoab'''....''Mesozoic Era'' :*** '''alojoab'''....''Cenozoic Era'' :** '''joeb'''....''period'' :*** '''ajoeb'''....''Siderian Period'' :*** '''ejoeb'''....''Rhyacian Period'' :*** '''ijoeb'''....''Orosirian Period'' :*** '''ujoeb'''....''Statherian Period'' :*** '''yojoeb'''....''Calymmian Period'' :*** '''yajoeb'''....''Ectasian Period'' :*** '''yejoeb'''....''Stenian Period'' :*** '''yijoeb'''....''Tonian Period'' :*** '''yujoeb'''....''Cryogenian Period'' :*** '''alojoeb'''....''Ediacaran Period'' :*** '''alajoeb'''....''Cambrian Period'' :*** '''alejoeb'''....''Ordovician Period'' :*** '''alijoeb'''....''Silurian Period'' :*** '''alujoeb'''....''Devonian Period'' :*** '''alyojoeb'''....''Carboniferous Period'' :*** '''alyajoeb'''....''Permian Period'' :*** '''alyejoeb'''....''Triassic Period'' :*** '''alyijoeb'''....''Jurassic Period'' :*** '''alyujoeb'''....''Cretaceous Period'' :*** '''elojoeb'''....''Paleogene Period'' :*** '''elajoeb'''....''Neogene Period'' :*** '''elejoeb'''....''Quarternary Period'' :** '''joib'''....''epoch'' :*** '''ajoib'''....''Terreneuvian Epoch'' :*** '''ejoib'''....''Series 2 Epoch'' :*** '''ijoib'''....''Miaolingian Epoch'' :*** '''ujoib'''....''Furongian Epoch'' :*** '''yojoib'''....''Lower Epoch'' :*** '''yajoib'''....''Middle Epoch'' :*** '''yejoib'''....''Upper Epoch'' :*** '''yijoib'''....''Llandovery Epoch'' :*** '''yujoib'''....''Wenlock Epoch'' :*** '''alojoib'''....''Ludlow Epoch'' :*** '''alajoib'''....''Pridoli Epoch'' :** '''joub'''....''age'' :*** '''ajoub'''....''Fortunian Age'' :*** '''ejoub'''....''Stage 2 Age'' :*** '''ijoub'''....''Stage 3 Age'' :*** '''ujoub'''....''Stage 4 Age'' :*** '''yojoub'''....''Wulian Age'' :*** '''yajoub'''....''Drumian Age'' :*** '''yejoub'''....''Guzhangian Age'' :*** '''yijoub'''....''Paibian Age'' :*** '''yujoub'''....''Jianshanian Age'' :*** '''alojoub'''....''Stage 10 Age'' :*** '''alajoub'''....''Temadocian Age'' :*** '''alejoub'''....''Floian Age'' :*** '''alijoub'''....''Dapingian Age'' :*** '''alujoub'''....''Darriwilian Age'' :*** '''alyojoub'''....''Sandbian Age'' :*** '''alyajoub'''....''Katian Age'' :*** '''alyejoub'''....''Hirnantian Age'' :*** '''alyijoub'''....''Rhuddanian Age'' :*** '''alyujoub'''....''Aeronian Age'' :*** '''elojoub'''....''Telychian Age'' :*** '''elajoub'''....''Cheinwoodian Age'' :*** '''elejoub'''....''Homerian Age'' :*** '''elijoub'''....''Gorstian Age'' :*** '''elujoub'''....''Ludfordian Age'' :*** '''elyojoub'''....''Pridoli Age'' :*** '''elyajoub'''....''Lochkovian Age'' :*** '''elyejoub'''....''Pragian Age'' :*** '''elyijoub'''....''Emsian Age'' :*** '''elyujoub'''....''Eifelian Age'' :*** '''ilojoub'''....''Givetian Age'' :*** '''ilajoub'''....''Frasnian Age'' :*** '''ilejoub'''....''Famennian Age'' :*** '''ilijoub'''....''Tournaisian Age'' :*** '''ilujoub'''....''Visean Age'' :*** '''ilyojoub'''....''Serpukhovian Age'' :*** '''ilyajoub'''....''Bashkirian Age'' :*** '''ilyejoub'''....''Moscovian Age'' :*** '''ilyijoub'''....''Kasimovian Age'' :*** '''ilyujoub'''....''Gzhelian Age'' :*** '''ulojoub'''....''Asselian Age'' :*** '''ulajoub'''....''Sakmarian Age'' :*** '''ulejoub'''....''Artinskian Age'' :*** '''ulijoub'''....''Kungurian Age'' :*** '''ulujoub'''....''Roadian Age'' :*** '''ulyojoub'''....''Wordian Age'' :*** '''ulyajoub'''....''Capitanian Age'' :*** '''ulyejoub'''....''Wuchiapingian Age'' :*** '''ulyijoub'''....''Changhsingian Age'' :*** '''ulyujoub'''....''Induan Age'' :*** '''yolojoub'''....''Olenekian Age'' :*** '''yolajoub'''....''Anisian Age'' :*** '''yolejoub'''....''Ladnian Age'' :*** '''yolijoub'''....''Carnian Age'' :*** '''yolujoub'''....''Norian Age'' :*** '''yolyojoub'''....''Rhaetian Age'' :*** '''yolyajoub'''....''Hettangian Age'' :*** '''yolyejoub'''....''Sinemurian Age'' :*** '''yolyijoub'''....''Pliensbachian Age'' :*** '''yolyujoub'''....''Toarcian Age'' :*** '''yalojoub'''....''Aalenian Age'' :*** '''yalajoub'''....''Bajocian Age'' :*** '''yalejoub'''....''Bathonian Age'' :*** '''yalijoub'''....''Callovian Age'' :*** '''yalujoub'''....''Oxfordian Age'' :*** '''yalyojoub'''....''Kimmeridgian Age'' :*** '''yalyajoub'''....''Tithonian Age'' :*** '''yalyejoub'''....''Berriasian Age'' :*** '''yalyijoub'''....''Valanginian Age'' :*** '''yalyujoub'''....''Hauterivian Age'' :*** '''yelojoub'''....''Barremian Age '' :*** '''yelajoub'''....''Aptian Age '' :*** '''yelejoub'''....''Albian Age '' :*** '''yelijoub'''....''Cenomanian '' :*** '''yelujoub'''....''Turonian '' :*** '''yelyojoub'''....''Coniacian '' :*** '''yelyajoub'''....''Santonian '' :*** '''yelyejoub'''....''Campanian '' :*** '''yelyijoub'''....''Maastrichtian '' :*** '''yelyujoub'''....''Danian '' :*** '''yilojoub'''....''Selandian '' :*** '''yilajoub'''....''Thanetian '' :*** '''yilejoub'''....''Ypresian '' :*** '''yilijoub'''....''Lutetian '' :*** '''yilujoub'''....''Bartonian '' :*** '''yilyojoub'''....''Priaboanian '' :*** '''yilyajoub'''....''Rupelian '' :*** '''yilyejoub'''....''Chattian '' :*** '''yilyijoub'''....''Aquitanian '' :*** '''yilyujoub'''....''Burdigalian '' :*** '''yulojoub'''....''Langhian '' :*** '''yulajoub'''....''Serravallian '' :*** '''yulejoub'''....''Tortonian '' :*** '''yulijoub'''....''Messinian '' :*** '''yulujoub'''....''Zanclean '' :*** '''yulyojoub'''....''Piacenzian '' :*** '''yulyajoub'''....''Gelasian '' :*** '''yulyejoub'''....''Calabrian '' :*** '''yulyijoub'''....''Chibanian '' :*** '''yulyujoub'''....''Tarantian '' :*** '''asojoub'''....''Greenlandian '' :*** '''asajoub'''....''Northgrippian '' :*** '''asejoub'''....''Meghalayan '' === Names of Diacritics === : The Mirad words for diacritics (= accents) are based on the worldwide Unicode 4.0 standard. There are three kinds of diacritics based on where they are positioned relative to the base: ::* <b>aybsiyn</b>....<i>above mark</i> ::* <b>oybsiyn</b>....<i>below mark</i> ::* <b>absiyn</b>....<i>overlay mark</i> : The names are based on some common shapes: ::* <b>nod</b>....<i>dot</i> ::* <b>grun</b>....<i>hook</i> ::* <b>nad</b>....<i>line</i> ::* <b>kin</b>....<i>slash</i> ::* <b>vu</b>....<i>wedge</i> ::* <b>pyaon</b>....<i>wave</i> ::* <b>zyus</b>....<i>ring</i> ::* <b>uz</b>....<i>arch</i> ::* <b>zeymep</b>....<i>bridge</i> ::* <b>izmufseb</b>....<i>arrowhead</i> ::* <b>mar</b>....<i>star</i> : The above shapes can be modified by adjectives: ::* <b>kia</b>....<i>slanted</i> ::* <b>ao</b>....<i>vertical</i> ::* <b>yoga/yaga</b>....<i>short/long</i> ::* <b>en</b>....<i>double</i> ::* <b>yaba/yoba</b>....<i>up/down</i> ::* <b>zua/zia</b>....<i>left/right</i> ::* <b>oyvuzbwa</b>....<i>inverted</i> : Here is a chart listing the most common diacritics in the world's languages. (Note: Mirad does not use diacritics for its native words.) {| class="wikitable" style="background:lightyellow;" |+ Mirad Names of Diacritics |- ! Diacritic !! Unicode<br>Value !! Mirad !! Unicode Name |- |<big><b>&#x0301;</b></big>|| 0301||<b> zukin aybsiyn</b>||<i>acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zukin oybsiyn</b>||<i>acute accent below</i> |- |<big><b>&#x030B;</b></big>|| 030B||<b> enzukin aybsiyn</b>||<i>double acute accent</i> |- |<big><b>&#x0300;</b></big>|| 0300||<b> zikin aybsiyn</b>||<i>grave accent</i> |- |<big><b>&#x0317;</b></big>|| 0317||<b> zikin oybsiyn</b>||<i>grave accent below</i> |- |<big><b>&#x030F;</b></big>|| 030F||<b> enzikin aybsiyn</b>||<i>double grave accent</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> zigrun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0327;</b></big>|| 0327||<b> zugrun oybsiyn</b>||<i>cedilla</i> |- |<big><b>&#x0328;</b></big>|| 0328||<b> zigrun oybsiyn</b>||<i>ogonek, nasal hook</i> |- |<big><b>&#x0302;</b></big>|| 0302||<b> yobvu aybsiyn</b>||<i>circumflex accent, hat</i> |- |<big><b>&#x032D;</b></big>|| 032D||<b> yobvu oybsiyn</b>||<i>circumflex accent below</i> |- |<big><b>&#x030C;</b></big>|| 030C||<b> vu aybsiyn</b>||<i>hachek, v above, caron</i> |- |<big><b>&#x032C;</b></big>|| 032C||<b> vu oybsiyn</b>||<i>caron below</i> |- |<big><b>&#x0306;</b></big>|| 0306||<b> yabuz aybsiyn</b>||<i>breve above</i> |- |<big><b>&#x0311;</b></big>|| 0311||<b> yobuz aybsin</b>||<i>inverted breve above</i> |- |<big><b>&#x032F;</b></big>|| 032F||<b> yobuz oybsin </b>||<i>inverted breve below</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0308;</b></big>|| 0308||<b> ennod aybsiyn</b>||<i>diaeresis above, double dot above, umlaut, trema</i> |- |<big><b>&#x0324;</b></big>|| 0324||<b> ennod oybsiyn</b>||<i>diaeresis below, double dot below</i> |- |<big><b>&#x0307;</b></big>|| 0307||<b> nod aybsiyn</b>||<i>dot above, overdot, tecka, tittle</i> |- |<big><b>&#x0323;</b></big>|| 0323||<b> nod oybsiyn</b>||<i>dot below, underdot, nang</i> |- |<big><b>&#x0351;</b></big>|| 0351||<b> zua eynzyus aybsiyn</b>||<i>left half ring above</i> |- |<big><b>&#x031C;</b></big>|| 031C||<b> zua eynzyus oybsiyn</b>||<i>left half ring below</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia eynzyus aybsign</b>||<i>right half ring above</i> |- |<big><b>&#x0339;</b></big>|| 0339||<b> zia eynzyus oybsiyn</b>||<i>right half ring below</i> |- |<big><b>&#x0305;</b></big>|| 0305||<b> nad aybsiyn</b>||<i>overline, overscore, vinculum</i> |- |<big><b>&#x033F;</b></big>|| 033F||<b> ennad aybsiyn</b>||<i>double overline</i> |- |<big><b>&#x0332;</b></big>|| 0332||<b> nad oybsiyn</b>||<i>single lowline below</i> |- |<big><b>&#x0333;</b></big>|| 0333||<b> ennad oybsiyn</b>||<i>double lowline, double underline, double underscore</i> |- |<big><b>&#x0304;</b></big>|| 0304||<b> nad aybsiyn</b>||<i>macron</i> |- |<big><b>&#x0331;</b></big>|| 0331||<b> nad oybsiyn</b>||<i>macron below</i> |- |<big><b>&#x035E;</b></big>|| 935E||<b> ennad aybsiyn</b>||<i>double macron, longum</i> |- |<big><b>&#x035F;</b></big>|| 035F||<b> ennad oybsiyn</b>||<i>double macron below</i> |- |<big><b>&#x030A;</b></big>|| 030A||<b> zyus aybsiyn</b>||<i>ring above, kroujek, overring</i> |- |<big><b>&#x0325;</b></big>|| 0325||<b> zyus oybsiyn</b>||<i>ring below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> zeymep aybsiyn</b>||<i>bridge above</i> |- |<big><b>&#x032A;</b></big>|| 032A||<b> zeymep oybsiyn</b>||<i>bridge below</i> |- |<big><b>&#x0346;</b></big>|| 0346||<b> oyvuzbwa zeymep aybsiyn</b>||<i>inverted bridge above</i> |- |<big><b>&#x033A;</b></big>|| 033A||<b> oyvuzbwa zeymep oybsiyn</b>||<i>inverted bridge below</i> |- |<big><b>&#x0309;</b></big>|| 0309||<b> grun aybsiyn</b>||<i>hook above, hoi</i> |- |<big><b>&#x0303;</b></big>|| 0303||<b> pyaon aybsiyn</b>||<i>tilde</i> |- |<big><b>&#x0342;</b></big>|| 0342||<b> yagpyaon aybsiyn</b>||<i>Greek perispomeni</i> |- |<big><b>&#x0360;</b></big>|| 0360||<b> enpyaon aybsiyn</b>||<i>double tilde above</i> |- |<big><b>&#x0330;</b></big>|| 0330||<b> pyaon oybsiyn</b>||<i>tilde below</i> |- |<big><b>&#x032B;</b></big>|| 032B||<b> oyvuzbwa enuz oybsiyn</b>||<i>inverted double arch below</i> |- |<big><b>&#x033E;</b></big>|| 033E||<b> aonada pyaon aybsiyn</b>||<i>vertical tilde, yerik</i> |- |<big><b>&#x031A;</b></big>|| 031A||<b> zua gun aybsiyn</b>||<i>left angle above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> aonad aybsiyn</b>||<i>vertical line above</i> |- |<big><b>&#x030D;</b></big>|| 030D||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> aonad oybsiyn</b>||<i>vertical line below</i> |- |<big><b>&#x030E;</b></big>|| 030E||<b> enaonad aybsiyn</b>||<i>double vertical line above</i> |- |<big><b>&#x033D;</b></big>|| 033D||<b> xu aybsiyn</b>||<i>x above</i> |- |<big><b>&#x0353;</b></big>|| 0353||<b> xu oybsiyn</b>||<i>x below</i> |- |<big><b>&#x033C;</b></big>|| 033C||<b> lapiat oybsiyn</b>||<i>seagull below</i> |- |<big><b>&#x0310;</b></big>|| 0310||<b> nod ayb uz aybsiyn</b>||<i>candrabindu</i> |- |<big><b>&#x0352;</b></big>|| 0352||<b> nod oyb uz aybsiyn</b>||<i>fermata</i> |- |<big><b>&#x0314;</b></big>|| 0314||<b> zia grun aybsiyn</b>||<i>right comma above, dasia</i> |- |<big><b>&#x0326;</b></big>|| 0326||<b> zia grun oybsiyn</b>||<i>right comma below</i> |- |<big><b>&#x0313;</b></big>|| 0313||<b> zua grun aybsiyn</b>||<i>reversed comma above, psili</i> |- |<big><b>&#x0320;</b></big>|| 0320||<b> gobsiyn oybsiyn</b>||<i>minus sign below</i> |- |<big><b>&#x031F;</b></big>|| 031F||<b> gabsiyn oybsiyn</b>||<i>plus sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubay ge aybsiyn</b>||<i>almost equals above</i> |- |<big><b>&#x0349;</b></big>|| 0349||<b> zua gun oybsiyn</b>||<i>left angle below</i> |- |<big><b>&#x033B;</b></big>|| 033B||<b> ungun oybsiyn</b>||<i>square below</i> |- |<big><b>&#x0334;</b></big>|| 0334||<b> Gereda nod-kin-nod aybsiyn</b>||<i>Greek dialytika tonos</i> |- |<big><b>&#x0350;</b></big>|| 0350||<b> zia izmufseb aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x08F7;</b></big>|| 0356||<b> zia izmufseb ay yabizmufseb oybsiyn</b>||<i>right arrowhead and up arrowhead below</i> |- |<big><b>&#x0355;</b></big>|| 0355||<b> zia izmufseb oybsiyn</b>||<i>right arrowhead below</i> |- |<big><b>&#x0354;</b></big>|| 0354||<b> zua izmufseb oybsiyn</b>||<i>left arrowhead below</i> |- |<big><b>&#x0318;</b></big>|| 0318||<b> zua zyisebmuv oybsiyn</b>||<i>left tack below</i> |- |<big><b>&#x0319;</b></big>|| 0319||<b> zia zyisebmuv oybsiyn</b>||<i>right tack below</i> |- |<big><b>&#x031D;</b></big>|| 031D||<b> yob zyisebmuv oybsiyn</b>||<i>up tack below</i> |- |<big><b>&#x031E;</b></big>|| 031E||<b> yab zyisebmuv oybsiyn</b>||<i>down tack below</i> |- |<big><b>&#x0337;</b></big>|| 0337||<b> yoga kinad absiyn</b>||<i>short slash overlay, short solidus overlay</i> |- |<big><b>&#x0338;</b></big>|| 0338||<b> yaga kinad absiyn</b>||<i>long slash overlay, long solidus overlay</i> |- |<big><b>&#x0321;</b></big>|| 0321||<b> teumibxwa grun oybsiyn</b>||<i>palatalized hook below</i> |- |<big><b>&#x0322;</b></big>|| 0322||<b> zoykixwa grun oybsiyn</b>||<i>retroflex hook below</i> |- |<big><b>&#x0359;</b></big>|| 0359||<b> mar oybsiyn</b>||<i>asterisk below</i> |- |<big><b>&#x035A;</b></big>|| 035A||<b> enzyus oybsiyn</b>||<i>double ring below</i> |- |<big><b>&#x0358;</b></big>|| 0358||<b> zinod aybsiyn</b>||<i>dot above right</i> |- |<big><b>&#x035C;</b></big>|| 035C||<b> enyabuz oybsiyn</b>||<i>double breve below, ligature tie below</i> |- |<big><b>&#x035D;</b></big>|| 035D||<b> enyabuz aybsiyn</b>||<i>double breve</i> |- |<big><b>&#x0361;</b></big>|| 0361||<b> enyobuz aybsiyn</b>||<i>double inverted breve, top ligature, tie bar</i> |- |<big><b>&#x035B;</b></big>|| 035B||<b> uiznad aybsiyn</b>||<i>zigzag above</i> |- |<big><b>&#x0347;</b></big>|| 0347||<b> gese oybsiyn</b>||<i>equals sign below</i> |- |<big><b>&#x034C;</b></big>|| 034C||<b> yubgese aybsiyn</b>||<i>almost equal to above</i> |- |<big><b>&#x0362;</b></big>|| 0362||<b> enziizmuf oybsiyn</b>||<i>double rightwards arrow below</i> |- |<big><b>&#x034E;</b></big>|| 034E||<b> yabizmuf oybsiyn</b>||<i>upwards arrow below</i> |- |<big><b>&#x0329;</b></big>|| 0329||<b> ziizmuf aybsiyn</b>||<i>right arrowhead above</i> |- |<big><b>&#x034A;</b></big>|| 034A||<b> opyaon aybsiyn</b>||<i>not tilde above</i> |- |<big><b>&#x037A;</b></big>|| 037A||<b> iota oybsiyn</b>||<i>Greek ypogegrammeni, iota subscript</i> |- |<big><b>&#x0374;</b></big>|| 0374||<b> Gereda sag aybsiyn</b>||<i>Greek numeral sign, dexia keraia</i> |- |<big><b>&#x0375;</b></big>|| 0375||<b> Gereda sag oybsiyn</b>||<i>Greek lower numeral sign, aristeri keraia</i> |- |<big><b>&#x0651;</b></big>|| 0651||<b> xadda aybsiyn</b>||<i>Arabic shadda</i> |- |<big><b>&#x065E;</b></big>|| 065E||<b> fatha aybsiyn</b>||<i>Arabic fatha with two dots</i> |- |<big><b>&#x061A;</b></big>|| 061A||<b> kasra oybsiyn</b>||<i>Arabic small kasra</i> |- |<big><b>&#x064C;</b></big>|| 064C||<b> damma aybsiyn</b>||<i>Arabic dammatan</i> |- |<big><b>&#x0652;</b></big>|| 0652||<b> sukun aybsiyn</b>||<i>Arabic sukun</i> |} === Grammar Terms === :*'''drevyab'''....''grammar'' :*'''dun'''....''word'' :*'''dyen'''....''phrase'' :*'''dyan'''....''sentence'' :** '''delyea'''....''declarative'' :** '''didyea'''....''interrogative'' :** '''azteudyea'''....''exclamatory'' :*'''dyangon'''....''clause'' :** '''agala dyangon'''....''main clause'' :** '''abyosyea dyangon'''....''dependent clause'' :** '''obdabyea dyangon'''....''subordinate clause'' :*'''anyendyen'''....''idiom'' :*'''dalzeyn'''....''language'' :*'''dalzeynes'''....''dialect'' :*'''dalyen'''....''locution'' :*'''dungon'''....''syllable'' :*'''dunog'''....''particle'' :*'''abun'''....''affix'' :** '''zabun'''....''prefix'' :** '''zobun'''....''suffix'' :** '''yebun'''....''infix'' :*'''kyid'''....''stress'' :*'''dredyen'''....''spelling, orthography'' :*'''seuxden'''....''pronunciation'' :*'''dalgon'''....''part of speech'' :**'''sundun'''....''noun'' :**'''avdun'''....''pronoun'' :**'''erdun'''....''verb'' :**'''adun'''....''adjective'' :**'''aydun'''....''adverb'' :**'''ebdun'''....''preposition'' :**'''yanxdun'''....''conjunction'' :**'''oybdun'''....''particle'' :**'''asaundun'''....''article, determiner'' :*'''jobyen'''....''tense'' :** '''eja'''....''present tense'' :** '''aja'''....''past tense'' :** '''oja'''....''future tense'' :** '''vensona'''....''conditional'' :* '''teagun'''....''aspect'' :** '''ikna'''....''perfect'' :** '''oikna'''....''imperfect'' :** '''zaypasyea'''....''progressive'' :*'''tipyen'''....''mood'' :** '''izeadyea'''....''indicative mood'' :** '''ovyamxwa'''....''subjunctive mood'' :*'''teuz'''....''voice'' :** '''axlyea'''....''active'' :** '''xolyea'''....''passive'' :** '''syundabea'''....''transitive'' :** '''osyundabea'''....''intransitive'' :** '''zyinzoyubea'''....''reflexive'' :*'''sankyas'''....''case'' :** '''syina'''....''nominative, subject'' :** '''bina'''....''genitive, possessive'' :** '''buna'''....''dative'' :** '''izsyuna'''....''accusative, direct object'' :** '''oizsyuna'''....''indirect object'' :** '''byina'''....''ablative'' :** '''dyuena'''....''vocative'' :*'''toob'''....''gender'' :** '''twooba'''....''masculine'' :** '''tooyba'''....''feminine'' :** '''evtwooba'''....''neuter'' :*'''sag'''....''number'' :** '''ansaga'''....''singular'' :** '''glasaga'''....''plural'' :*'''sagdun'''....''numeral'' == Forming Adjectives == : You can form an adjective by adding the suffix '''a''' to a substantive, any adverb not ending in '''-ay''', or preposition. By substantive is meant a noun, pronoun, or gerund. Any of these can be adjectivized. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adjectives |- ! Noun !! Adjective |- | '''taam'''....''home'' || '''taama'''....''domestic'' |- | '''doob'''....''nation'' || '''dooba'''....''national'' |- | '''tej'''....''life'' || '''teja'''....''vital'' |- | '''tyoyapyaf'''....''ability to walk'' || '''tyoyapyafa'''....''ambulatory'' |- | '''martun'''....''astronomy'' || '''martuna'''....''astronomical'' |- ! Pronoun !! Adjective |- | '''at'''....''I, me'' || '''ata'''....''my'' |- | '''eut'''....''yourself'' || '''euta'''....''your own'' |- | '''hiyen'''....''this kind'' || '''hiyena'''....''this kind of'' |- | '''duhot?'''....''who?'' || '''duhota?'''....''whose?'' |- ! Gerund !! Adjective |- | '''ifeken'''....''recreation'' || '''ifekena'''....''recreational'' |- ! Adverb !! Adjective |- | '''yib'''....''far'' || '''yiba'''....''distant'' |- | '''yab'''....''up'' || '''yaba'''....''high, upper'' |- ! Verb Form !! Adjective (= Participle) |- | '''teje'''....''(he) lives'' || '''tejea'''....''living'' |- | '''tojo'''....''will die'' || '''tojoa'''....''moribund, about to die'' |- | '''tojbu'''....''would kill'' || '''tojbua'''....''lethal'' |- | '''twa'''....''was known'' || '''twaa'''....''known'' (usu. shortened to '''twa''') |} === Adjectival Suffixes === : Various types of adjectives can be created with adjectival suffixes beyond just '''a'''. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Other Adjectives |- ! Suffix !! Meaning !! Noun !! Adjective |- ! rowspan=3|-ava !!rowspan=3| ''pro-, for'' !! !! |- | '''Usom'''<br>''U.S.'' || '''Usomava'''<br>''pro-U.S.'' |- | '''yuvrin'''<br>''slavery'' || '''yuvrinava'''<br>''pro-slavery'' |- ! rowspan=3|-ova !!rowspan=3| ''anti-, against'' !! !! |- | '''dobvyabyan'''<br>''constitution'' || '''dovyabyanova'''<br>''anti-constitutional'' |- | '''dot'''<br>''society'' || '''dotova'''<br>''anti-social'' |- ! rowspan=5|-aya !!rowspan=5| ''full of, having, -ous, -ful, -ly'' !! !! |- | '''volz'''<br>''color'' || '''volzaya'''<br>''colorful'' |- | '''futax'''<br>''resentment'' || '''futaxaya'''<br>''resentful'' |- | '''tiibil'''<br>''blood'' || '''tiibilaya'''<br>''bloody'' |- | '''yiflan'''<br>''courage'' || '''yiflanaya'''<br>''courageous'' |- ! rowspan=3|-oya !!rowspan=3| ''bereft of, -less, un-'' !! !! |- | '''volz'''<br>''color'' || '''volzoya'''<br>''colorless, pale'' |- | '''tajyaf'''<br>''talent'' || '''tajyafoya'''<br>''untalented'' |- ! rowspan=2|-ika !!rowspan=2| ''full of, -ous, -ful, -y'' !! !! |- | '''map'''<br>''wind'' || '''mapika'''<br>''windy'' |- ! rowspan=2|-uka !!rowspan=2| ''bereft of, without, -less'' !! !! |- | '''nas'''<br>''money'' || '''nasuka'''<br>''broke, penniless'' |- ! rowspan=4|-yena !! rowspan=4|''-like, -ous, -ly, -y, -ish, -ic, -al'' !! !! |- | '''tudet'''<br>''child'' || '''tudetyena'''<br>''childish, infantile'' |- | '''tot'''<br>''god'' || '''totyena'''<br>''divine, godly'' |- | '''pit'''<br>''fish'' || '''pityena'''<br>''fish-like, fishy'' |- ! rowspan=5|-wa or -awa !! rowspan=5|''-ed, past passive participle''<br>(added to verb stem) !! Verb Stem !! Past Passive Participle |- | '''t-'''<br>''know'' || '''twa'''<br>''known'' |- | '''dal-'''<br>''speak'' || '''dalwa'''<br>''spoken, oral'' |- | '''nixbu-'''<br>''sell'' || '''nixbuwa'''<br>''sold'' |- | '''dr-'''<br>''write'' || '''drawa'''<br>''written'' |- ! rowspan=4|-ea !!rowspan=4| ''-ing''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''ot-'''<br>''not know'' || '''otea'''<br>''ignorant'' |- | '''tej-'''<br>''live'' || '''tejea'''<br>''living, alive'' |- | '''tuj-'''<br>''die'' || '''tujea'''<br>''dying'' |- ! rowspan=5|-yea !!rowspan=5| ''-ive, prone to Xing, given to X''<br>(added to verb stem) !! Verb Stem !! Present Active Participle |- | '''tujb-'''<br>''kill'' || '''tujbyea'''<br>''murderous'' |- | '''tex-'''<br>''think'' || '''texyea'''<br>''pensive, thoughtful'' |- | '''tox-'''<br>''forget'' || '''toxyea'''<br>''forgetful'' |- | '''axl-'''<br>''act'' || '''axlyea'''<br>''active'' |- ! rowspan=5|-uwa !!rowspan=5| ''-able, apt to be Xed''<br>(added to verb stem) !! Verb Stem !! Potential Passive Participle |- | '''ex-'''<br>''operate'' || '''exuwa'''<br>''operable'' |- | '''tos'''<br>''feel'' || '''tosuwa'''<br>''palpable'' |- | '''tex-'''<br>''think'' || '''texuwa'''<br>''conceivable'' |- | '''tel-'''<br>''eat'' || '''teluwa'''<br>''edible'' |- ! rowspan=3|-yafa !!rowspan=3| ''-able, capable of Xing'' <br>(added to verb stem) !! Verb Stem !! Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyafa'''<br>''sightful, able to see'' |- | '''dyed-'''<br>''read'' || '''dyedyafa'''<br>''literate'' |- ! rowspan=5|-yafwa !!rowspan=5| ''-able, possible to be Xed''<br> (added to verb stem) !! Verb Stem !! Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyafwa'''<br>''visible'' |- | '''tax-'''<br>''remember'' || '''taxyafwa'''<br>''memorable'' |- | '''teet-'''<br>''hear'' || '''teetyafwa'''<br>''audible'' |- | '''tel-'''<br>''eat'' || '''telyafwa'''<br>''edible'' |- ! rowspan=5|-yofa !!rowspan=5| ''incapable of Xing'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Subject-oriented |- | '''teat-'''<br>''see'' || '''teatyofa'''<br>''blind'' |- | '''tyoyap-'''<br>''walk'' || '''tyoyapyofa'''<br>''lame'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''deaf'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''dumb, incapable of speaking'' |- ! rowspan=5|-yofwa !!rowspan=5| ''un-X-able'' <br>(added to verb stem) !! Verb Stem !! Negative Potential Object-oriented |- | '''teat-'''<br>''see'' || '''teatyofwa'''<br>''invisible'' |- | '''teet-'''<br>''hear'' || '''teetyofa'''<br>''inaudible'' |- | '''tox-'''<br>''forget'' || '''toxyofa'''<br>''unforgetable'' |- | '''dal-'''<br>''speak'' || '''dalyofa'''<br>''unspeakable'' |- ! rowspan=6|-ifa !!rowspan=6| ''fond of, -phile'' !! Noun Stem !! Adjective |- | '''pot'''<br>''animal'' || '''potifa'''<br>''pet-friendly'' |- | '''hyitoob-'''<br>''same-gender'' || '''hyitoobifa'''<br>''homophile'' |- | '''tobot'''<br>''child'' || '''tobotifa'''<br>''pedophile'' |- | '''fitel'''<br>''food'' || '''fitelifa'''<br>''gourmand'' |- | '''doob'''<br>''nation'' || '''doobifa'''<br>''patriotic'' |- ! rowspan=2|-ifwa !!rowspan=2| ''loved by'' !! Noun Stem !! Adjective |- | '''tyod'''<br>''people'' || '''tyodifwa'''<br>''popular'' |- ! rowspan=4|-ufa !!rowspan=4| ''adverse to, hating, miso-, -phobic'' !! Noun Stem !! Adjective |- | '''tob'''<br>''human'' || '''tobufa'''<br>''misanthropic'' |- | '''hyut-'''<br>''other person'' || '''hyutufa'''<br>''xenophobic'' |- | '''toyb-'''<br>''woman'' || '''toybufa'''<br>''misogynist'' |- ! rowspan=5|-ef(w)a !!rowspan=5|''needful of,<br>(necessary to be X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''til'''<br>''drink'' || '''tilefa'''<br>''thirsty'' |- | '''tel'''<br>''food'' || '''telefa'''<br>''hungry'' |- | '''nas'''<br>''money'' || '''nasefa'''<br>''poor, needy'' |- | '''yelb-'''<br>''to oil'' || '''yelbefwa'''<br>''squeaky, in need of oil'' |- ! rowspan=4|-yef(w)a !!rowspan=4| ''worthy of,<br> due to be (deserving of being X-ed)'' !! Noun or Verb Stem !! Adjective |- | '''fid'''<br>''praise'' || '''fidyefa'''<br>''praiseworthy'' |- | '''dud'''<br>''answer'' || '''dudyefa'''<br>''responsible'' |- | '''tax-'''<br>''remember'' || '''taxyefwa'''<br>''memorable'' |- ! rowspan=3|-yuk(w)a !!rowspan=3| ''easy to, (easily X-ed)'' !! Verb Stem !! Adjective |- | '''vatex-'''<br>''believe'' || '''vatexyuka'''<br>''gullible'' |- | '''vatex-'''<br>''believe'' || '''vatexyukwa'''<br>''incredible, hard to believe'' |- ! rowspan=3|-yik(w)a !!rowspan=3| ''hard to,<br>(hard of X-ing)'' !! Verb Stem !! Adjective |- | '''teat-'''<br>''see'' || '''teatyikwa'''<br>''opaque'' |- | '''teet-'''<br>''hear'' || '''teetyika'''<br>''hard of hearing'' |} === Adjectival Prefixes === ==== Negating the Meaning of Adjectives ==== ::: The semantics of an adjective can be reversed with the prefix '''o-'''. ::: Examples: ::::* '''vlea'''....''probable'' <big>→</big> '''<u>o</u>vlea'''....''improbable'' ::::* '''fika'''....''perfect'' <big>→</big> '''<u>o</u>fika'''....''imperfect'' ::::* '''twa'''....''known'' <big>→</big> '''<u>o</u>twa'''....''unknown'' ::::* '''bosa'''....''quiet'' <big>→</big> '''<u>o</u>bosa'''....''upset, unquiet'' ::: Note: Occasionally, the prefix '''lo-''' is used to avoid ambiguity, as in the following case: ::::* '''fwa'''....''wanted'' ::::* <big>→</big> '''<u>o</u>fwa'''....''prohibited'' <big><</big> '''ofer'''....''to prohibit'' ::::* <big>→</big> '''<u>yo</u>fwa'''....''impossible'' <big><</big> '''yofer'''....''to be unable'' ::::* <big>→</big> '''<u>lo</u>fwa'''....''unwanted'' <big><</big> '''fer'''....''to want'' (disambiguated) ::: The prefixes '''lyo-''' and '''ov''' are more intense for reversing the meaning of an adjective: ::::* '''data'''....''friendly'' ::::* '''odata'''....''unfriendly'' ::::* '''ovdata'''....''hostile'' ::::* '''lyodata'''....''inimical'' ::::* '''dota'''....''social'' ::::* '''odota'''....''unsocial'' ::::* '''ovdota'''....''antisocial'' ::::* '''lyodota'''....''savage'' ==== Table of Adjective Prefixes ==== ::: As in English, where the sense of adjectives can be altered by a number of prefixes of Germanic, Latin, and Greek origin, the sense of adjectives in Mirad can also be altered with prefixes. Here are the principal ones: :::{| class="wikitable sortable collapsable" style="background:lightyellow;font-size:smaller;" |+ Altering the Sense of Adjectives with Prefixes<br>Click on double arrow to alphabetize the column |- ! Mirad Prefix !! English Prefix !! Altered Adjective Examples |- | '''o-''' || ''un-, a(n)-, in-, non-'' ||'''<u>o</u>baka'''....''unhealthy''<br>'''<u>o</u>yezyebeya'''....''incontinent'', '''<u>o</u>yelpea'''....''non-invasive''<br>'''<u>o</u>totina'''....''atheist'' |- |'''ov-''' || ''anti-, counter-'' || '''<u>ov</u>zuina'''....''anti-leftist''<br>'''<u>ov</u>iztida'''....''counter-intuitive'' |- |'''av-''' || ''pro-'' || '''<u>av</u>hyitoosifa'''....''pro-gay'' |- | '''kovyo-''' ||''pseudo-'' || '''<u>kovyo</u>tepina'''....''pseudo-intellectual'' |- | '''hya(s)-''' || ''all-, pan-, omni-'' || '''<u>hyas</u>tea'''....''all-knowing, omniscient'' |- | '''voy-, gal-''' || ''re-'' || '''<u>voy</u>upya'''....''returned''<br>'''<u>gal</u>abwa'''....''<u>re</u>applied'' |- | '''vyo-''' || ''mis-'' || '''<u>vyo</u>seudxwa'''....''mispronounced'' |- | '''eyn-''' || ''semi-, half-'' ||'''<u>eyn</u>levelaya'''....''semi-sweet''<br>'''<u>eyn</u>tija'''....''half-awake'' |- |'''yiz-''' || ''ultra-, super-'' || '''<u>yiz</u>doobina'''....''ultra-nationalist''<br>'''<u>yiz</u>mola'''....''supernatural'' |- | '''gro-''' || ''under-, hypo-'' || '''<u>gro</u>jaga'''....''under-aged'' |- | '''gra-''' || ''over-, hyper-, uber-'' || '''<u>gra</u>agxwa'''....''overgrown''<br>'''<u>gra</u>toseya'''....''hypersensitive'' |- | '''gla-''' ||''multi-, many-, poly-'' || '''<u>gla</u>kuma'''....''multilateral''<br>'''<u>gla</u>tadaya'''....''polygamous'' |- |'''fu-''' || ''mal-, ill-'' || '''<u>fu</u>teyenxwa'''....''ill-conceived''<br>'''<u>fu</u>sanxwa'''....''malformed'' |- | '''fi-''' || ''well-'' || '''<u>fi</u>tofabwa'''....''well-dressed'' |- | '''yuyb-''' ||''quasi-, almost'' || '''<u>yuyb</u>daba'''....''quasi-governmental'' |- | '''ja-''' || ''pre-, (a)fore-, pro-'' ||'''<u>ja</u>teyenxwa'''....''pre-conceived''<br>'''<u>ja</u>igdawa'''....''aformentioned'' |- | '''jo-''' || ''post-'' || '''<u>jo</u>dropeka'''....''post-war'' |- | '''oyeb-'''|| ''extra-, exo-, '' || '''<u>oyeb</u>tada'''....''extra-marital'' |- | '''yeb-''' || ''endo-'' || '''<u>yeb</u>tayoba'''....''endo-dermal'' |- | '''agl(a)-''' || ''macro-'' || '''<u>agla</u>mora'''....''macrocosmic'' |- | '''ogl(a)-''' || ''micro-'' || '''<u>ogla</u>mora'''....''microcosmic'' |- | '''ut-''' || ''auto-, self-, sui-'' || '''<u>ut</u>pana'''....''automatic''<br>'''<u>ut</u>tojbua'''....''suicidal'' |- | '''hyaewa-''' || ''ambi-'' || '''<u>hyaewa</u>tesea'''....''ambivalent'' |- | '''en-''' || ''bi-'' || '''<u>en</u>toobifa'''....''bisexual'' |- | '''yuz-''' || ''circum-'' || '''<u>yuz</u>teaxea'''....''circumspect'' |- | '''gel-''' || ''homo-'' || '''<u>gel</u>sauna'''....''homogeneous'' |- | '''ogel-''' || ''hetero-'' || '''<u>ogel</u>sauna'''....''heterogeneous'' |- | '''oyb-''' || ''infra-, sub-'' || '''<u>oyb</u>ivoza'''....''infrared'' |- | '''ge-''' || ''iso-, equi-'' || '''<u>ge</u>voza'''....''isochromatic'' |- | '''agr(a)-''' || ''mega-'' || '''<u>agra</u>tipa'''....''megamaniacal'' |- | '''ku-''' || ''para-'' || '''<u>ku</u>ega'''....''paranormal'' |- | '''yuyb-''' || ''quasi-, almost, pen-'' || '''<u>yuyb</u>dobyena'''....''quasi-official'' |- | '''yib-''' || ''tele-, far-'' || '''<u>yib</u>pyuxea'''....''far-reaching'' |- | '''zey-''' || ''trans-, cross-'' || '''<u>zey</u>mimaga'''....''transoceanic'' |- | '''aaj-''' || ''paleo-'' || '''<u>aaj</u>toba'''....''paleoloanthropic'' |- | '''eej-''' || ''neo-'' || '''<u>eej</u>visauna'''....''neoclassical'' |- | '''yibaj-''' || ''arch(a)eo-, ancient'' || '''yibajtuna'''....''archaeological'' |- | '''yeb-''' || ''endo-, inner, intro-'' || '''yebzena'''....''endocentric''<br>'''yebuzbwa'''....''introverted'' |- | '''oyeb-''' || ''exo-, outer, ex-, extr(a/o)-'' || '''oyebzena'''....''exocentric''<br>'''oyebuzbwa'''....''extroverted'' |- | '''yab(an)-''' || ''high-, up'' || '''yabnoga'''....''upscale''<br>'''yabnayxa'''....''high-priced'' |- | '''yaban-''' || ''acro-'' || '''yabanyufa'''....''acrophobic'' |- | '''yob-''' || ''low-, down-'' || '''yobnoga'''....''low-grade, down-scale'' |} === English and Mirad Adjectival Suffix Comparison === : Here is a chart showing a comparison between English adjectival suffixes and their Mirad counterparts: :{| class="wikitable sortable" style="background:lightyellow;font-size:smaller;" |+ English and Mirad Adjectival Suffixes Compared |- ! English Suffix !! Meaning !! Mirad Suffix !! Altered Adjective Examples |- | ''-ful'' || full of || '''-aya<br> -ika''' || '''voz<u>aya</u>'''....''colorful''<br> '''tuz<u>ika</u>'''....''skillful'' |- | ''-ous'' || full of || '''-aya<br> -ika''' || '''naz<u>ika</u>'''....''precious''<br> '''mil<u>aya</u>'''....''aqueous'' |- | ''-filled'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoke-filled'' |- | ''-y'' || full of || '''-aya<br> -ika''' || '''mov<u>ika</u> / mov<u>aya</u>'''....''smoky''<br> |- | ''-ous'' || of<br> like || '''-a''' || '''totin<u>a</u>'''....''religious''<br> '''vyos<u>a</u>'''....''erroneous'' |- | ''-ly'' || like || '''-yena''' || '''tot<u>yena</u>'''....''godly''<br> '''toyb<u>yena</u>'''....''womanly'' |- | ''-like'' || like || '''-yena''' || '''pat<u>yena</u>'''....''bird-like'' |- | ''-ish'' || like || '''-yena''' || '''tobot<u>yena</u>'''....''childish'' |- | ''-y'' || like || '''-yena''' || '''fyab<u>yena</u>'''....''fruity'' |- | ''-ic'' || like || '''-yena''' || '''tuz<u>yena</u>'''....''artistic''<br> '''sil<u>yena</u>'''....''acidic'' |- | ''-ic'' || of<br> related to || '''-a''' || '''tun<u>a</u>'''....''scientific''<br> '''bek<u>a</u>'''....''therapeutic'' |- | ''-ical'' || of<br> related to || '''-a''' || '''zyunid<u>a</u>'''....''spherical''<br> '''iztex<u>a</u>'''....''logical'' |- | ''-ological'' || pertaining to the study of || '''-tuna''' || '''tej<u>tuna</u>'''....''biological'' |- | ''-ist(ic)'' || pertaining to the doctrine of || '''-ina''' || '''dopar<u>ina</u>'''....''militarist(ic)''<br> '''nasyan<u>ina</u>'''....''capitalist(ic)'' |- | ''-ophobic'' (and ''miso-'' prefix) || hating<br> fearful of || '''-ufa''' || '''yudat<u>ufa</u>'''....''xenophonic''<br> '''tobyan<u>ufa</u>'''....''misanthropic'' |- | ''-ophilic'' (and ''philo-'' prefix) || loving || '''-ifa''' || '''tobot<u>ifa</u>'''....''pedophilic''<br> '''tob<u>ifa</u>'''....''philanthropic'' |- | ''-al'' || like || '''-yena''' || '''pyot<u>yena</u>'''....''bestial'' |- | ''-al'' || of<br> pertaining to || '''-a''' || '''tej<u>a</u>'''....''vital''<br> '''aman<u>a</u>'''....''thermal'' |- | ''-less'' || without<br> empty of || '''-oya<br> -uka''' || '''tej<u>uka</u>'''....''lifeless''<br> '''tobot<u>oya</u>'''....''childless'' |- | ''-free'' || without<br> empty of || '''-oya<br> -uka''' || '''yom<u>uka</u>'''....''ice-free''<br> '''vyos<u>oya</u>'''....''error-free'' |- | ''-safe<br> -proof'' || free<br> not subject to || '''-vaka''' || '''mil<u>vaka</u>'''....''water<u>proof</u>'' |} == Forming Adverbs == : Adjectives can be converted into adverbs by post-y-gliding the adjectival suffix '''a''', in other words, by adding a '''y''' to the adjective. Adverbs modify verbs, adjectives, and other adverbs. : Examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Deriving Adverbs |- ! Adjective !! Adverb |- | '''fi<u>a</u>'''....''good'' || '''fi<u>ay</u>'''....''well'' |- | '''vya<u>a</u>'''....''true'' || '''vya<u>ay</u>'''....''truly'' |- | '''gyu<u>a</u>'''....''easy'' || '''gyu<u>ay</u>'''....''easily'' |- | '''ig<u>a</u>'''....''quick'' || '''ig<u>ay</u>'''....''quickly'' |- | '''aut<u>a</u>'''....''personal'' || '''aut<u>ay</u>'''....''personally'' |} : For brevity's sake, the stem of monosyllabic de-adjectival adverbs can be used at the end of a clause or sentence. For example: ::* '''It tyoyape <u>ig</u>.'''....''He walks <u>fast</u>.'' ::* '''Yit xa has <u>fi</u>.'''....''They did it <u>well</u>.'' === Special Adverbs === : Mirad has special adverbs that are not derived from adjectives and may or may not end in '''-ay'''. : Here are the principal such adverbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Special Adverbs |- ! Mirad !! English |- | '''vay'''||''indeed, really, certainly, do'' (cf. '''va'''....''yes'') |- | '''vey'''||''possibly, may, might'' (cf. '''ve'''....''maybe'') |- | '''voy'''||''not'' (cf. '''vo'''....''no'') |- | '''ga'''||''more'' (modifying an adjective, adverb, or verb) |- | '''gay'''||''also, moreover, further, still'' |- | '''ge'''||''as, equally'' (modifying an adjective, adverb, or verb) |- | '''gey'''||''even'' |- | '''go'''||''less'' (modifying an adjective, adverb, or verb) |- | '''goy'''||''no longer, no more'' |- | '''gla'''||''very'' |- | '''glay'''||''quite, rather, so'' |- | '''gle'''||''so'' |- | '''glo'''||''not very, not so'' |- | '''gra'''||''too'' |- | '''gre'''||''enough, sufficiently, over-'' |- | '''gro'''||''not...enough, inadequately, under-'' |- | '''gwa'''||''most, super-'' |- | '''gwe'''||''average'' |- | '''gwo'''||''least, sub-'' |- | '''zay'''||''ahead, forward'' |- | '''zey'''||''across'' |- | '''zoy'''||''back'' |- | '''zye'''||''through'' |- | '''zya'''||''throughout'' |} : The first three adverbs in the above chart are used to affirm or emphasize, cast doubt on, or negate verb predicates as in the examples that follow: ::* AFFIRMATIVE: '''Va, at <u>vay</u> se taduwa.'''....''Yes, I am <u>indeed</u> married.'' ::* DUBITIVE: '''Iyta dud se <u>vey</u> vyosa.'''....''Her response is <u>possibly</u> wrong.'' ::* NEGATIVE: '''At <u>voy</u> se eta yuxrut.'''....''I am <u>not</u> your slave.'' : The adverbs above beginning with '''g''' are quantitative adverbs and modify an adjective, verb, or another adverb: ::* '''Et se <u>gla</u> via.'''....''You are <u>very</u> beautiful [=ADJECTIVE].'' ::* '''Et peya <u>gra</u> ig.'''....''You were going <u>too</u> fast [=ADVERB].'' ::* '''It <u>gra</u> dale.'''....''He talks [=VERB] <u>too</u> much.'' : Adverbs can be combined with prepositions to form compound prepositions. If the adverbs ends in '''b''' and the preposition following it begins in '''b''', they are joined together with a single '''b'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Compound Prepositions |- ! Special Adverb !! Example |- | '''yab'''....''up'' + '''bu'''....''to'' = '''yabu''' || '''Ha pat papa <u>yabu</u> ha mam.'''....''The bird flew <u>up to</u> the sky.'' |- | '''yob'''....''down'' + '''bu'''....''to'' = '''yobu'''|| '''Teaxu <u>yobu</u> ha mel.'''....''Look <u>down to</u> the ground.'' |- | '''yob'''....''down'' + '''bi'''....''from'' = '''yobi''' || '''Upu <u>yobi</u> ha abmas!'''....''Come <u>down from</u> the roof!'' |- | '''yub'''....''near'' + '''bi'''....''from'' = '''yubi''' || '''Besu <u>yubi</u> ha mas.'''....''Stay <u>near (from)</u> the wall.'' |- | '''yib'''....''far'' + '''bi'''....''from'' = '''yibi''' || '''Ha tobi igpia <u>yibi</u> ha yovbyokam.'''....''The people ran <u>far from</u> the prison.'' |- | '''yeb'''....''in, inward, inside'' + '''bu'''....''to'' = '''yebu''' || '''Kyedu hat hu ogja tyoyapa <u>yebu</u>ha tam!'''....''Guess who just walked <u>into</u> the house!'' |- | '''oyeb'''....''out, outside'' + '''zye'''....''through'' || '''It tyoyapa <u>oyeb zye</u> ha zames.'''....''He walked <u>out</u> through the front door.'' |- | '''iz'''....''directly, straight'' + '''bu'''....''to'' || '''Pu <u>iz bu</u> hat.'''....''Go <u>right up to</u> him.'' |- | '''zi'''....''right'' + '''ub'''....''toward''|| '''Uzpu <u>zi ub</u> yat!'''....''Turn <u>right toward</u> us!'' |- | '''zu'''....''left'' + '''bi'''....''from''|| '''Hat uzpa <u>zu ib</u> at.'''....''He turned <u>left away from</u> me.'' |- | '''zay'''....''forward'' + '''bu'''....''to'' || '''Pu <u>zay bu</u> ha uj.'''....''Go <u>on to</u> the end.'' |- | '''zoy'''....''back'' + '''bi'''....''from''|| '''Upu <u>zoy bi</u> hua nem.'''....''Come <u>back from</u> that place.'' |- | '''yan'''....''together'' + '''bay'''....''with'' || '''Van yat tyopu <u>yan bay</u> ha hyuti.'''....''Let's walk <u>together with</u> the others.'' |- | '''yon'''....''apart'' + '''bi'''....''from''|| '''Ha meri kyapeye <u>yon bi </u> hyuisi.'''....''The planets are drifting <u>apart from</u> one another.'' |} === Pro-adverbs === : There are also adverbial expressions that are formed with deictic prefixes and categorical stubs to produce what are known as '''''pro-adverbs'''''. These include interrogative pro-adverbs like '''duhom?''' (''where?''), '''duhoyen?''' (''how?''), '''duhoj?''' (''when?''), '''duhogla''' (''to what extent?''), and their answers, such as '''hum''' (''there''), '''heyen''' (''somehow''), and '''hyoj''' (''never''), '''hugla''' (''so, to that extent''). These words are discussed under the chapter on [[Mirad_Grammar/Determiners#Deictic Determiners|Deictic Determiners]]. == Forming Verbs == [[File:Various forms of using the verb "to inform" in LSC.png|thumb|]] : Verbs can be formed from various parts of speech: ::* Noun stems ::* Adjective stems ::* Verb stems === Forming Verbs from Nouns === : Verbs can sometimes be formed from nouns simply by adding the verb infinitive suffix '''er''': :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Denominal Verb Derivation |- ! Noun !! Verb |- | '''ak'''....''a gain'' || '''aker'''....''to win'' |- | '''af'''....''permission'' || '''afer'''....''may, be allowed'' |- | '''teud'''....''cry, shout'' || '''teuder'''....''to cry, shout, exclaim'' |- | '''taj'''....''birth'' || '''tajer'''....''to be born'' |- | '''tej'''....''life'' || '''tejer'''....''to live'' |- | '''toj'''....''death'' || '''tojer'''....''to die'' |- | '''ej'''....''present'' || '''ejer'''....''to continue'' |- | '''ij'''....''beginning'' || '''ijer'''....''to begin'' |- | '''uj'''....''end'' || '''ijer'''....''to end'' |- | '''yuj'''....''sleep'' || '''tujer'''....''to sleep'' |} === Verb Formants === : More often, an auxiliary verb or verb stub is used to create various verbs from nouns. The most common such '''''verb formants''''' are in this chart: :* '''-ser'''....''to be/become'' usually intransitive and stative (''unite'' = ''become one'') ::* '''-sler'''....(more intensive) ::* '''-srer'''....(most intensive) :* '''-xer'''....''to do/make'' usually transitive and dynamic (''unite'' = ''make one'') ::* '''-xler'''....(more intensive) ::* '''-xrer'''....(most intensive) :* '''-per'''....''to go'' usually intransitive and a dynamic verb of motion (''mount'' = ''get onto'') ::* '''-pler'''....(more intensive) ::* '''-prer'''....(most intensive) :* '''-ber'''....''to put'' usually transitive and a verb of gesture (''apply'' = ''put onto'') ::* '''-bler'''....(more intensive) ::* '''-brer'''....(most intensive) :* '''-ier''' a stub from the verb '''bier'''....''to take'', usually an action verb benefiting the agent (''eat'' = ''take food'') :* '''-uer''' a stub from the verb '''buer'''....''to give'', usually an action verb benefiting the patient (''feed'' = ''give food'') :* '''-der'''....''to say'', a verb of communication (''affirm'' = ''say yes'') :* '''-drer'''....''to write'' :* '''-ter'''....''to know'', verbs of the perception and knowledge ('''teater''' = ''see'') :: Some of the above formants can be intensified with the liquids '''l''' or '''r''', eg.'''sler, -xler, -xrer, -bler, -prer'''. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Verb Formants |- ! Noun !! Auxiliary Verb Or Verb Stub Formant !! Verb |- | '''yav'''....''innocence'' || '''der'''....''to say'' || '''yavder'''....''to acquit'' |- | '''yov'''....''shame, guilt'' || '''aber'''....''to apply, put on'' || '''yovaber'''....''to shame, accuse'' |- | '''yov'''....''shame, guilt'' || '''ober'''....''to remove, take off'' || '''yovober'''....''to excuse, exculpate'' |- | '''tof'''....''clothes'' || '''aber'''....''to apply, put on'' || '''tofaber'''....''to dress, don'' |- | '''tof'''....''clothes'' || '''ober'''....''to remove, take off'' || '''tofober'''....''to undress, strip'' |- | '''det'''....''associate'' || '''ser'''....''to be, become'' || '''detser'''....''to associate'' |- | '''dat'''....''friend'' || '''xer'''....''to do, make'' || '''datxer'''....''to befriend'' |- | '''san'''....''form'' || '''ser'''....''to be, become'' || '''sanser'''....''to form (intransitive)'' |- | '''san'''....''form'' || '''xer'''....''to do, make'' || '''sanxer'''....''to form (transitive)'' |- | '''tel'''....''food'' || '''(b)ier'''....''to take'' || '''telier'''....''to eat, consume'' |- | '''tel'''....''food'' || '''(b)uer'''....''to give'' || '''teluer'''....''to feed, nourish'' |- | '''if'''....''pleasure'' || '''(b)ier'''....''to take'' || '''ifier'''....''to enjoy'' |- | '''if'''....''pleasure'' || '''(b)uer'''....''to give'' || '''ifuer'''....''to please'' |- | '''taj'''....''birth'' || '''ber'''....''to put'' || '''tajber'''....''to give birth'' |- | '''tej'''....''life'' || '''per'''....''to go'' || '''tejper'''....''to come alive'' |- | '''tej'''....''life'' || '''ber'''....''to put'' || '''tejber'''....''to bring to life'' |- | '''toj'''....''death'' || '''per'''....''to go'' || '''tojper'''....''to drop dead'' |- | '''toj'''....''death'' || '''ber'''....''to put'' || '''tojber'''....''to kill'' |- | '''tij'''....''wakefulness'' || '''per'''....''to go'' || '''tijper'''....''to wake up'' |- | '''tij'''....''wakefulness'' || '''ber'''....''to put'' || '''tijber'''....''to awaken'' |- | '''tuj'''....''sleep'' || '''per'''....''to go'' || '''tujper'''....''to fall asleep'' |- | '''tuj'''....''sleep'' || '''ber'''....''to put'' || '''tujber'''....''to put to sleep'' |- | '''tax'''....''memory'' || '''(b)ier'''....''to take'' || '''taxier'''....''to recall'' |- | '''tax'''....''memory'' || '''(b)uer'''....''to give'' || '''taxuer'''....''to remind'' |- | '''yev'''....''justice'' || '''der'''....''to say, tell'' || '''yevder'''....''to judge'' |- | '''vyan'''....''truth'' || '''der'''....''to say, tell'' || '''vyander'''....''to tell the truth'' |- | '''vyon'''....''falsehood'' || '''der'''....''to say, tell'' || '''vyonder'''....''to tell a lie'' |- | '''il'''....''liquid'' || '''aker'''....''to gain'' || '''ilaker'''....''to take on liquid'' |- | '''il'''....''liquid'' || '''oker'''....''to lose'' || '''iloker'''....''to leak, lose liquid'' |- | '''il'''....''liquid'' || '''(b)ier'''....''to take'' || '''ilier'''....''to soak up'' |- | '''il'''....''liquid'' || '''(b)uer'''....''to give'' || '''iluer'''....''to pour, water'' |- | '''il'''....''liquid'' || '''ikser'''....''to get full'' || '''ilikser'''....''to be soaked'' (intransitive) |- | '''il'''....''liquid'' || '''ikxer'''....''to fill up'' || '''ilikxer'''....''to flood, soak'' (transitive) |- | '''il'''....''liquid'' || '''ukser'''....''to become empty'' || '''ilukser'''....''to drain'' (intransitive) |- | '''il'''....''liquid'' || '''ukxer'''....''to empty'' || '''ilukxer'''....''to flush'' (transitive) |- | '''il'''....''liquid'' || '''ser'''....''to be, become'' || '''ilser'''....''to liquify, melt'' (intransitive) |- | '''il'''....''liquid'' || '''xer'''....''to do, make'' || '''ilxer'''....''to liquify, melt'' (transitive) |- | '''il'''....''liquid'' || '''aber'''....''to apply, put on'' || '''ilaber'''....''to wash'' (transitive) |- | '''il'''....''liquid'' || '''aper'''....''to get on'' || '''ilaper'''....''to float'' (intransitive) |- | '''il'''....''liquid'' || '''per'''....''to go'' || '''ilper'''....''to flow'' (intransitive) |- | '''il'''....''liquid'' || '''zyaber'''....''to spread'' || '''ilzyaber'''....''to spray, shower'' (transitive) |- | '''il'''....''liquid'' || '''zyober'''....''to squeeze'' || '''ilzyober'''....''to squirt'' (transitive) |- | '''il'''....''liquid'' || '''pyexer'''....''to strike'' || '''ilpyexer'''....''to splash (with liquid)'' |- | '''il'''....''liquid'' || '''yujer'''....''to close'' || '''ilyujer'''....''to plug'' |} : Note that verbs ending in '''-ser''' and '''-ier''' are intransitive (they take no object), while those ending in '''-xer''' and '''-uer''' are transitive. Also, '''-ier''' verbs are subject-directed, while '''-uer''' verbs are object-directive or causative (making someone do something). === Forming Verbs from Adjectives With -xer and -ser === : The verbs that are formed from adjectives fall mainly into two groups, the transitive group with '''-xer'''....''to do, make, cause'', and the intransitive group with '''-ser'''....''to be, become''. : The following chart shows how these verbs are formed: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Forming Verbs with Xer and Ser |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aza'''....''strong'' || '''azaxer'''....''fortify, strengthen, make strong'' || '''azaser'''....''get strong'' |- | '''oza'''....''week'' || '''ozaxer'''....''weaken'' || '''ozaser'''....''grow weaker'' |- | '''kyia'''....''heavy'' || '''kyiaxer'''....''weigh down'' || '''kyiaser'''....''grow heavy'' |- | '''kyua'''....''light'' || '''kyuaxer'''....''lighten, make lighter'' || '''kyuaser'''....''get lighter'' |- | '''yana'''....''together'' || '''yanaxer'''....''bring together'' || '''yanaser'''....''get together'' |} : The final adjective ending '''a''' is often dropped to form a verb with a slightly different meaning, usually somewhat more idiomatic. In some cases, dropping the '''a''' makes it clear that the verb is created from a noun rather than an adjective, as in the last example of the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Comparing Full and Stub Adjectives in Verb Formation |- ! Adjective !! Transitive Verb !! Intransitive Verb |- | '''aga'''....''big'' || '''agaxer'''....''magnify'' || '''agaser'''....''get big'' |- | || '''agxer'''....''grow'' || '''agxer'''....''grow up, mature'' |- ! !! !! |- | '''iga'''....''fast'' || '''igaxer'''....''accelerate'' || '''igaser'''....''speed up'' |- | || '''igxer'''....''rush'' || '''igser'''....''hurry up'' |- ! !! !! |- | '''baka'''....''healthy'' || '''bakaxer'''....''make healthy'' || '''bakaser'''....''get healthy'' |- | || '''bakxer'''....''heal'' || '''bakser'''....''heal'' |- ! !! !! |- | '''sana'''....''formal'' || '''sanaxer'''....''formalize'' || '''sanaser'''....''become formal'' |- | || '''sanxer'''....''form, shape'' || '''sanser'''....''form, take shape'' |} === Forming Verbs of Gesture and Motion with -ber and -per === : Verbs of gesture are formed with the transitive auxiliary verb '''ber'''....''to put'', while parallel verbs of motion are formed with the intransitive auxiliary verb '''per'''....''to go''. These verbs are usually paired and are often built from a prepositional base. If the prepositional base ends in '''b''', the '''b''' is dropped. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Verb Derivation with Ber and Per |- ! Preposition<br>Base !! Transitive Gesture Verb !! Intransitive Motion Verb |- | '''ab'''....''on'' || '''aber'''....''apply, put on'' || '''aper'''....''mount, get on'' |- | '''eb'''....''between'' || '''eber'''....''block'' || '''eper'''....''intervene'' |- | '''ob'''....''off'' || '''ober'''....''remove, take off'' || '''oper'''....''dismount, get off'' |- | '''ib'''....''away'' || '''iber'''....''receive'' || '''iper'''....''leave'' |- | '''ub'''....''toward'' || '''uber'''....''send'' || '''uper'''....''come'' |- ! !! !! |- | '''yab'''....''up'' || '''yaber'''....''raise'' || '''yaper'''....''rise'' |- | '''yeb'''....''in''<br>'''oyeb'''....''out'' || '''yeber'''....''insert''<br>'''oyeber'''....''take out'' || '''yeper'''....''enter''<br>'''oyeper'''....''exit'' |- | '''yob'''....''down'' || '''yober'''....''lower'' || '''yoper'''....''descend'' |- | '''yib'''....''far'' || '''yiber'''....''take away'' || '''yiper'''....''move away'' |- | '''yub'''....''near'' || '''yuber'''....''bring'' || '''yuper'''....''approach'' |- ! !! !! |- |- | '''za'''....''front'' || '''zaber'''....''put up front'' || '''zaper'''....''take the lead'' |- | '''zay'''....''forward'' || '''zayber'''....''advance'' || '''zayper'''....''advance, go forward'' |- | '''ze'''....''middle'' || '''zeber'''....''balance'' || '''zeper'''....''balance'' |- | '''zey'''....''across'' || '''zeyber'''....''take across, transfer'' || '''zeyper'''....''cross, go over, transit'' |- | '''zo'''....''behind'' || '''zober'''....''hinder'' || '''zoper'''....''trail, lag'' |- | '''zoy'''....''back'' || '''zoyber'''....''set back, return'' || '''zoyper'''....''retreat, go back, return'' |- ! !! !! |- | '''iz'''....''straight'' || '''izber'''....''guide'' || '''izper'''....''aim for'' |- | '''uz'''....''crooked'' || '''uzber'''....''divert'' || '''uzper'''....''turn, diverge'' |- |- '''zi'''....''right'' || '''ziber'''....''set to the right'' || '''ziper'''....''go right'' |- | '''zu'''....''left'' || '''zuber'''....''set to the left'' || '''zuper'''.... ''go left'' |- | '''yiz'''....''beyond'' || '''yizber'''....''take beyond'' || '''yizper'''....''pass by'' |- | '''yuz'''....''around'' || '''yuzber'''....''take around'' || '''yuzper'''....''go around'' |} ==== Deriving Further Verbs of Gesture and Motion ==== : More elaborate verbs of gesture and motion can be formed by adding positional/directional ordinal vowels along with combinations of '''ser''' and '''xer''', plus the intensifiers '''y''', '''l''' and '''r'''. In this more complex scheme, the stem-initial '''p''' is a more semantically intense version of '''b'''. Also the verb endings '''-sler''' and '''-srer''' and more intense versions of the intransitive ending '''-ser''', while '''-xler''' and '''-xrer''' and more intense version of the transitve ending '''-xer'''. Verbs ending in '''-ler''' and '''-rer''' are transitive voice by nature, '''-rer''' being more semantically intense. Prepositions can be prefixed to change the direction of the gestures or motions. :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Creating More Elaborate Verbs |- ! colspan="2"| Gesture Verb !! colspan="2"| Motion Verb |- ! Intransitive !! Transitive !! Intransitive !! Transitive |- | -- ||'''ber'''....''put'' <br>'''beer'''....''have'' <br>'''beler'''....''carry'' <br>'''bexer'''....''hold'' <br>'''bexler'''....''keep'' | '''per'''....''go''||-- |- ! !! !! !! |- | '''baer'''....''lean on'' || '''baler'''....''press''<br>'''yanbaler'''....''compress''<br>'''yobaler'''....''depress, suppress''<br>'''yuzbaler'''....''hug''<br>'''zoybaler'''....''repress''<br>'''barer'''....''crush'' ||'''paer'''....''hover'' || |- |'''baser'''....''gesticulate'' || '''baxer'''....''make a gesture''<br>'''abaxer'''....''caress, pat'' || '''paser'''....''move''||'''paxer'''....''move'' |- |'''byaser'''....''stand up'' || '''byaxer'''....''set up, erect'' || '''pyaser'''....''jump up'' || '''pyaxer'''....''shoot, launch'' |- |'''basler'''....''budge'' || '''baxler'''....''rouse''<br>'''abaxler'''....''stroke'' || '''paaser'''....''get excited'' || '''paaxer'''....''excite''<br>'''apaxler'''....''sweep'' |- |'''basrer'''....''shake'' || '''baxrer'''....''shake''<br>'''abaxrer'''....''rub'' || || '''apaxrer'''....''scrub'' |- ! !! !! !! |- |'''beser'''....''stay'' || '''bexer'''....''hold''<br>'''zoybexer'''....''restrain''<br>'''yobexer'''....''detain, hold down'' || '''peser'''....''wait'' || '''pexer'''....''trap''<br>'''pexler'''....''capture''<br>'''pexrer'''....''abduct'' |- |'''byeser'''....''behave''|| '''byexer'''....''hit'' || '''pyeser'''....''run into, bump into''|| '''pyexer'''....''strike, knock''<br>'''yonpyexer'''....''break''<br>'''yopyexer'''....''knock down''<br>'''epyexer'''....''fight''<br>'''apyexer'''....''attack''<br>'''ovpyexer'''....''offend''<br>'''kunpyexer'''....''sideswipe''<br>'''tuyapyexer'''....''slap'' |- |'''besler'''....''adhere'' || '''bexler'''....''retain''|| || '''pyexler'''....''pound, beat''<br>'''apyexler'''....''assault''<br>'''yonpexler'''....''shatter, burst'' |- | || || '''yanpyesrer'''....''implode''<br>'''yonpyesler'''....''explode'' || '''pyexler'''....''blast, bomb'' |- ! !! !! !! |- | '''boser'''....''calm down''<br>'''boyser'''....''rest'' || '''boxer'''....''quieten, quell'' || '''poser'''....''stop''<br>'''poyser'''....''pause'' || '''poxer'''....''stop'' |- | '''byoser'''....''hang'' || '''byoxer'''....''hang'' || '''pyoser'''....''fall''<br>'''yonpyoser'''....''decay'' || '''pyoxer'''....''drop, throw down''<br>'''yopyoxer'''....''topple''<br> |- ! !! !! !! |- | '''biser'''....''originate'' || '''bixer'''....''pull''<br>'''yanbixer'''....''contract''<br>'''yonbixer'''....''distract''<br>'''yubixer'''....''attract''<br>'''yibixer'''....''distract''<br>'''oyebixer'''....''extract''<br>'''yebixer'''....''push in'' || || '''pixer'''....''catch'' |- |'''bisler'''....''spring'' || '''bixler'''....''yank''<br>'''bixrer'''....''ravage'' || || '''pixler'''....''snatch''<br>'''pixrer'''....''rape'' |- ! !! !! !! |- | '''buser'''....''be destined'' || '''buxer'''....''push, drive''<br>'''zyobuxer'''....''squeeze''<br>'''yebuxer'''....''expel''<br>'''abuxer'''....''impose'' || '''apuser'''....''assault'' || '''puxer'''....''throw, thrust'' |- |'''byuser'''....''bump into'' || '''byuxer'''....''touch''<br>'''yanbyuxer'''....''contact'' ||'''pyuser'''....''run into'' || '''pyuxer'''....''crash'' |- |'''busler'''....''swoop'' || '''buxler'''....''shove'' || '''pusler'''....''lunge, pounce'' || '''puxler'''....''thrust''<br>'''zyapuxler'''....''splatter'' |} === Deriving New Verbs with Prefixes === : Yet more complex verbs can be generated by adding directional and positional prefixes to the above verbs. Let's just take the one verb '''baxer''' (and its intransitive partner '''baser''') as our base verb and generate many others through prefixation of prepositional and other words as shown in the following chart: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Baxer Verbs |- ! Prefix !! Verb |- ! colspan=2 | '''baxer'''....''gesture, make a bodily motion'' |- | '''ab'''....''on'' || '''abaxer'''....''caress, pat, pet, stroke, rub'' |- | '''iz'''....''straight'' || '''izbaxer'''....''point'' |- | '''teb'''....''head'' || '''tebaxer'''....''nod'' |- | '''va'''....''yes'' || '''vatebaxer'''....''nod yes'' |- | '''vo'''....''no'' || '''votebaxer'''....''nod no'' |- | '''ve'''....''maybe'' || '''vetebaxer'''....''shrug'' |- | '''tuyab'''....''hand'' || '''tuyabaxer'''....''wave'' |- | '''tub'''....''arm'' || '''tubaxer'''....''flail, swing'' |- | '''teubab'''....''tongue'' || '''teubabaxer'''....''lick'' |- | '''teab'''....''eye'' || '''teubaxer'''....''wink'' |- | '''patub'''....''wing'' || '''patubaxer'''....''flap'' |- | '''tiyub'''....''tail'' || '''tiyubaxer'''....''wag'' |- ! colspan=2 | '''baser'''....''gesticulate'' |- | '''ig-'''....''fast'' || '''igbaser'''....''jerk'' |- | '''zay'''....''forward'' || '''igzaybaser'''....''lurch'' |- | '''zoy'''....''back'' || '''zoybaser'''....''recoil'' |- | '''yob'''....''down'' || '''yobaser'''....''bow, bend down'' |- | '''ku-'''....''side'' || '''kubaser'''....''slide'' |- | '''ig-'''....''fast'' || '''igkubaser'''....''slip'' |- | '''iz'''....''straight'' + '''uz'''....''curved'' || '''uizbaser'''....''sway, swagger, swish'' |- | '''zi'''....''right'' + '''zu'''....''left'' || '''zuibaser'''....''wiggle, wobble, totter'' |} === Forming Frequentative Verbs === : A frequentative verb, that is, one that involves an action done quickly multiple times in succession, can be formed by prefixing the syllable '''je-''' to the verb. Here are some examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ The -eg- Frequentative Infix |- ! Regular Verb !! Frequantative Verb |- | '''paser'''....''move'' || '''jepaser'''....''shake, shudder'' |- | '''pyaser'''....''jump'' || '''jepyaser'''....''bounce'' |- | '''paper'''....''fly'' || '''jepaper'''....''flutter, flit'' |- | '''braser'''....''shake'' || '''jebraser'''....''shudder, quiver, vibrate'' |- | '''teupixer'''....''bite'' || '''jeteupiger'''....''nibble'' |- | '''ilzyaber'''....''spray'' || '''jeilzyaber'''....''sprinkle'' |- | '''pyexer'''....''beat'' || '''jepyexer'''....''batter, whip'' |} === Forming Hybrid Words === : Expressions with alternating components like ''back-and-forth'', ''up-and-down'', etc. are formed in a peculiar, hybrid way. The following table shows this formation and how such words can be used, especially as prefixes on verbs: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ Hybrid Words |- ! Alternative Components !! Hybrid Expression !! Examples |- | '''yab'''....''up'' +<br>'''yob'''....''down'' || '''yao(b)-'''....''up-and-down'' || '''yaoper'''....''fluctuate'', '''yaopuser'''....''bounce'' |- | '''a-'''....''up, north, skyward'' +<br>'''o-'''....''down, south'' || '''ao-'''....''vertical'' || '''aonada'''....''vertical'', '''aonab'''....''column'' |- | '''za(y)'''....''forth, north'' +<br>'''zo(y)'''....''back, south'' || '''zao(b)-'''....''front-back/north-to-south'' || '''zaobaser'''....''rock'', '''zaomera'''....''north/south'' |- |- '''zu'''....''left/west'' +<br>'''zi'''....''right/east'' || '''zui(b)-'''....''right-to-left/east-to-west'' || '''zuinada'''....''horizontal'', '''zuibaser'''....''wiggle'', '''zuimera'''....''east/west'' |- | '''bu'''....''to'' +<br>'''bi'''....''from'' || '''bui-'''....''to-and-from'' || '''buipar'''....''shuttle'', '''buipop'''....''round-trip'' |- | '''ab'''....''on'' +<br>'''ob'''....''off'' || '''ao(b)-'''....''on-and-off'' || '''aoper'''....''get on and off'' |- | '''yuj-'''....''closed'' +<br>'''yij-'''....''open'' || '''yuij-'''....''open-and-shut'' || '''yuijbar'''....''switch'', '''igyuijer'''....''blink'' |- | '''uj-'''....''stop'' +<br>'''ij-'''....''start'' || '''uij-'''....''stop-and-start'' || '''uijparpan'''....''stop-and-go traffic'' |- | '''(a)yeb'''....''in'' +<br>'''oyeb'''....''out'' || '''aoye(b)-'''....''in-and-out'' || '''igaoyeper'''....''run in-and-out'' |- | '''yub'''....''near'' +<br>'''yib'''....''far'' || '''yui(b)-'''....''near-and-far'' || '''yuipoper'''....''travel near-and-far'' |- | '''ub'''....''toward'' +<br>'''ib'''....''away'' || '''ui(b)-'''....''toward-and-away'' || '''uipen'''....''coming and going'' |- | '''hum'''....''there'' +<br>'''him'''....''here'' || '''huim'''....''here-and-there'' || '''huimkexer'''....''search high-and-low (here-and-there)'' |- | '''hus'''....''that'' +<br>'''his'''....''this'' || '''huis'''....''this-and-that'' || '''huisyexer'''....''do odd jobs, work at this-or-that'' |- | '''hyut'''....''other person'' +<br>'''hyit'''....''same person'' || '''hyuit'''....''one another'' || '''hyuitifer'''....''love one another'', '''hyuita'''....''mutual, reciprocal'' |} : Here are some more examples: :{| class="wikitable" style="background:lightyellow;font-size:smaller;" |+ More Hybrids ! Hybrid Word !! English Gloss !! Alternating Components |- |'''aogsen'''||'' fluctuation (in size) ''|| '''ag-''' (''big'') + '''og-''' (''little'') + '''s-''' (''become'') + '''-en''' (''-ing'') |- |'''aonada'''||''vertical ''|| '''a-''' (''up/north'') + '''o-''' (''down/south'') + '''nad''' (''line'') + '''-a''' (''adj.'') |- |'''aopuys'''||'' hop-on-hop-off ''|| '''a(p)-''' (''on'') + '''o(p)-''' (''off'') + '''puys-''' (''hop'') |- |'''buien'''||'' trading, swapping ''|| '''bu-''' (''give'') + '''bi-''' (''trake'') + '''-en''' (''-ing'') |- |'''buip'''||'' traffic ''|| '''bu-''' (''to'') + '''bi-''' (''from'') + '''p-''' (''go'') |- |'''buixar'''||''spring''|| '''bux-''' (''push'') + '''bix''' (''pull'') + '''-ar''' (''instrument'') |- |'''buixek'''||'' tug-o-war ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''ek''' (''play'') |- |'''buixnyem'''||'' drawer ''|| '''bux-''' (''push'') + '''bix-''' (''pull'') + '''nyem''' (''box'') |- |'''byaosen'''||'' teetering, stumbling ''|| '''byas-''' (''stand'') + '''byos-''' (''fall'') + '''-en''' (''-ing'') |- |'''diep'''||'' marine force ''|| '''dip''' (''sea force'') + '''dep''' (''land force'') |- |'''duid'''||'' q&a, interview ''|| '''dud''' (''answer'') + '''did''' (''question'') |- |'''eigpyexer''' || ''batter, whip'' || '''eg-''' (''again'') + '''ig-''' (''fast'') + '''pyexer''' (''to hit'') |- |'''gao'''||'' more-or-less ''|| '''ga''' (''more'') + '''go''' (''less'') |- |'''glaojo'''||'' sooner or later ''|| '''gla''' (''very'') + '''glo''' (''slightly'') + '''jo''' (''after'') |- | '''huimkexer''' || ''search here and there'' || '''hu-''' (''that'') + '''hi-''' (''this'') + '''-m''' (''place'') + '''kex''' (''search'') + '''-er''' (''inf.'') |- |'''huis'''||'' this-and-that ''|| '''hu-''' (''that'') + '''hi-''' (''this'') + '''-s''' (''thing'') |- |'''hyuit'''||'' one another ''|| '''hyu-''' (''other'') + '''hyi-''' (''same'') + '''-t''' (''person'') |- |'''kyaopen'''||'' fluctuation ''|| '''kya-''' (''mobile'') + '''kyo''' (''static'') + '''-pen''' (''going'') |- |'''maluier'''||'' breathe ''|| '''mal-''' (''air'') + '''u-''' (''let out'') + '''i-''' (''take in'') '''-er''' (''inf.'') |- |'''maojyex'''||'' double-shift work ''|| '''maj''' (''day'') + '''moj''' (''night'') + '''yex''' (''work'') |- |'''maonig'''||'' flicker ''|| '''man''' (''light'') + '''mon''' (''dark'') + '''ig-''' (''fast'') |- |'''maolza'''||'' black&white/gray ''|| '''malza''' (''white'') + '''molza''' (''black'') |- |'''meil'''||'' mud ''|| '''mel''' (''soil'') + '''mil''' (''water'') |- |'''memuiben'''||'' import-exports ''|| '''mem''' (''country'') + '''ub-''' (''send'') + '''ib-''' (''receive'') + '''-en''' (''-ing'') |- |'''mial'''||'' vapor ''|| '''mil''' (''water'') + '''mal''' (''air'') |- |'''mieg'''||'' reef ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-g''' (''stone'') |- |'''miek'''||'' sand ''|| '''mi-''' (''sea'') + '''me-''' (''land'') + '''-k''' (''rocky substance'') |- |'''miem'''||'' swamp ''|| '''mim''' (''sea'') + '''mem''' (''land'') |- |'''mimpuin'''||'' dock ''|| '''mim''' (''sea'') + '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''mimpyaos'''||'' surf ''|| '''mim''' (''sea'') + '''pyas-''' (''surge'') + '''pyos-''' (''sink'') |- |'''mimuip'''||'' tide ''|| '''mim''' (''sea'') + '''up-''' (''come'') + '''ip-''' (''go'') |- |'''peit'''||'' amphibian ''|| '''pet''' (''land animal'') + '''pit''' (''sea creature'') |- |'''puim'''||'' kiss-and-ride zone''|| '''pu-''' (''arrive'') + '''pi-''' (''depart'') + '''-m''' (''place'') |- |'''puixek'''||'' baseball ''|| '''pux-''' (''pitch'') + '''pix-''' (''catch'') + '''ek''' (''play'') |- | '''pyaos''' || ''wave'' || '''pyas-''' (''surge'') + '''pyos-''' (''crest'') |- |'''teabyuij'''||'' blink ''|| '''teab''' (''eye'') + '''yuj-''' (''close'') + '''yij-''' (''open'') |- |'''tuijea'''||'' nodding off ''|| '''tuj-''' (''sleep'') + '''tij''' (''wake'') '''-ea''' (''-ing'') |- |'''uijdal'''||'' stutter ''|| '''uj-''' (''finish'') + '''ij-''' (''start'') + '''dal''' (''speech'') |- |'''uipeni'''||'' comings & goings ''|| '''up-''' (''come'') + '''ip''' (''go'') + '''-en''' (''-ing'') + '''-i''' (''pl.'') |- |'''uiza'''||'' serpentine, snaky ''|| '''uza''' (''crooked'') + '''iza''' (''straight'') |- |'''vao?'''||'' yes or no? ''|| '''va''' (''yes'') + '''vo''' (''no'') |- |'''vaod'''||'' decision ''|| '''va''' (''yes'') + '''vo''' (''no'') + '''d-''' (''say'') |- |'''yaobar'''||'' elevator ''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''-ar''' (''instrument'') |- |'''yaobyuijar'''||''piston''|| '''yab-''' (''raise'') + '''yob-''' (''lower'') + '''yuj-''' (''close'') + '''yij-''' (''open '') + '''-ar''' (''instrument'') |- |'''yaoplas'''||''oscillation''|| '''yap-''' (''up'') + '''yop-''' (''down'') + '''plas''' (''shake'') |- |'''yaopsim'''||''seesaw''|| '''yap-''' (''ascend'') + '''yop-''' (''descend'') + '''sim''' (''seat'') |- |'''yaopus'''||''bounce''|| ya(''b'')'''-''' (''up'') + yo(''b'')'''-''' (''down'') + '''pus''' (''jump'') |- |'''yaovdut'''||''juror''|| '''yav-''' (''innocent'') + '''yov-''' (''guilty'') + '''d-''' (''say'') + '''-ut''' (''agent'') |- |'''yaoza'''||''uneven, bumpy, serrated''|| '''yaza''' (''convex'') + '''yoza''' (''concave'') |- |'''yaozgoblar'''||''saw''|| '''yaz''' (''protrusion '') + '''yoz''' (''indentation'') + '''gobl-''' (''cut'') + '''-ar''' (''instrument'') |- |'''yaozil'''||''wave''|| '''yaz''' (''swell'') + '''yoz''' (''trough'') + '''-il''' (''liquid'') |- |'''yuibteabar'''||''bifocals''|| '''yub''' (''near'') + '''yib''' (''far'') + '''teab''' (''eye'') + '''-ar''' (''instrument'') |- |'''yuijar'''||'' valve, switch''|| '''yuj-''' (''close'') + '''yij-''' (''open'') + '''-ar''' (''instrument'') |- |'''zaobelur'''||''ferry''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''bel-''' (''carry'') + '''-ur''' (''vehicle'') |- |'''zaobyexar'''||''swatter, bat''|| '''za''' (''forth'') + '''zo''' (''back'') + '''byex-''' (''strike'') + '''-ar''' (''instrument'') |- |'''zaodal'''||''dialog''|| '''za-''' (''forth'') + '''zo''' (''back'') + '''dal''' (''speech'') |- |'''zaogoblar'''||''saw''|| '''za''' (''forth'') + '''zo''' (''back'') + '''gobl''' (''cut'') + '''-ar''' (''instrument'') |- |'''zaokyax'''||''alternation''|| '''za''' (''forth'') + '''zo''' (''back'') + '''kyax''' (''change'') |- |'''zaopasen'''||''swinging''|| '''za-''' (''forth'') + '''zo-''' (''back'') + '''pasen''' (''moving'') |- |'''zaopsim'''||''swing or rocker''|| '''zap-''' (''go forth'') + '''zap''' (''go back'') + '''sim''' (''seat'') |- |'''zuibasen'''||''wiggling''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bas-''' (''move bodily'') + '''-en''' (''-ing'') |- |'''zuibayx'''||''wag''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''bayx-''' (''slight body move'') |- |'''zuibyoxea'''||''dangling''|| '''zu''' (''left'') + '''zi''' (''right'') + '''byox-''' (''hang down'') + '''-ea''' (''-ing'') |- |'''zuiyafa'''||''ambidextrous''|| '''zu-''' (''left'') + '''zi-''' (''right'') + '''yafa''' (''capable'') |- |'''zyaobas'''||''throb''|| '''zya-''' (''wide'') + '''zyo-''' (''narrow'') + '''bas''' (''bodily movement'') |} <noinclude>{{Chapter navigation with TOC|Acronyms and Abbreviations|Word Families}}</noinclude> gom41b3rylje8o3mqljt8c2frbmo47a User talk:Kittycataclysm 3 442343 4635272 4635154 2026-05-11T16:37:07Z Kittycataclysm 3371989 /* Log in issues */ Reply 4635272 wikitext text/x-wiki {| class="wikitable" |+ ! colspan="3" |Talk Page Archives |- |[[User talk:Kittycataclysm/Archive 2022|2022]] |[[User talk:Kittycataclysm/Archive 2023|2023]] |[[User talk:Kittycataclysm/Archive 2024|2024]] |} == That IP range calculator == Following [[phab:T381138|T381138]], I have now become the maintainer of the IP range calculator you like. You can find it [[toolforge:ftools/general/ip-range-calc.html|here]]. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 23:10, 9 January 2025 (UTC) :Thank you for the heads-up! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:56, 10 January 2025 (UTC) == A merge and unmerge from two years ago == I was browsing through the history merge log when I saw that you merged [[Cookbook:Chicken Bog]] into [[Cookbook:Chicken Bog I]], and then promptly reverted it. What happened here exactly? Could I correct it? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 15:55, 10 January 2025 (UTC) :Good question! I can't remember what I was trying to do, but it looks like I didn't succeed at what I wanted based on the log comment. You're just trying to history merge to get [[Cookbook:Chicken Bog I]] to have continuity of history? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:35, 10 January 2025 (UTC) ::I think I figured out your mistake: it outright moved the revisions from the first page to the second, rather than copying them. This would have caused the other two [[Cookbook:Chicken Bog]] pages to have incomplete histories. I think the only solution would be to XML import the pre-April 2023 revisions from the first page to the other three, and I'm not sure if that's the best idea, and I am technically unable to do so. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 16:49, 10 January 2025 (UTC) == Undeletion request == I wouldn't be surprised if you expected this, but I'd like to ask you to undelete the subpages of [[Rotorcraft Fundamentals]] you just deleted with the summary "Use of copyrighted work without permission. Please read Terms of Use: page needs to be imported for attribution", so that I can do that. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:54, 14 January 2025 (UTC) :Done! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:57, 14 January 2025 (UTC) ::Upon further investigation, this might actually be a rare case where an [[WB:UT|unmerged transwiki]] is ''preferred'' (this is part of why I stopped calling them "bad transwikis"), since only a small portion of the Wikipedia article (with over 2,000 revisions) was copied over. Importation is generally only needed if the ''majority'' of the page is copied across wikis. I'll just leave a null edit providing attribution and add {{tlx|Copied}}. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 21:19, 14 January 2025 (UTC) == Reusing [[Cookbook:8 Desserts in 1 Pan]] on wikiHow == Hi, I am a user on wikiHow, see [[wikihow:User:Xeverything11]]. I would like to create a new recipe on wikiHow. I wanted to let us know if I can give permission to reuse your contributions to this recipe from Wikibooks to wikiHow. I (as a copyright holder) created this recipe on Wikibooks, but you contributed to this recipe. If not, I'll use the revision before you contributed since I was the only author. Wikibooks uses CC-BY-SA 4.0 while wikiHow uses CC-BY-NC-SA 3.0, which both licenses are incompatible due to ShareAlike conditions. Thanks [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 08:27, 15 January 2025 (UTC) :@[[User:Xeverything11|Xeverything11]] I'm personally fine with this as long as proper attribution is given back to the original recipe page here. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:52, 20 January 2025 (UTC) ::I adapted this [[wikihow:Make-8-Desserts-in-1-Pan|recipe]] on wikiHow with attribution, and got a Rising Star (an achievement used for best new articles on wikiHow). Thank you! [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 19:49, 24 January 2025 (UTC) == Wikibooks community == Hi, @[[User:Kittycataclysm|Kittycataclysm]]! I am trying to contribute more to English Wikibooks. My main contributions will focus on the Cookbook, especially on Indonesian recipes. Do you have a community group where we can discuss and share ideas together? I am looking forward to join. Thank you! [[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 08:47, 16 January 2025 (UTC) :@[[User:Raflinoer32|Raflinoer32]] Sorry I missed this, and welcome! Are you asking about a Cookbook-specific area for discussion? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:39, 20 January 2025 (UTC) ::Yes. Do you know place for this? ::Thank you ::[[User:Raflinoer32|Raflinoer32]] ([[User talk:Raflinoer32|discuss]] • [[Special:Contributions/Raflinoer32|contribs]]) 09:41, 21 January 2025 (UTC) :::Honestly, there's not a centralized Cookbook-specific discussion space, especially since there aren't currently a ton of active contributors. Some people ask questions at [[Cookbook talk:Table of Contents]]. I'm currently the most consistently active and involved Cookbook editor, so feel free to ask me questions! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:46, 22 January 2025 (UTC) == Congratulations! == [[File:Admin T-shirt.svg|thumb|You get this now.]] You are now a permanent administrator. Welcome to the team (I am entitled to say this because I technically got the extension a few hours before you did)!{{FBDB}} [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 10:33, 29 January 2025 (UTC) :Thanks :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:29, 29 January 2025 (UTC) == Is there a way to contact a Steward on WikiBooks? == Hi {{PAGENAME}}, Is there a way to contact a Steward on WB? I tried to find who the active Stewards are here at [[Special:ActiveUsers?username=&groups%5B%5D=steward&wpFormIdentifier=specialactiveusers]] but nothing shows up. The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the [[Wikimania-wiki]], but I just visited the [[wikimania 2014 wiki]] and could not find this backward link. I tried to ask about this on the [[Wikimania 2014 main-page talk]] but disovered that the Stewards have protected it. Is there a way wikibookians can communicate with Stewards at WB? Thanks in advance for answering this non-urgent question, and apologies for all the red-links which I can bluify if needed. Cheers [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 16:37, 7 February 2025 (UTC) :@[[User:Ottawahitech|Ottawahitech]] You can ask this on somewhere like [[metawiki:Steward requests/Miscellaneous]]. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 17:01, 7 February 2025 (UTC) <s>:@[[User:Ottawahitech|Ottawahitech]] seconding what Leaderboard said—we no longer have any active stewards at enWB.</s> Had a brain fade there and mixed up stewards with bureaucrats. Yes, meta is the place for this. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:15, 7 February 2025 (UTC) ::@Kittycataclysm,@[[User:Leaderboard|Leaderboard]], or anyone else: ::Some wikibookians prefer for various reasons to post only at wb. I myself am indef-blocked at META so could not participate at [[metawiki:Steward requests/Miscellaneous]] even if I waned to. ::Since [[Wikimania]] is a topic of interest to all members of the [[wikimedia movement]] why can't wikibookians talk to thier elected representatives here? [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:56, 7 February 2025 (UTC) :::@[[User:Ottawahitech|Ottawahitech]] I can check with the blocking admin to see if they'd be willing to unblock you, if you'd like. The reason things like these are done at Meta is that Meta is a cross-project coordination platform - stewards ''cannot'' be expected to watch every project after all. Now you could message any steward here on Wikibooks if you really wanted to, but that is not normally a good idea. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 02:26, 8 February 2025 (UTC) ::::Wikimania is the annual conference celebrating all the free knowledge projects hosted by the Wikimedia Foundation (WMF). It is a wikimedia initiative which is meant to help all of our projects (including wikibooks), gain more readership, educate more wiki-editors, foster better communications, and much more. The wmf has been hosting a Wikimania-wiki dedicated to each Wikimania annual event since 2004. These wikis contain a wealth of information, but can benefit from wiki-improvements, starting from spelling and grammar errors that detract from their to appeal to the general membership. It would be nice if Stewards paid more attention to it. ::::@[[User:Leaderboard|Leaderboard]], I truly appreciate your offer, but I posted this here not in order to get someone to advocate for one unblocking at META. As I said earlier: ::::* "Some wikibookians prefer for various reasons to post only at wb" ::::* "The reason I am asking is that I believe that all individual Wikimania-wikis should have a backward link to the Wikimania-wiki, but I just visited the wikimania 2014 wiki and could not find this backward link. I tried to ask about this on the Wikimania 2014 main-page talk but disovered that the Stewards have protected it" ::::I would much rather see more wikimedia members question blocking in general at META. One cannot run such large movement of people from different backgrounds and nationalities simply by silencing minorities IMIO. [[User:Ottawahitech|Ottawahitech]] ([[User talk:Ottawahitech|discuss]] • [[Special:Contributions/Ottawahitech|contribs]]) 20:12, 8 February 2025 (UTC) == [[Crystal ball]] == That page appears to be a mixture of isolated paragraphs from [[w:Crystal ball|Crystal ball]], hence my tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 03:04, 9 February 2025 (UTC) :Yep, that seems correct! I also queried it simply because it does not seem suitable for inclusion at all. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:09, 9 February 2025 (UTC) == Question about an edit suggestion == Hi Kittycataclysm, Thanks for the great work you do as an admin! I wanted to clarify a suggestion you made on a recently published page I’m working on. You recommended splitting it into smaller sections—would you suggest creating separate pages for these sections, or would a higher-level header for some topics be sufficient? Any specific recommendations you have would be greatly appreciated! Here’s the link to the page I’m referring to: [[Funding and Finance of Transportation Projects in the United States of America]] Thank you! [[User:Svrmustafa|Svrmustafa]] ([[User talk:Svrmustafa|discuss]] • [[Special:Contributions/Svrmustafa|contribs]]) 18:19, 18 February 2025 (UTC) :Hi @[[User:Svrmustafa|Svrmustafa]], and thanks for asking! Splitting refers to creating new pages, each with a smaller amount of content. The main page should then contain a table of contents, and each page can contain a navigation template for easier navigation. I'll create the table of contents based on the current work and move some content to one of those pages as an example for you; then, you can do the rest. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:26, 19 February 2025 (UTC) ::Following up on this—I noticed that you use the term "paper". However, technically Wikibooks hosts books not papers, so you should probably change this wording. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:38, 19 February 2025 (UTC) == Talkback == {{Talkback|Cookbook talk:Chilli Crab|Recipe Questions}} [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 09:54, 19 February 2025 (UTC) :@[[User:Kittycataclysm|Kittycataclysm]] I also made [[Cookbook:Prata|this]] [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:15, 19 February 2025 (UTC) == Hello == Can you look at my latest recipe? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 00:10, 28 February 2025 (UTC) :I saw it! It needs a few corrections, which I'll note. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:23, 28 February 2025 (UTC) ::@[[User:Kittycataclysm|Kittycataclysm]] How do you write recipe summary, correct headers [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 06:04, 28 February 2025 (UTC) :::Please see [[Cookbook:Policy/Recipe template]]. What's the origin of the recipe? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:08, 28 February 2025 (UTC) ::::ok [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 02:33, 1 March 2025 (UTC) == Cookbook == Hi there, Kittycataclysm. I wandered over here from Wikipedia, and I'm quite enamoured with this cookbook. I noticed you seem to be the one maintaining it, and I thought I'd reach out. Can I really just start cranking out recipes from public domain cookbooks and my family recipes? It's that simple? I was also wondering about the featured recipes section. There's not very many in there, and I imagine there's not very many folks around to do reviews compared to GAR on Wikipedia. How do you handle content review? Thanks. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:51, 1 March 2025 (UTC) :Hi @[[User:MediaKyle|MediaKyle]] and welcome! For some context, the Cookbook has been around since the very beginning of Wikibooks, but it had gotten into a bit of disarray over the course of about two decades by the time I found it. I started the long process of overhauling, standardizing, and expanding it just over four years ago—I finished standardizing the recipe formatting and quality a while back and am currently working my way through the ingredient pages before moving on to equipment, techniques, and cuisines. You can absolutely add any public domain recipes as well as your own recipes—they just need to conform to the [[Cookbook:Policy/Recipe template|recipe template]] and [[Cookbook:Policy|Cookbook policy overall]]. It's even better if you've made the recipe and can contribute a nice picture and specific guidance/instructions/notes! Please feel free to ask me any questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:27, 1 March 2025 (UTC) ::Oh, and regarding the featured recipes section, I actually haven't gotten around to looking into that yet—there's been a lot to do! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:28, 1 March 2025 (UTC) ::That's great, thanks a lot for your response. This is just delightful. Maybe content review is something that we could collaborate on. There's a lot of recipes in here and it would be nice to know which ones are the best. Question for you, [[:Category:Brown sauces]] is really bothering me. How can I move that to Brown sauce recipes? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:29, 1 March 2025 (UTC) :::Good catch on that category! It seems like it was created two decades ago and never got corrected—feel free to recategorize those recipes. Thank you also for introducing the hideprefix parameter to the category trees—I didn't realize that was an option, and it reduces the visual clutter! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:38, 1 March 2025 (UTC) ::::My pleasure! As I continue to look at the categories, this is actually worse than I thought. We have both [[:Category:Sauce recipes]] and [[:Category:Recipes for condiments]] and I suspect that's just the beginning. I want to go through and categorize everything properly, but the bones aren't even there... How long do I have to be here before it'll let me create and move around categories? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:40, 1 March 2025 (UTC) :::::Regarding the categories, the category overhauling is in progress, since I address the category when I overhaul the associated page. The variation in titling is actually somewhat deliberate—I started changing it from "____ recipes" in certain cases to solve a particular categorization problem. Sometimes, there is an item that is used in recipes as an ingredient but for which there are also recipes. For example, [[:Category:Recipes for bread]] versus [[:Category:Recipes using bread]]. The different naming scheme is necessary to properly delineate the categories, and I'm working on implementing it a bit more consistently as I go. While you're still getting started, it would be great if you could check with me when something looks odd or out of place—that way I can take a look and weigh in on whether that's normal or not and maybe provide some context. Just off the top of my head, I think you will have to wait for autoreview status to make move changes. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:56, 1 March 2025 (UTC) ::::::I see what you're saying, I've been trying to wrap my head around that. Maybe it would be beneficial to try to put together some sort of a Cookbook MOS regarding category structure? It's kind of all over the place right now. Using your bread example, would it perhaps make more sense to have [[:Category:Bread recipes]] and [[:Category:Recipes using bread]]? There would be no ambiguity with just those two categories, but when you add the extra [[:Category:Recipes for bread]], that's when things start getting a little whacky. What do you think? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:05, 1 March 2025 (UTC) :::::::Either that or get rid of [[:Category:Bread recipes]] and keep the other two. But one of these categories gotta go, I reckon. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:07, 1 March 2025 (UTC) ::::::::I see you already had the same thought as me. I think all categories should include "for" or "using". Take for example, [[:Category:Recipes for pancakes]] as opposed to [[:Category:Pancake recipes]]. Well obviously there's no recipes using pancakes. But for something like [[:Category:Recipes for gravy]], there may also be a need for [[:Category:Recipes using gravy]]. The lack of consistency in this regard means the only way to achieve consistency across the categories is by changing them over to that format. Sorry for clogging up your talk page! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 03:18, 1 March 2025 (UTC) :::::::::Same heads-up as below—migrating this over to [[Cookbook talk:Table of Contents]] —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:10, 4 March 2025 (UTC) :Also, on [[Cookbook:Table of Contents]], could you please add a wikilink for [[Cookbook:Breakfast]], and maybe add cooknav to the top for seamless navigation between all the top level articles? Can't edit that article yet. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 02:47, 1 March 2025 (UTC) == More Table of Content Edits == Hello again. I've been going through everything and this is my list of suggestions for edits to the table of contents. Unfortunately there's not much else I can do for now, because without autoconfirmed my ability to change anything is very limited. I was going to ask for someone to check off the confirmed box for me at RfP but I can't post there either, so I guess I'll be back in four days. * Fix Bread wikilink * Remove "Creaming" from techniques, redirected to Mixing * [[Cookbook:History of Food and Cooking]] points to redirect, needs capitalized * [[Cookbook:Low-Carb]] points to redirect, needs capitalized * [[Cookbook:Cuisine of the Mediterranean]] to [[Cookbook:Mediterranean Cuisine]] for parity * Remove the S from the cuisine wikilinks on ToC, currently redirecting * Create [[:Category:Lunch recipes]], wikilink to ToC * Wikilink [[Cookbook:Dessert]] under Meals * Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category * Create [[Cookbook:East Asian Cuisine]] so I can add the recipes from [[:Category:East Asian recipes]] to it; currently is a redlink on the ToC * Change "Introductory Matter" header to just "Introduction" * Appendix and Equipment sections switch places Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:46, 1 March 2025 (UTC) :I took the liberty of doing it myself in my userspace. You can just copy it over from [[User:MediaKyle/sandbox]]. Figured I'd save you the trouble of trying to figure out what I'm talking about. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 14:15, 1 March 2025 (UTC) :Circling back to this! It seems like your suggestions are getting at a couple different things. I'll try to go through them point-by-point below: :* {{xt|Fix Bread wikilink}} {{done}} :* {{xt|Remove "Creaming" from techniques, redirected to Mixing}} see below comments on TOC. :* {{xt|Cookbook:History of Food and Cooking points to redirect, needs capitalized}} {{not done}} for now because I don't fully understand the urgency and I want to triage/prioritize things for you, but please feel free to make this change yourself once you can! :* {{xt|Cookbook:Low-Carb points to redirect, needs capitalized}} {{not done}} for same reason as above. :* {{xt|Cookbook:Cuisine of the Mediterranean to Cookbook:Mediterranean Cuisine for parity}} {{not done}} for now just because we do have a lot of cuisine pages that follow the form "Cuisine of ____". It could be good to standardize, and I had been planning to do that once I got around to the cuisines. :* {{xt|Remove the S from the cuisine wikilinks on ToC, currently redirecting}} {{not done}} for same reason as other redirects :* {{xt|Create Category:Lunch recipes, wikilink to ToC}} Not quite sure what you mean here, and I didn't see what it corresponded to in your linked sandbox page :* {{xt|Wikilink Cookbook:Dessert under Meals}} {{done}} :* {{xt|Get rid of "Brunch"; will just be confusing alongside a breakfast and lunch category}} I'm not sure about this—brunch is in many places considered a separate entity, and I don't necessarily think it would cause confusion. But, overall it's hard to determine whether it should have its own page and TOC link because I haven't actually gotten around to evaluating the meal pages and what role they should play. See also the TOC notes below. :* {{xt|Create Cookbook:East Asian Cuisine so I can add the recipes from Category:East Asian recipes to it; currently is a redlink on the ToC}} {{done}} for now; however, I'm not sure yet whether it will ultimately make sense to keep that as a content page. I think content pages should be reasonably focused, and it may not be the best to have a cuisine page that is so broad. This is something I planned to consider once I made my way around the overhauling the cuisines. :* {{xt|Change "Introductory Matter" header to just "Introduction"}} The reason I made it "Introductory Matter" instead of "Introduction" is because there's already a chapter itself titled "Introduction"—it felt odd to have the entire section titled that as well. Happy to discuss other header options (e.g. "Front Matter", which is a generally accepted book term) :* {{xt|Appendix and Equipment sections switch places}} see below comments on TOC. :* '''Comments on the TOC:''' So, I think a fundamental issue with the current TOC is that it somewhat arbitrarily picks and chooses individual pages to link. It also sometimes direct-links to categories and sometimes to content pages, which I don't think we should do. Because the cookbook is so expansive, it's been established that manual indices intending to capture detail in large areas don't really make sense and quickly get bulky and out-of-date. This is why categorytree is such a useful tool! After thinking on it for a while and making some small tweaks, I think I'd ultimately like to overhaul the TOC and come to a solution that keeps a few broad headers/links to the small handful of the primary content pages while perhaps stashing away more detailed and self-updating lists in a collapsible way to reduce clutter but allow for customizable user navigation. Much to think about, and I'll probably workshop some things on the side to see how they feel. :Let me know if I've misunderstood anything! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 03:24, 3 March 2025 (UTC) ::Thanks for the notes! Here's my thoughts: ::* On the Cuisine titling, it actually seems like [[Cookbook:Cuisine of the Mediterranean]] and [[Cookbook:East Asian cuisines]] are the only ones that don't follow the naming scheme, i.e. "[[Cookbook:African Cuisine]]", and I think that shorter titles are preferable where it makes sense. ::* On your note about East Asian Cuisine, I actually had the same thought after going through the cuisine pages. Having three separate pages for different kinds of Asian cuisine does seem a little silly, doesn't it? Do you think it might be better to combine all of them under one "Asian Cuisine", but put the different locales under separate headers? ::* On Brunch - I honestly think there's way too much ambiguity around what exactly constitutes as "brunch" to keep that in. I feel as though the term brunch more applies to the time you're eating, rather than the kind of food. I think it would be easier to keep meals that include commonly accepted breakfast foods in the Breakfast category, and things that don't fit neatly into that, into the Lunch category. This would prevent any dilemmas in the future where we can't decide whether something is breakfast or brunch. ::* You're right that it looks a little awkward to have the header as Introduction when there's a page called introduction. I still think that to say "Introductory Matter", or "Front Matter" as you mentioned, is a little long-winded and reflects a more academic tone than needed for a cookbook. Upon further reflection, I think maybe rather than worrying about the header at this point, we should perhaps think about trying to compile all of those short introductory type pages into one comprehensive introductory page. Then we likely won't even need a header for it on the ToC. ::* The ToC is definitely a bit cluttered, and it bothers me too that there's a real lack of consistency across whether the wikilinks lead to a page or a category. I'm not sure how I would feel about cutting away too much of the navigation from it, though, because just about every page on there does have a reason to be there, it's just that they're not presented very nicely. Some of it can certainly get nested or combined though. I'll play around with it over the next few days in my sandbox as well and let you know if I come up with anything. ::* As an aside, the first thing on my to-do list once my autoconfirmed comes through is to start subcategorizing all of the recipes so that they're all nicely sorted in the category trees. When you have a chance, I'd love to hear your thoughts on what we should use as the standard naming for categories. Once we determine this, I think we can also take the liberty of updating the cookbook MoS to reflect it. ::Cheers, [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:33, 3 March 2025 (UTC) :::Note: After writing this, I realized what you were getting at about slashing away some of the subpages. Maybe we can come up with a system where all of those subpages are under their main subpage rather than on the ToC. For example, all the Cuisines are under [[Cookbook:Cuisines]], all techniques under [[Cookbook:Cooking Techniques]], to keep the subpages off the main ToC. Also, I wonder if maybe we should try to make a centralized discussion for this somewhere, in case anyone else wants to join in at some point? [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 11:45, 3 March 2025 (UTC) ::::Heads-up: to make it easier to keep track of these and since I think they deserve their own discussions, I'm going to gradually migrate them over individually to [[Cookbook talk:Table of Contents]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:52, 4 March 2025 (UTC) :::::Good idea. Can you remove the semi-protection from that talk page? I see no reason why it should be protected. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:23, 4 March 2025 (UTC) == Cookbook ToC == Hi [[User:Kittycataclysm|Kittycataclysm]]. I was just wondering why you didn't respond to my above message, and started a separate sandbox for the ToC instead? It seems as though you don't really want to collaborate. It would be nice if we could work on this together. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 22:43, 2 March 2025 (UTC) :@[[User:MediaKyle|MediaKyle]] thanks for the ping! I'm sorry you feel like I don't want to collaborate—the opposite is true, and please understand that this is good-faith editing. The reason I haven't responded to the above points is mostly since you've been modifying a bunch of content and adding suggestions lately, and I've been working my way through these while continuing with my routine contributions and real life as well—things happen a little more slowly here than on other projects, and I'm the one person dedicated to the cookbook right now. The reason I created that sandbox was because I saw [[Wikibooks:Reading room/General#Modernize the shelves|your comment]] at the reading room and wanted to play around and think about your suggestion without touching the actual TOC. You're right that it's not the best, and it's been something I've been thinking about for a bit now. Please understand also that it can be overwhelming when a new editor unfamiliar with the Cookbook begins making a high volume of edits and suggestions without having much experience with it or its history—this isn't to say that you don't have good ideas or things worth contributing. In fact, you have already made a few helpful changes, as I've mentioned. I just want to do this properly and take the time to evaluate your suggestions together with the current efforts that are underway, and that can take a bit. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:03, 2 March 2025 (UTC) ::Thanks for getting back to me. While I may be new to Wikibooks, I'm certainly not new to MediaWiki, and I've been working with small wiki projects for a number of years. Perhaps it's been a misunderstanding to some degree, but I've found my reception here to be unusually unwelcoming. The way to do this properly, as you said, would be to have discussions and form consensus. Yesterday, when you reached out to me about adding hideroot to the pages, I gave you my rationale and was more than happy to have a discussion about it, but you did not reply. I noticed a similar situation happened with [https://en.wikibooks.org/wiki/User_talk:Ottawahitech#Category_sorting Ottawahitech], regarding category sorting. I'm aware that you're the main person looking after the cookbook right now, which is why I reached out to you right from the get go. ::I understand why you would want to create your own sandbox to play around with options for the ToC, but I'm sure you can understand why it would draw my attention that you would do this without implementing any of the wikilink fixes I mentioned, or making an attempt to discuss it further. This came across to me as not wanting my help. ::I invite you to check out my page on Wikipedia. I've made contributions across quite a wide area of topics there, as well as the other Wikimedia projects, and this is the first time I've encountered any sort of resistance to my contributions. I think Wikibooks has enormous potential, and I'm very excited to contribute to helping it grow. On most projects, this would be something to be encouraged. I don't feel like "I'm sorry that you feel that way" was really an appropriate response. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 23:59, 2 March 2025 (UTC) :::I think you're right that this has been a mix of misunderstanding and miscommunication, and I think I can understand how things came across as unwelcoming! For whatever it's worth, I absolutely plan on circling back to the various discussions at hand (I have all the relevant pages open to return to), but it seems like the order I did things made it seem like I was ignoring you (if I'm understanding correctly). I am pretty busy, so sometimes items on my to-do list do get lost/shunted or it takes me a bit to get around to something—please don't hesitate to give me a ping if it seems like I'm taking a while to get back to something. Looking forward to more collaboration! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:49, 3 March 2025 (UTC) ::::I'm glad you can understand where I'm coming from. To clarify, my intent is not to try to rush you, or to try to push you to make changes that you don't agree with. It's really easy to misinterpret things over the Internet, and I think a short message can go a long way. I apologize if I've caused you any undue stress by coming into the cookbook and unleashing a flurry of alterations, but do rest assured that I'm not married to any of my changes, I'm always open for discussion, and I want to see the cookbook improve just like you do. The great thing about wikis is that no change is permanent. I think we'll have it in tip-top shape in no time! [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 01:19, 3 March 2025 (UTC) == [[Cookbook:Polish Doughnuts (Paczki)]] == Do you see any reason not to just add this to Featured Recipes? At least we know this one works, and it seems like this is now one of the few recipes to have a picture that actually aligns with the recipe used. I was thinking later on we'll come up with a content review system where a couple editors will actually try the recipes nominated for FR, but in the absence of that I'd just add it to the list. [[User:MediaKyle|MediaKyle]] ([[User talk:MediaKyle|discuss]] • [[Special:Contributions/MediaKyle|contribs]]) 12:25, 4 March 2025 (UTC) :I'm fine with adding it to the featured recipes. You're right that we'll want to come up with a good system for this going forward, though it's lower down on my personal priority list at moment. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 March 2025 (UTC) == [[Cookbook:Cream Cheese American Buttercream]] == Hi! I am a wikiHow user and I am planning to adapt this recipe to wikiHow. Since you contributed to this recipe, I wanted to know if I can get permission to reuse your contributions to this recipe. Thanks. [[User:Xeverything11|Xeverything11]] ([[User talk:Xeverything11|discuss]] • [[Special:Contributions/Xeverything11|contribs]]) 21:41, 4 March 2025 (UTC) :@[[User:Xeverything11|Xeverything11]] that's fine with me as long as proper attribution and linking back to the original recipe page here are included at the top. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:28, 4 March 2025 (UTC) == [[A Companion to Our Literary Journey]] == Hi! I feel that we have started to outline the scope in a clearer and more precise way and that’s the work we are going to do with the students this and for the next years, adding more sections and content. Do you think that would be enough? [[User:Ferdi2005|Ferdi2005]] ([[User talk:Ferdi2005|discuss]] • [[Special:Contributions/Ferdi2005|contribs]]) 22:43, 6 March 2025 (UTC) :Hi @[[User:Ferdi2005|Ferdi2005]]! Yes, this seems to be reasonably outlined. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:51, 7 March 2025 (UTC) == Exercising care with copyright == When deleting a page as a copyright violation, it is important that you '''do not quote any content from the deleted page'''. If you do, then your log entry is itself a copyright violation. I have redacted a recent deletion that you performed because of this. If you want to make sure that none of your past deletions have been problematic for this reason, you can [[quarry:query/90444|run this SQL query]] to get a list of every deletion that could be eligible for redaction. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 18:32, 21 March 2025 (UTC) :Hi @[[User:JJPMaster|JJPMaster]] and thank you for the message. In the most recent instance that I think you're referencing, I do not see any material in the edit summary that posed a significant risk—I don't believe the few listed words would be a copyright concern. However, I do understand your concern! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:31, 21 March 2025 (UTC) == Splitting Pages == Hi I have recently made the book on the [[History of the Nawabs of Bengal]] and you gave a notice on how you believe it should be split into smaller bits. As I am still new to wikibooks I don't know how to do this. Can you please assist me on renaming the page so I can split the page into multiple pages? @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 19:47, 29 March 2025 (UTC) :@[[User:Greatswrd|Greatswrd]]: You did it. I've removed the tag. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:44, 29 March 2025 (UTC) :Like @[[User:JJPMaster|JJPMaster]] said, you're all set! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:53, 29 March 2025 (UTC) ::Thanks! @[[User:JJPMaster|JJPMaster]] @[[User:Kittycataclysm|Kittycataclysm]] [[User:Greatswrd|Greatswrd]] ([[User talk:Greatswrd|discuss]] • [[Special:Contributions/Greatswrd|contribs]]) 10:24, 30 March 2025 (UTC) == Minecraft book == Is it good creating pages like this, [[Minecraft#Husk]]? [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 12:43, 9 May 2025 (UTC) :@[[User:Cactusisme|Cactusisme]] what do you mean? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:18, 10 May 2025 (UTC) ::are we allowed to create pages like that? like for every mob [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 10:02, 11 May 2025 (UTC) :::To be honest, I don't think the structure and formatting of the book is very good. Several of the mob pages, for example, have very little information and aren't particularly helpful on their own. If I were working on it, I would restructure the book. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:09, 11 May 2025 (UTC) ::::I am planning to do that. [[User:Cactusisme|Cactusisme]] ([[User talk:Cactusisme|discuss]] • [[Special:Contributions/Cactusisme|contribs]]) 04:19, 12 May 2025 (UTC) == Request to Review Adjusted User Page (XoriantTeam) == Hello [[User:Kittycataclysm|Kittycataclysm]], I hope you're well. I noticed that my user page ([[User:XoriantTeam]]) was recently deleted for appearing promotional or inappropriate for Wikibooks. Thank you for keeping the community standards in check. I’ve since revised the content with closer attention to neutrality and compliance with Wikibooks guidelines. My intent is to participate constructively, especially in areas related to digital engineering and educational content creation. If possible, I’d appreciate your help reviewing the revised version. I'm happy to share it or upload it as a file if there’s a preferred method. Please let me know how best to proceed. I welcome any suggestions and will gladly make further adjustments. Best regards, XoriantTeam [[User:XoriantTeam|XoriantTeam]] ([[User talk:XoriantTeam|discuss]] • [[Special:Contributions/XoriantTeam|contribs]]) 11:02, 15 May 2025 (UTC) :Hi there—you can publish an updated user page, but I'd caution you against talking about your company. Keep it limited to your involvement with Wikibooks. You may contribute productively here, but further promotional materials are grounds for an indefinite block. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 12:30, 15 May 2025 (UTC) == Planning to use AWB to update categories on the cookbook == Hello. I noticed in recent changes that you were moving some categories using HotCat (e.g. moving Category:Chile recipes to Category:Recipes using chile), which can be time-consuming. Therefore, I plan to help you with moving the cookbook categories by adding myself to enabledusers and enabledbots in [[Wikibooks:AutoWikiBrowser/CheckPageJSON]]. Would this be fine if I assist you and to add myself to the check page? I am familiar with using AWB after testing on a non-Wikimedia project. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:42, 8 June 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—thank you for the tip! I just installed JWB, so this should make my mass cat changes much faster. Thanks again! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:11, 8 June 2025 (UTC) :: Thank you for the information. Also, is it okay if I change (for example) [[:Category:Vinegar recipes]] to [[:Category:Recipes using vinegar]] (I can redirect the former category to the latter), given that we should move {{tq|Category:[ingredient] recipes}} to {{tq|Category:Recipes using [ingredient]}} for consistency? [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:57, 8 June 2025 (UTC) :::Sure thing—go ahead! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:53, 8 June 2025 (UTC) == Tool for even faster category changes == See [[:c:Help:Gadget-Cat-a-lot#As_your_user_gadget]]. I just [https://en.wikibooks.org/w/index.php?title=User:Koavf/common.js&action=history installed it] and used it dozens of times in a click. Let me know if you need any help. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:36, 19 June 2025 (UTC) :@[[User:Koavf|Koavf]] Thanks! I'm having a little trouble activating it, but I'll keep trying. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:54, 19 June 2025 (UTC) ::A lot of times, a purge will do the trick. See [[:mw:Purge]]. Usually just <kbd>Ctrl+Shift+R</kbd> once or twice. —[[User:Koavf|Justin (<span style="color:grey">ko'''a'''vf</span>)]]<span style="color:red">❤[[User talk:Koavf|T]]☮[[Special:Contributions/Koavf|C]]☺[[Special:Emailuser/Koavf|M]]☯</span> 00:55, 19 June 2025 (UTC) :::Took several purges, but we're set now! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:16, 19 June 2025 (UTC) == Advice on when I should run for adminship == Hi, I hope you are doing well. I am asking for some advice on when I should run for enwikibooks adminship, given the following below: Currently, I am doing some optimizations for dark mode on this project, and some of the message box/MediaWiki interface/template pages might be outdated, fully protected, or can use a little help using mw-parser-output. These unfortunately might hinder the process of updating these pages/templates for Vector 2022's dark mode.<br> Additionally, I have a solid expertise with edit filters, as I have requested some administrators to update deprecated filter variables, switching filters from warn and disallow to disallow only, and I can also monitor the filter log for potential false positives (from local or global filters). A fellow English Wikibooks administrator also said to me that they are willing to support me in a few months when I run for adminship, as I am generally trusted. I hold two advanced global permissions, and I hold an edit filter helper permission on the English Wikipedia, to be sure. Thank you for your consideration. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 01:02, 23 June 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—good question! I agree that you are a trusted user, and I think it would be reasonable for you to run for adminship, especially given our need to fix up technical aspects of the project. If you don't plan to commit to Wikibooks long-term (i.e. you have some projects you'd like to take a few months to complete and then be done), you can always request temporary adminship. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:30, 23 June 2025 (UTC) :: Thank you for your feedback, but I also plan to monitor for vandalism/spam, and to commit to reduce the administrative assistance reading room backlog, should I be elected for adminship (and I forgot to mention those). Anyway, regarding your feedback, I might run by August or even July, given that I've lately started contributing more often to Wikibooks. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:29, 23 June 2025 (UTC) ::: [[User:Kittycataclysm|Kittycataclysm]], I am pinging you one more time to see if you have read my response above yours. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:34, 26 June 2025 (UTC) ::::Hi @[[User:Codename Noreste|Codename Noreste]]! I'm not sure what you mean—was there an additional question you had? Everything you've outlined seems quite reasonable. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:26, 26 June 2025 (UTC) ::::: Apologies for the confusion, I don't have any questions to ask. I was clarifying that I can help with implementing edit requests and to block obvious vandals and spammers, aside from the skills I mentioned earlier. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:32, 26 June 2025 (UTC) == how is it you feel able to interfere in my sandbox? == you deleted a page in my sandbox that was my way of providing my response to a request from an OpenSCAD dev team leader for a couple of text blurbs for use on a web page of the OpenSCAD site. now that you have deleted my page i have to recreate the texts from a screenshot to be able to offer the suggestions, which i will This kind of high handed treatment is what keeps me from being a wiki-anything contributor .. If it is Wiki policy to interfere in the documentation of an open source project because it is hosted on Wikibooks then i will take up the task of moving our online docs to a site where you cannot interfere. -- [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 21:56, 29 June 2025 (UTC) :Hi @[[User:VulcanWikiEdit|VulcanWikiEdit]]—thanks for bringing this to my attention. I now understand that this was intended to be in your user namespace—I've undeleted it and moved it to the correct namespace for you. Let me know if anything else comes up! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:05, 30 June 2025 (UTC) ::ah .. err .. umm .. well that is a gentle answer to my ire. Thanks for being so gracious [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:29, 30 June 2025 (UTC) ::and .. isn't my sandbox in my namespace by default? [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 20:30, 30 June 2025 (UTC) :::No worries—it looks like you didn't add the prefix "User:" before writing out the full page titles, so the pages you created were technically in the project's Main space with the official published materials. Going forward, you can just double-check that the page title starts with "'''User:'''VulcanWikiEdit/sandbox", and that should keep everything in the right place! Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:36, 30 June 2025 (UTC) ::::BTW .. i love the play on cat lover name [[User:VulcanWikiEdit|VulcanWikiEdit]] ([[User talk:VulcanWikiEdit|discuss]] • [[Special:Contributions/VulcanWikiEdit|contribs]]) 15:35, 1 July 2025 (UTC) :::::Thank you! That's very kind. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:46, 1 July 2025 (UTC) == Regarding the user Codename Tameirao == Could this be Matthew again (the Unicode LTA)? I believe it might be him based on his usage of edit summaries, and his usual edits to [[Unicode/Versions]]. I just blocked his recent account, and then I protected and stabilized that Unicode book. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 23:51, 12 August 2025 (UTC) :I suspect you're right! That seems like a reasonable course of action. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:56, 13 August 2025 (UTC) :: I recently encountered another possible LTA, see [[Special:Contributions/~2025-55706-6]] (as well as [[Unicode/Roadmap Blocks]]). I can email you more details if you want. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 16:30, 9 September 2025 (UTC) :::I think this is the same LTA, yes! I've protected [[Unicode/Roadmap Blocks]], but I think it would be a good idea if we could automate this monitoring somewhat using the edit filter. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:07, 9 September 2025 (UTC) :::: I don't think that was Matthew, as he typically uses edit summaries. The deleted page was not protected, as it was protected before you deleted it; I salted it from creation for one year. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 20:22, 9 September 2025 (UTC) ::::: You might want to look at [[Special:Contributions/Freddy Fazbearing Others]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 04:18, 26 October 2025 (UTC) ::::::Thank you! I went ahead and blocked them. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:54, 28 October 2025 (UTC) == IP block exempt == Hi Kitty, I currently have IP block exemption on enwiki, Commons and Wikidata as I use VPNs connected to my internet security software. Can you please grant me the right on wikibooks. I have a strong password and use two factor authentication. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 10:51, 22 August 2025 (UTC) :Hi @[[User:TarnishedPath|TarnishedPath]]! This doesn't sound unreasonable to me, but I think it would be good if you requested at [[Wikibooks:Requests for permissions]] so we can have a discussion—I have not granted this right before. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 23 August 2025 (UTC) ::Kitty, thanks for pointing me in the right direction. ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:25, 23 August 2025 (UTC) ::See [[Wikibooks:Requests_for_permissions#TarnishedPath_(discuss_·_contribs_·_count_·_logs_·_block_log_·_rfp_·_rights)_(IP_Block_Exemption)]] ''[[User:TarnishedPath|<b style="color:#ff0000;">Tar</b><b style="color:#ff7070;">nis</b><b style="color:#ffa0a0;">hed</b><b style="color:#420000;">Path</b>]]''<sup>[[User talk:TarnishedPath|<b style="color:#bd4004;">talk</b>]]</sup> 03:35, 23 August 2025 (UTC) == You've got mail! == {{You've got mail|sig=<span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 00:20, 6 September 2025 (UTC)}} :Thank you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:06, 6 September 2025 (UTC) == Are you able to import? == I made a few requests over at https://en.wikibooks.org/wiki/Wikibooks:Requests_for_import . [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 22:32, 4 October 2025 (UTC) : [[User:2005-Fan|2005-Fan]], I'll go ahead and start the imports. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:29, 5 October 2025 (UTC) ::Thank you for your help [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 16:51, 5 October 2025 (UTC) ::: My apologies for not doing this sooner, because some database error appears when I am trying to mass import. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:39, 5 October 2025 (UTC) ::::I also tried to make this import earlier and ran into issues with the software. I was hoping it was a temporary bug, but it seems to be persisting. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:01, 6 October 2025 (UTC) :::::This seems like I should get involved. {{working}}... [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 13:11, 6 October 2025 (UTC) :::::: I believe there are five pages that have massive page histories they fail to import here. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:13, 6 October 2025 (UTC) :::::::I backed up the XMLs of them locally but im unsure how much that'd do. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 15:18, 6 October 2025 (UTC) ::::::::Just became an importer. The reason is prob understandable but I cannot upload the XML file to here locally. [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 17:23, 10 October 2025 (UTC) == About the category parameter in the recipe summary template == When it uses a "recipe by type" category, should it use a "[type/food] recipes" name or "Recipes for [type/food]"? I recently operated JWB to change from [[:Category:Dessert recipes]] to [[:Category:Recipes for dessert]] in multiple Cookbook recipes, and from what I've said before, I've changed to ''Recipes for dessert'' in the category parameter of Cookbook recipes. Hope you don't mind that this was over more than 250 changes (not counting the recent category changes after moving some recipe categories). Thanks. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:07, 27 October 2025 (UTC) :Hi @[[User:Codename Noreste|Codename Noreste]]—those JWB changes you made seem fine to me! I'm not quite sure what you're asking in your first sentence, though. Assuming I understand correctly: in general, I think the default format should be whatever the actual category name is. BUT if there is a redirect, it ultimately shouldn't matter too much. And, because I'm not convinced of the utility of that infobox parameter in the first place (thinking of removing it), I'm not hugely concerned about it for the time being. Does this help? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:21, 27 October 2025 (UTC) :: Probably, but I will say the following below (for my first sentence) to clarify: :: On the <code>|category =</code> parameter, when placing a recipe category name, should it either be {{tq|Sandwich recipes}} or {{tq|Recipes for sandwiches}}? I hope this clears the confusion. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:39, 27 October 2025 (UTC) == Please no more Unicode LTA == Please don't block me again. I promise I will edit Unicode stuff and add correct information. [[Special:Contributions/&#126;2025-30839-28|&#126;2025-30839-28]] ([[User talk:&#126;2025-30839-28|talk]]) 20:54, 1 November 2025 (UTC) :<small>I am a bit out of the loop, so correct me if I'm wrong - I'm assuming here</small> I think the point is that they want you to ''not'' edit the Unicode stuff? Also hi kitty, it's been a ... very long time.. <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:13, 5 November 2025 (UTC) ::Ok so apparently not as long as I thought, but it feels like I've been away for at least a year lol <sup>&#8212; [[User:L10nM4st3r|<span style="color:#c71300">L10nM4st3r</span>]]</sup> / <sub>[[User talk:L10nM4st3r|<span style="color:#ce3f00">'''ROAR''' at me!</span>]]</sub> 01:23, 5 November 2025 (UTC) :::Nice to see you! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:41, 5 November 2025 (UTC) == Administrator and reviewer user right combinations are not needed anymore == Given that administrators can review edits in addition to reviewers, I would suggest for you (and other administrators) to kindly remove the reviewer permission from (own) accounts. What I'm saying is that if one holds administrator and reviewer permissions together, they can remove the reviewer permission from their own account and retain their administrator permission. Thanks. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:06, 11 November 2025 (UTC) :Gotcha—is there a reason it's bad for one user to have both these rights? If so, I can remove my reviewer right. Otherwise, it seems fairly harmless? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:26, 11 November 2025 (UTC) :: The thing is, administrators have the <code>review</code> user right, as well as some permissions in the reviewer user group in the administrator toolset. That means that having the reviewer user group together with the admin user group is redundant. Hope this explains it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:59, 11 November 2025 (UTC) ::: @[[User:Kittycataclysm|Kittycataclysm]] <s>I'll do this tomorrow morning, as well as to remove autoreviewed user permissions from users who are reviewers.</s> ({{doing}}) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:24, 12 November 2025 (UTC) : I have removed the autoreviewed user permission from users who are reviewers. As for administrators, I will do so later today. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:40, 13 November 2025 (UTC) == Nesting in Open Book of Ecovillages and Eco Communities == Hi Kittycataclysm, I am editor of wikipedia since 2004. We have the habit if we have a concern using the talk page to clarify the case. I am not sure to delete meaningful content without previous notification and doing major redirection without agreeing the main contributor(s) is an adequate admin act and sign of good manner of host (see [[W:Wikipedia:Etiquette|Wikipedia:Etiquette]].) Yes, It will be not an average book but above the regular. This is the exact case: ''"this may be appropriate, such as with large textbooks that contain subsections with a lot of content."'' ''for to establish good structural and stylistic practices'' I have a data management certification. If you asking it will have 4 nest level on strict purpose. If you saw the introduction of the [[Open Book of Ecovillages and Eco Communities]] is/will be a global collection making effective collaboration over borders and continents. One structured + categorized(!) page for each community willing to show up. The Postal addresses has also same or larger deepness, this is unavoidable (Country/Postal Code/Location/Street/House/floor/door). Here will looks like: '''Eco-comm/Continent/Regio code/Community name''' The goal of this system to open bridge + experience highway for the communities using the same permaculture technics what collected parallelly in [[Open Book of Permaculture]]. That is also part of this knowledge base please dont do simplification steps on that without discussion. I am kindly asking to revert your edits in this book. After that I will put a notification template about "This book is under construction with major changes. Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History. Common clarifications/ guides are on the primary talk page." Thanks: [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 02:22, 12 November 2025 (UTC) :Hi @[[User:Rodrigo|Rodrigo]], and thank you both for your contributions and for reaching out! Yes, I did make the following changes to [[Open Book of Ecovillages and Eco Communities]]: :* I moved the pages from the [[Eco-comm]] namespace to the [[Open Book of Ecovillages and Eco Communities]] namespace, since the table of contents and pages for a given book should be under that book's namespace. :* I removed the links to Wikipedia that were on [[Open Book of Ecovillages and Eco Communities]], since outlinking has been discouraged at en.Wikibooks as a matter of practice. Compilations of links may not fall into WB scope as an instructional text, and [[Wikibooks:Requests for deletion/Piano Solo Music: An Encyclopedia|there is precedent for deleting them]]. But, I do see that the tool I used didn't just remove links to enWP, so I will restore the prior revision and ping the tool developer. :* I flagged it as needing denesting—you're right that nested entries can sometimes be appropriate. In this case, I was primarily flagging for a denest because the table of contents needs to be moved onto the main page, and it shouldn't have hidden navigation within the nested portions. :Could you clarify which of these edits you do not agree with so I can make sure they are individually addressed? As an aside, it could be helpful to create a [[Help:Local manuals of style|local manual of style]] for the book in order to clearly outline the expectations. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:59, 12 November 2025 (UTC) ::My main concern not about moving and flagging but '''deleting''' [[Eco-comm]] against [[Wikibooks:Deletion policy]] and not mentioning in the clarification even after my notification. Should I note all administrators [[Wikibooks:Please do not bite the newcomers]] - or will they do speedy deleting one by one until I make them individually addressed? :::The <u> local manual of style</u> development is ongoing together with the sample pages. ::'''MAIN PAGE''' ::The '''Main page''' and '''Namespace''' is the [[Eco-comm]]. The '''Full Title''' or '''Cover''' is [[Open Book of Ecovillages and Eco Communities]]. Because of the high level of nesting the below extra-long-full-text-title to be avoided the Cover page is a redirection with preface/intro etc. ::'''NESTING ''' :::Featured book with 3 level nesting: [[Social and Cultural Foundations of American Education/Educational Change/Theory]] :::5 level nesting example: [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] ::'''Categories''' The [[:Category:Eco-comm]] will let the users make practical sub-categories e.g. [[:Category:Eco-comm/Project/numundo]] [[:Category:Eco-comm/]] ::: ::[[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 03:44, 18 November 2025 (UTC) :::Thank you for elaborating! I'm unfortunately not sure what you mean about deleting [[Eco-comm]]—are you referring to the fact that I moved it without leaving a redirect? Regarding the nesting, I do honestly think those other books you linked should have their navigation denested since I find their format difficult to parse, and they have some navigation issues. Looping in some other active admins (@[[User:Leaderboard|Leaderboard]] @[[User:MarcGarver|MarcGarver]] @[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] (@[[User:SHB2000|SHB2000]]) so they can get eyes on this and voice anything they think is important. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 04:12, 18 November 2025 (UTC) ::::It makes no sense to have some crazy abbreviation as a "main page" or "namespace" (whatever that means in this context) for a book in order to allow it to be deep nested. Nobody needs to type the whole name of the nesting because that's what navigation templates do, and it is a simple matter to override the page title. I also take issue with the statement, above, "Before contributing, please discuss and align your work with at least one of the main contributors listed in the Page History." Anybody can edit, and nobody gets to own and control any work. Taken together, this complaint looks like a case of attempting to assert ownership and to operate against the normal practices of Wikibooks. As such, I am completely aligned with the changes made. [[User:MarcGarver|MarcGarver]] ([[User talk:MarcGarver|discuss]] • [[Special:Contributions/MarcGarver|contribs]]) 12:49, 18 November 2025 (UTC) :::::That. [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 14:59, 18 November 2025 (UTC) ::::Thanks @[[User:MarcGarver|MarcGarver]]@[[User:Leaderboard|Leaderboard]] for the contribution, btw the [[Development Cooperation Handbook/Designing and Executing Projects/Communication Management/Communication Planning/Develop a Conflict Management Strategy]] also looks crazy long, is'nt it? Lets continue in the [[Wikibooks:Reading_room/General]] keeping this page for personal messages. [[User:Rodrigo|Rodrigo]] ([[User talk:Rodrigo|discuss]] • [[Special:Contributions/Rodrigo|contribs]]) 23:07, 20 November 2025 (UTC) == Deletions of Wikibook subpages == Hello @[[User:Kittycataclysm|Kittycataclysm]], regarding the [[Thesis Writing Guide]] subpage deletions, should I just recreate them when I keep working on them or was there an automatic deletion that we could undo? This document will grow, but really slowly. Best, Tim [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 11:37, 16 December 2025 (UTC) :Hi @[[User:TimBorgNetzWerk|TimBorgNetzWerk]]! Since there was so little content on the deleted pages, my recommendation would just be for you to gradually recreate the chapters as you go. Does that make sense? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:54, 17 December 2025 (UTC) ::Makes sense, not my ideal solution, but also not far from it :) The end result will be the same, the in-between will just feel a little bit weird from time to time. ::Thank you for taking time to curate and quality-control Wikibooks - wishing wonderful holidays and a happy new year! [[User:TimBorgNetzWerk|TimBorgNetzWerk]] ([[User talk:TimBorgNetzWerk|discuss]] • [[Special:Contributions/TimBorgNetzWerk|contribs]]) 20:43, 17 December 2025 (UTC) :::Thank you, and happy holidays to you as well :) —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:13, 17 December 2025 (UTC) == help with "Media Literacy and You" == {{re|Kittycataclysm}} What do I need to do to get a quality review of ''[[Media Literacy and You]]'', or whatever is needed to remove <nowiki>{{Qr-em|not clear how this is to be structured as a book}}</nowiki>? I ask, because you added that flag just over 2 hours after I created it. I later found that I had accidentally created it as an anonymous user. I've since started using my standard Wikiname, and I tried to respond to the requests both by creating a discussion on the "Discussion" page associated with that book and by upgrading the content. The upgrades included adding the "Introduction" chapter by revising an article on Wikiversity that convinced me to start this Wikibook. I have other articles that I plan to rewrite to create 9 of the remaining 11 chapters in the current table of contents, as indicated in this table of contents. ??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:23, 8 February 2026 (UTC) :Hi @[[User:DavidMCEddy|DavidMCEddy]]! I removed the query flag, since this is clearly not a test page. I do have concerns about the suitability of this book for Wikibooks, since it seems to be more in line with essays and original research/analysis (which are [[Wikibooks:WIW|out of scope here]]). Wikiversity seems like a very suitable place for them—is there a specific reason you want to move them here? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:24, 8 February 2026 (UTC) ::{{re|Kittycataclysm}} ::This book is intended to accelerate the diffusion of [[w:Media literacy|media literacy]] by making it easier for humans to (a) access training materials and (b) connect with research on the most important issues that concern them and (c) discuss those issues with others who may believe differently in a nonthreatening context that encourages dialogue and a shared search for what can honestly be said about any particular issue. This is an extension of "The wisdom of polarized crowds" discussed in [[Wikipedia:Reliability of Wikipedia]]. ::I don't know about you, but I'm frightened by the collapse of nuclear arms control agreements since the year 2000, by global warming, by the threats of the Trump administration to invade Canada and Greenland, etc. If this book project is successful, it will make a material contribution to reversing these trends -- unless this kind of dialogue is [[v:Responding to a nuclear attack|interrupted by a nuclear war]]. === Who is DavidMCEddy === ::I'm a [[w:Vietnam veteran|Vietnam-era veteran]] with a PhD in statistics and a publication record for which [https://www.researchgate.net/profile/Spencer-Graves-3 ReserchGate has found over 1,200 academic publications that have cited my work.] Since [https://xtools.wmcloud.org/ec/en.wikipedia.org/DavidMCEddy 2010 I have logged] * 6,000+ edits in each of Wikipedia and Wikiversity, * 1,000+ in Wikimedia Commons, * 30,000+ in Wikidata, and * almost 1,000 in other Wikimedia Foundation projects like Wikiquote and edits to the Spanish, French and German Wikipedias. This includes dozens of research reports posted to Wikiversity under [[v:Category:Freedom and abundance]] and 44 posts under [[v:Category:Media reform to improve democracy]] that provide a platform for documenting and discussing 44 episodes of a fortnightly "Media & Democracy" series of 29:00 mm:ss podcasts syndicated for the [https://pacificanetwork.org/stations-2/ Pacifica Radio Network] featuring the opinions of leading experts on the increase in political polarization and violence and what those experts think should be done about this. I've just posted another chapter to [[Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. I hope you will agree that this book can make a positive contribution to Wikibooks and to [[w:Jimmy Wales|Jimbo Wales]]' [[w:Wikipedia:Prime objective|Prime Directive]] to create "a world in which every single person on the planet is given free access to the sum of all human knowledge." Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 01:19, 9 February 2026 (UTC) :@[[User:DavidMCEddy|DavidMCEddy]] Thank you and I understand this, but I am asking why you think this material is more suitable at Wikibooks rather than at Wikiversity. From what I can see, Wikiversity seems like the more appropriate home for it given our [[Wikibooks:WIW|scope]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:59, 9 February 2026 (UTC) ::{{re|Kittycataclysm}} ::"Media Literacy and You" is textbook to support both self study and classes on media literacy. ::I have been posting content to Wikiversity since 2014 and have not encountered support there for books. A search just now turned up a hint of a book on Wikiversity, but I could not easily find anything on how to do it, etc. ::I think this "Media Literacy and You" project would lose the vast majority of its potential if it were not on Wikibooks. ::??? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 02:22, 9 February 2026 (UTC) {{outdent}} {{re|Kittycataclysm}} Will you please help me with the protocols of creating a book on Wikiversity? 1. I have found documentation that claims that Wikiversity supports such. However, the documentation seems incomplete, potentially out of date, etc. For example, I could not see how to follow the instructions for [[Wikiversity:Help:Books#Step 1: Enable the "Book creator" tool]]. So I posted a question to [[Wikiversity:Help talk:Books]]. 2. What do you suggest I do next? :I can create an article on Wikiversity titled, "Media Literacy and You", and port everything I've posted to Wikibooks there, then replace the pages on Wikibooks with redirects to [[Wikiversity:Media Literacy and You]], [[Wikiversity:Media Literacy and You/Introduction]], and [[Wikiversity:Media Literacy and You/The impact of the media on political economy since the time of the Pharaohs]]. :If you think that's the best way to build this book project, great. It would actually be easier for me, because there would be less translation between what I already have on Wikiversity and a version for Wikibooks. (Also, Wikiversity supports <nowiki>{{cite Q|...}}</nowiki>, which I have used extensively for years.) :Thanks for your help. [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 13:26, 9 February 2026 (UTC) :@[[User:DavidMCEddy|DavidMCEddy]] Unfortunately, I am not familiar with the exact workings of Wikiversity, so I can't be much help there. My personal recommendation is that you ask there for help on how best to structure your materials to match the WV requirements. If you'd like some additional opinions/insight, please feel free to also check in at the [[Wikibooks:Reading room/General|reading room]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:22, 10 February 2026 (UTC) ::{{re|Kittycataclysm}} I believe I have finished migrating all of ''Media Literacy and You'' to Wikiversity and replacing the parts of it on Wikibooks with redirects. Comments? Thanks, [[User:DavidMCEddy|DavidMCEddy]] ([[User talk:DavidMCEddy|discuss]] • [[Special:Contributions/DavidMCEddy|contribs]]) 17:32, 10 February 2026 (UTC) == Thank you! == Heya, thanks for reviewing my stuff! Just to note, the first lesson page was done and so that'll need moving. If you want to discuss anything with me, I am easily reachable on Discord @ xiluosi233. I can explain philosophy, approach, and so on from my teaching experience if you want anything regarding that. [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:48, 17 February 2026 (UTC) :It appears [[An Introduction to the Han Script]] was moved wrong - should it not be [[General Literary Chinese from Scratch/An Introduction to the Han Script]]? [[User:Shira the Mogul|Shira the Mogul]] ([[User talk:Shira the Mogul|discuss]] • [[Special:Contributions/Shira the Mogul|contribs]]) 19:52, 17 February 2026 (UTC) ::@[[User:Shira the Mogul|Shira the Mogul]] good catch! I accidentally removed more of the title than intended. I've fixed this now. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 13:18, 18 February 2026 (UTC) == A test request == Just to see whether a recent Luna update turned out as intended, could you briefly revert your [[User:Kittycataclysm/lunaoptions.json|Luna preferences page]] to the first revision? Since you don't appear to have any custom preferences in the first place, I don't think there should be any conflicts. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 01:49, 30 March 2026 (UTC) :Done! But, it seems to have perhaps auto-updated again immediately afterwards. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 15:39, 10 April 2026 (UTC) == Linking == Hi,<br> For my edification, why is a link from [[Cookbook:nettle|nettle]] to [[w:Urtica_dioica|Urtica dioica]] not appropriate? The Wikipedia article has more information & seems relevant.<br> Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 01:53, 24 April 2026 (UTC) :@[[User:PeterEasthope|PeterEasthope]] good question! Wikibooks discourages outlinking, since books should be self-contained units. Instead of linking to [[w:Urtica dioica]], the correct approach would be to flesh out the actual chapter here at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:34, 24 April 2026 (UTC) ::Should all material in the Wikipedia article about Urtica dioica relevant to cooking be duplicated into the nettle article in the cookbook? Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 02:30, 2 May 2026 (UTC) :::@[[User:PeterEasthope|PeterEasthope]] you could do that, although you should only include information that is sourced. However, I recommend that you wait, because I am coincidentally working on the page right now and fleshing it out significantly. I should publish today. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:40, 2 May 2026 (UTC) ::::The nettle page is better now. Thanks. ::::I still wonder, given that the link to ''The Complete Guide to Edible Wild Plants, ...'' is permitted, why not a link to the botanically oriented page in Wikipedia. What if someone reads the Cookbook article and is interested in the toxin for example? Seems that non-Wikimedia references are more privileged than Wikimedia references. ::::Also, by chance, just noticed the [[w:Nettle_soup|Nettle soup]] article in Wikipedia. Better in the Cookbook? ::::Thx, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 19:10, 5 May 2026 (UTC) :::::Another good question. The reason those books are linked is because they are reputable and topical sources for the subject matter (nettles as used in cooking from an instructional perspective), and the links are part of the citations—this makes it different from a simple outlink to a Wikipedia page. Wikipedia pages should also not be cited themselves as sources. Regarding nettle soup, I don't think it makes sense to have that as a standalone page here in the cookbook due to its encyclopedic tone, and I don't see any recipes there. Does this make sense? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 00:21, 6 May 2026 (UTC) ::::::Somewhat. Certainly a recipe wouldn't be incongruous in a cookbook. Still seems unhelpful that relevant information in Wikipedia is inaccessible from a Wikibook. In effect there's a "Berlin Wall" between two Wikimedia projects. Would a "See also" section be permissible? ::::::Thanks, ... [[User:PeterEasthope|PeterEasthope]] ([[User talk:PeterEasthope|discuss]] • [[Special:Contributions/PeterEasthope|contribs]]) 14:00, 7 May 2026 (UTC) == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 --> == Undeletion request == Hello, I am writing to request an undeletion of the page Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad. You stated you are a frequent visitor of the Lentis page and are thus familiar with it. This page was part of a class assignment and was in progress at the time of deletion. The work deleted is what we will be graded on for our class, so we would appreciate the restoration. [[User:Yqj3km|Yqj3km]] ([[User talk:Yqj3km|discuss]] • [[Special:Contributions/Yqj3km|contribs]]) 19:36, 4 May 2026 (UTC) :@[[User:Yqj3km|Yqj3km]] see my response below regarding undeletion. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:15, 4 May 2026 (UTC) == Undeletion request == About the page on Lentis called Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad: I, too, request undeletion, please. If the authors made any msitakes, the fault is 100 percent mine, for failing to guide them correctly. Like all chapters in this book, this team's chapter is a class assignment. I will be interested also in the reason for deletion so that I can guide authors better. I want to help my students be constructive contributors. Many thanks! [[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 20:03, 4 May 2026 (UTC) :Hi @[[User:Norton|Norton]] and thanks for the ping! I deleted it because it was not titled/filed correctly, so I didn't realize it was part of [[Lentis]]. I have undeleted it and moved it to [[Lentis/Saumya Pandya Thakkar, Shakuntala Pandya and the Pedestrians of Ahmedabad]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 22:14, 4 May 2026 (UTC) ::Many, many thanks, @[[User:Kittycataclysm|Kittycataclysm]]! I am very grateful as always for everything you do for Wikibooks! ::[[User:Norton|Norton]] ([[User talk:Norton|discuss]] • [[Special:Contributions/Norton|contribs]]) 22:27, 4 May 2026 (UTC) == Log in issues == Hi, messaging you as you seem to be the most active admin at the moment. I can't log in (as posted at <bdi>[[Wikibooks:Reading room/Administrative Assistance]] and also on my WP page at</bdi> [[w:User_talk:Xania]]). Seems to be an issue with extra security for admins? I am asked to use my authenticator app (which I can't as I have never set it up for Wikibooks) or a recovery code (which I don't have). Any idea what I should do in this situation? Xania [[Special:Contributions/&#126;2026-28255-89|&#126;2026-28255-89]] ([[User talk:&#126;2026-28255-89|talk]]) 18:21, 10 May 2026 (UTC) :Apologies for missing this yesterday! It seems like we have a few people working on it over in the reading room, and I'll keep track there. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:37, 11 May 2026 (UTC) 6j5gyb4jzxqnfs7didsahdkj8rnj1bz User talk:3MMPEYTON 3 447393 4635398 4096105 2026-05-12T11:07:02Z 3MMPEYTON 3393808 /* Can a kind person help me update (concerning AI)? */ new section 4635398 wikitext text/x-wiki == Zombie by Margaret Atwood == '''Zombie''' is a poem by the world famous poet Margaret Atwood. Her poem can be found in her book <u>'''Dearly'''</u>, a collection of her new poems. I hope to post a critical essay on 'Zombie' by Margaret Atwood, as a example of critical analysis in Literature. I am certain that I can fairly reprint a few lines from the poem, yet I'm not sure if I can post the entire poem. Any suggestions? Thanks~~ [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 18:04, 25 June 2022 (UTC) <br> There you have it: zombie. <br> Didn't you always suspect? <br> "Poetry is the past <br> that breaks out in our hearts" <br> like a virus, like an infection. <br> <br> The quote within the poem: "Poetry is the past that breaks out in our hearts..." is taken from the poet Rilke. <br> ==NEW EDITS!== NEW TOPIC: [ I left these paragraphs under CREATE VAMPIRES / History and Folklore ] History, meaning inquiry, or knowledge acquired from the past by investigation, may stem from Greek historia, according to Wikipedia. https://en.wikipedia.org/wiki/Portal:History History is related to folklore, yet is essentially different. Folklore are stories about a particular culture, yet Folklore, and similar legends, are told from a subjective perspective, and are not validated by external sources. Folklore and legends are classified as cultural heritage. History is not myth, mainly for reasons that involve telling a story about events that have happened in the past, and then gathering supporting evidence used to validate one's history. The study of History is a major discipline in academic fields. The nature of the vampire shifted from folklore stories, that often contained warnings, to mutated stories about pale monsters and occult-ish blood lettings. It is as if the horrific stories about the tragic events that happened to some people, horror stories that were traditionally passed orally from person to person, started to pass culturally from one region to another region, finally emerging (centuries later) from the author's imagination in tangible, written form, vastly distorted, yet eerily relevant, with the mysterious ability to capture the imagination of young readers. Imaginative young readers today, could greatly benefit from Creative Writing classes offered in many Public High Schools. Creative writing classes are controversial classes in academia, yet in general, helpful to students in public schools. Creative writing programs are developing. In many public schools, creative writing classes are related to Language classes, and Art classes. Creative writing is not a discipline in academic fields. Create Vampire is a free wikibook intended as a guide, and as a non-fictional resource for people fascinated by vampires and similar monsters! TIP: Before creating a vampire character, you could ask yourself if you want your vampire to reflect stories based in Folklore, gathered from events that happened to actual people, or you may prefer to create a vampire from your imagination. Perhaps a imaginary creation who possesses non-human traits? I edited this major paragraph Create Vampires / History and Folklore / Create Vampires?: <BR>CREATE VAMPIRES? In a world where people desire to make a lot of money, in the shortest amount of time. In a world where bank robbery is illegal, yet grave-robbery is not...? In a world populated by individuals who seemed ruled by greed, vampires and other monsters are sometimes spoken into some tangible, often frightening existence. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:24, 13 August 2022 (UTC) If we exist in a world where characters could be spoken into existence, and allowed to linger in unusual fields bound and un-bound... If characters could linger, losing human characteristics and form, linger like ghost populating flat white spaces, if characters could attain atypical motion, yet exist like zombies without the ability to reason, or exist like demons without kindness, or exist like vampires, with constant hunger, sharing kindness with the hungry ghost who linger with desires to be fed, if such empty planes were populated by hungry, unreasoning, lingering atypical creations, mere works of the imagination, would their monster's tale be worthy of note? I hope to add this paragraph [somewhere after "The nature of the vampire shifted from folklore stories..."] The nature of the vampire shifted from folklore stories, that often contained warnings, to mutated stories about pale monsters and occult-ish blood lettings. It is as if the horrific stories about the tragic events that happened to some people, horror stories that were traditionally passed orally from person to person, started to pass culturally from one region to another region, finally emerging (centuries later) from the author's imagination in tangible, written form, vastly distorted, yet eerily relevant, with the mysterious ability to capture the imagination of young readers. <BR>Thanks. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:24, 13 August 2022 (UTC) == I will miss Pi zero. == Although this is a personal response, in no way related to "Create Vampires," I have recently learned of Wikibooks' loss. Pi zero was a great guide, and I will miss his guidance when I am loss on Wikibooks. He was a special person online. Now I wonder who will remind me to avoid ORIGINAL RESEARCH? LOL. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:54, 15 August 2022 (UTC) == Why Create Vampires? == I added 5 new paragraphs to a new page: Why Create Vampires? <br> Contributions from Wikibookians interested in these subjects, especially vampires, are welcomed! <br> <br> [new section] What would happen if you woke-up one day with a horrible craving for blood? What if you woke up, then slowly realized that you were invisible, would you get dressed out of habit? What if you woke-up one day both hungry and invisible? What would you do? These are questions writers may consider when approaching fictional narratives. Stories about ghosts, angels, zombies and vampires are popular with modern readers, yet why do people write about vampires? Should you? Perhaps writing creatively about a fascinating subject is a bit of a dream. In order to first figure out what to write, some people may choose to gather together with other writing students to consider and experiment with ideas and techniques of use to other Writers. Classes that encourage creative writing, may encourage exploration of fascinating subjects, such as vampires. Exploration of unusual subjects can be rewarding to the creative spirit! Creative writing is a self-developmental process involving your creativity, using established techniques of the Writer’s craft, shaped by your level of honesty. In creative writing classes, your story is not just your creative expression, each story you take time to write is similar to a window allowing people to share in the communication process. You don’t just share common norms about spelling, grammar, or idiomatic expressions used by normal people, your story can share information about how a group of people reacted to life-altering events, meaning your stories can in a general sense, reflect the society and times you observe and write about. Because every writer is advised to “write what you know,” you may willingly look for safe ways to write what you know, creatively, in a non-factual manner that may not share factual information, yet will express your emotions, or will reflect the feelings of everyone. Creative writing is about telling a story, in a expressive, original manner. Techniques like tone, meaning how to express the right mood, emotional intensity, or level of humor, meaning how we tell the story using the right tone to a reader who is unable to hear you, or hear the people your story will reflect, may become easier after we have developed better writing skills. Creative writing is a subject about developing better writing skills, and allowing honest expression, often in non-factual, creative ways. <br> <br> Writers who write about the vampires from their imagination maybe following their own personal creative spirit. <br> <br> <br> I WILL SLOWLY ADD MORE INFORMATION TO THIS SECTION [NOT ON MAIN PAGE] Why Create Vampires? / Warning! <br> '''WARNING: <u>Vampires of the imagination in action!</u>''' <br> <br> Giving warnings against vampires of the imagination maybe a useful device writers could explore. <br> Typical vampires of the imagination are not friendly characters, they seem to possess unusual traits and characteristics, they are not popular, <br> almost un-loveable, and very problematic.<BR> <br> {| class="wikitable" |+ COMMON VAMPIRE-IMAGINATION TRAITS + CHARACTERISTICS:<br> |- ! Traits !! !! Characteristics |- | Pale / Deadly pale || || Enjoy isolation / Loner personality |- | Long fangs / Fang-ish teeth || || Predator personality |- | Thin || || Alpha Male type |- | Black hair / Brown Hair || || "Energy Vampire" : Negativity, overly dramatic, hostile rages, complaints and sad stories. |- | Re-animated corpse with failing body issues. || || |} <BR> Vampires of the imagination that seem to be re-animated, walking corpses, some with dominate alpha-male behaviors and sharp cuspids, could be a terror, a monster, or a walking nightmare to a town, or neighborhood. It is easy for Writers to warn their readers against such a vampire [...of the imagination], yet what about vampires with subtle negative energy influences? What of Energy vampires and other less monster-ish vampires of the imagination?<br> <BR> '''Tip:''' Typically, humans have four cuspids in their mouth. Two on the bottom, and two on the top left and right side of the mouth. <BR> These are the sharpest, longest teeth, they have a pointed edge and have been called "vampire teeth" by some Writers.<BR> <br> {| class="wikitable" |+ Supernatural Vampire Traits |- ! Traits that are supernatural !! Mythological Creature |- | Immortality <br>Drinking blood <br> Sunlight Poisoning<br> Heightened senses <br> Morphing || [[File:"Le Vampire".jpg|thumb|"Le Vampire"]] |} <br> Vampire stories found in Eastern European Folklore often warn people against evil characters, or of a evil character [the antagonist] <br> who in a malicious manner seeks to harm innocent people. Regardless of the motive, the methods are of drugging [poisoning] the victim, <br> which often leads to the innocent person getting buried alive, and / or having their graves robbed by grave-robbers interested <br> in robbing the rich. Many Eastern European folk stories have warnings against grave-robbers! <br> <br> Some traits for vampires of the imagination are obviously supernatural, yet other vampires of the imagination possess normal traits, yet are described as displaying unusual behaviors. In 1819, John Polidore wrote The Vampyre, a fictional piece that is noted as having introduced vampires of modern Fiction. The Poet Rudyard Kipling wrote in his The Vampire in 1897 "To a rag and a bone and a hank of hair," it is implied that Kipling's vampire is realistic, thus mostly made up. Tip: Typically, humans have four cuspids in their mouth. Two on the bottom, and two on the top left and right side of the mouth. These are the sharpest, longest teeth, they have a pointed edge and have been called "vampire teeth" by some Writers. Perhaps Juliet in William Shakespeare's play: Romeo and Juliet could be described by some people as a vampire of the imagination. Does William Shakespeare describe physical traits that would support this claim or unusual interpretation? Do the characters act in ways that may influence, or inspire, future imaginative vampire stories?<br> <br> [new section: Why Create Vampires? Legal Considerations] <br> '''<u>Why Create Vampires? Legal Considerations</u>''' <br> For many legal reasons, people are not allowed to poison then legally bury other people alive, nor are people allowed to rob another person's grave. <br> When we hear about the grim and bloody punishments Vlad- The Impaler inflicted on grave robbers and other lawless thieves, we may start to wonder, why create vampires? <br> <br> It is rumored that Vlad - The Impaler, Prince of Wallachia (a region now known as southern Romania), ran spikey poles through his enemies during the middle of the 14th century. Vlad may have impaled hundreds, worse, many of the impaled were left outside his city on display as a warning to scare off invaders and robbers, including grave robbers! Many folk stories about the Prince of Wallachia circulate where folk stories are written and read. <br> <br> When vampire folklore is reviewed, we learn about History, and about people from other cultures, many who struggled with, and for their humanity. We learn of the methods (sometimes bloody) people used to solve problems, and we may wonder how our society would fairly solve our problems while staying humane. We may also wonder about other folk stories from around the world, such as the zombie-person, the demon-person, or the hungry ghost-person. How does a human get turned into a hungry ghost-person? <br> <br> [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:33, 25 August 2022 (UTC) <br> Sources: <br> [[https://healthpsychologyconsultancy.wordpress.com/2012/07/13/the-energy-vampire-personality-type/|https://healthpsychologyconsultancy.wordpress.com/2012/07/13/the-energy-vampire-personality-type/]] wordpress.com Reviewed: 8/19/2022 <br> [[https://theconversation.com/five-vampire-traits-that-exist-in-the-natural-world-104957|https://theconversation.com/five-vampire-traits-that-exist-in-the-natural-world-104957]] theconversation.com <br> [[https://www.dictionary.com/browse/cuspid|https://www.dictionary.com/browse/cuspid]] www.dictionary.com <br> Thanks [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 17:03, 19 August 2022 (UTC) == DROPPING MY RACIAL BAGGAGE == <br> MY PERSONAL INFORMATION SEEMS TO BELONG ON MY DISCUSSION PAGE.<br> Dropping My Racial Baggage <br> On my body I have two birthmarks. One is a darker brown than my normally brown body, the other is a yellowish-brown birthmark, lighter than most of my brown body. I always knew my family was blended, we merged and emerged from attractive dark brown and yellowish-brown relatives who could pass as white because of their facial features. Today, I’m sure they could blend with tan Americans, meaning Americans who are a lighter brown in skin complexion and appearance. I always thought my family was most like the family from The Cosby Show, a popular family TV Show. On The Cosby Show, Bill Cosby’s TV father was not embarrassed by the members of his family who came in a range of shades, from dark brown to almost-white. The fact was that families with extended family members felt comfortable, and popular, claiming all the members of their family! This was ideal. Some people wanted to celebrate. The 1980s were diverse and positive times for family Entertainment. As opposed to foreign cultural notions of people checking one of two boxes: black or white, and away from similar subversive cultural norms … black and tan? The composition by Duke Ellington comes to mind… I consider most Americans in a range between dark brown and tan. When people ask me my race, I always say “brown,” because I am a brown woman, or to be technically correct, I am a multi-colored, 4th dimensional woman. Most people do not want to be super-technical (by acknowledging the 4th dimension of space-time), yet people seem to want to live reasonable lives. For example, why can’t the box of 8 colors describe the colors we see when we look at other people? Perhaps crayons’ manufacturers, CRAYOLA, did need to make several flesh colored crayons and market colors that people appear to be, ranging from dark brown to light brown. After watching America’s Top Model, at least 13 seasons, I realized that most people can see beyond the simple “black” or “white” description, yet there are people who will describe a brown, or a tan person as either “black” or “white.” Humans calling people “black” or “white” use to mildly bother me, I remember when I roomed with a Jewish person, (a student who ate pepperoni pizza with few problems), a young woman who re-named me “black” every time I spoke with her, I remember feeling puzzled, then resentful. My third-grade Teacher never labeled me black, the other African-Americans in my High School never left me with the “black” label, nor did a few Native Americans who were called “Asian-Americans,” (…about Native-Americans, I mean we know where America is, but where is Asia?) therefore I was really puzzled. During my “identity growth” years, when I considered the words other people used to label “me,” I was grouped with other teenagers, later, mis-leading college students and other young adults whose mis-labeling of others was either a shameful oversight or ironic (the irony based on previous unexamined cultural biases Americans had failed to question). What is ironic about public expressions of race is the fact that our notions about race are influenced by our culture. For example, in High School, I remember my excitement about the field of Science, a high point after I had read a TIME magazine article that reported Scientist who could trace DNA via. The mitochondrial organelles. What I remember from my Cell Biology books are that the mitochondria are the “power house” of the cell. The article suggested that we could trace our ancestors DNA not just from DNA found in the nucleus, but also through analyzing unique DNA found in the mitochondria. This information made news, in fact, the cover of that TIME magazine was a arty image with a updated image of Adam and Eve. I assume the updated image was to announce the new Science developing to help find our ancestors and discovering our relatives. I remember that I stood in front of my Science class with a issue of TIME magazine in my hand, and I asked the class if they knew “black” people were in the garden of Eden. The arty image on the cover of TIME actually showed people who looked like African-Americans, people with brownish-tan skin, and mid-length curly hair. People in America who looked like the image on the TIME magazine cover were / are called “black” in America. As I gain a greater appreciation for the Arts, especially after I took a few Art appreciation classes, I realize that forcing a racial classification was rude, by asking if the class knew that black people were in the garden of Eden, I exposed my mis-education. It is the ironic mis-education I remember I attached to the arty TIME magazine cover. In my early weeks on my college campus, I would brag about my chosen field: Genetics. Because there was no major in Genetics, I had to settle for a Biology or a Chemistry major. I could take extra classes that focused on Genetics. Other Science students were also interested in Genetics and seemed the types who would follow me into Genetic fields where we would, hopefully, find jobs in Genetics, where we would one day help to cure genetic disorders. That was my teenage dream for my future career. Turns out, reality is less ideal. Although I did find meaningful work later, in a laboratory that studied animal genetics, I basically learned how to use modern Science equipment [a giant lesson needed if Science is to improve our understandings…]. Science equipment is complex, and often, a lack of a good understanding of Science and Technology left Science students with puzzling results… I also worked at a Hospital, and I proudly held a healthy and alert white baby boy whose parents were probably immigrants from China. Technically, I have held white children, and I technically believe that they are a minority, and like other children, small white children should always be protected by adults and by our government. Finally, I use to converse with other students about my hair, or about my complexion [my hair and skin does lighten and darken with sunlight exposure]. Few students believed I needed to allow my hair to be natural, to see the two different hair types (one tight and curly, like a spiral, the other less tight, more wavey), or that my time spent without make-up (concealer) was necessary, yet my time spent without make-up allowed my brown complexion to emerge (in its range of brownness). By studying my genotypic expression, my biological inheritance, my outer surface appeared. I studied myself as I truly would appear without cosmetics, concealers, and hair-straighteners. I did not burn my bra (I did have limits), yet freeing oneself of “surface enhancers” allowed me to feel confident in who I truly was: a healthier, brown woman with black curly hair. I suppose I found myself? Nonsense, how could I ever lose me? I allowed my natural surface appearance to emerge, at least for a brief time in my life. Were college students who were once interested in Genetics as a career path impressed? Probably not. For unknown reasons, the ‘natural’ black chick, or the brown wannabe white-Hippy stereotype seemed to follow me. After exposure to radiation [a safe level] while working in a research laboratory, I did follow a popular “back-to-nature” path where I preferred natural products to “overprocessed” or processes products. My non-racist friends, many blond with sun-kissed brown skin, were typical “white Hippies,” yet I didn’t have to be a wannabe white-Hippy to be a non-racist woman who supported nature, was a Environmentalist, and a supporter of better opportunities for all Americans, regardless of their color, religion or gender! When I went online to share my learnings, gleaned from my factual college experiences, I was treated like a poor black child who couldn’t understand racist online… What? I could look up the definition for racism. [Racism (n): prejudice, discrimination, or antagonism directed against a person or people on the basis of their membership in a particular racial or ethic group, typically one that is a minority or marginalized]. As I understand the concept, racism is a flawed ideology that simplifies reality, forcing complex humans into limited conceptual categories. I was always against individual racist, preferring my own understanding of the situation from Dr. Martin Luther King’s point-of view, as I remember his message, we should judge a man based on his character [his deeds] and not on the color of his skin. To better fight against racism, I got help from Christians. In general, Christians believe that God has a plan for all of humanity. Many Christians believe that all people are the children of God. In the presence of active Christians on campus, I met actual black people, people with dark brown skin that could be mistook for the color black in bright sunlight. Near “black” people, I felt the color brown, there was no other way to describe my skin’s appearance. I was a brown human, which is what I had been saying since the 3rd grade in my public school! Contact with diversity confirmed my truth. Now that I am a Christian, I do not mentally pick-up racist ideology as being somehow above Christian beliefs and values. I do try to sense a person’s character. Realistically, most people in America struggle to raise their children because it is hard to raise good Christians and good citizens. I am done with dragging around “racial baggage,” I see people and choose religious values to pick-up, humanity to champion. == Dracula behind Vlad - The Impaler == Greetings! <br> I am glad people like Pi zero reminded me against original research, because I do not want to walk a mile in a undead man's shoes. I found most sources online and in public libraries [I do not have a insider perspective, nor do I want to become a special "inspiration" for a vampire-person in another special reader's world].<br> I want to create a new section: Dracula behind Vlad - The Impaler. <br> <br> '''Dracula behind Vlad - The Impaler''' <br> <br> Sometimes Writers will mock their times, or the leaders in their society through parody, or through satire. In some countries Writers have the freedom to mock real men in Politics, or of great military influence who seem, in deed, like real monsters. <br> In History, there are a few real monsters, men who we will remember for their cruelty, or for their massive injustices. This does not appear to be the case with Dracula, a novel character considered "inspired by" Vlad The Impaler. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 16:26, 23 August 2022 (UTC) Because of Bram Stoker, a popular Irish Writer, Vlad came to be known as the ''original'' Dracula. It is ironic that the fictional character, Dracula, is well known yet the historic man, Vlad, a Prince from a Romanian royal family, is less known. According to one writer / Historian, "...as he wrote Dracula, he borrowed certain aspects of Vlad's life and wove them in with local folklore from the region." <br> Vlad, a special Prince of Romania, is a difficult subject to research. His Political influence is greatest in Romania, as is his mythic achievements. Vlad seemed to have influenced local folklore before Bram Stoker wrote his novel, '''Dracula''' in 1897. <br> Estimates puts the number of people Vlad is rumored to have killed at around 80,000 people. That seems questionable, it seems unlikely for 1 man to have murdered [directly] a large chunk of the Romanian population. Although it was never rumored by the people who tell, and re-tell folk stories, that Vlad drank blood, he is known as the person behind many bloody impalements and beheadings. <br> According to Wikipedia, "Offences where impalement was occasionally employed included contempt for the state's responsibility for safe roads and trade routes by committing highway robbery or grave robbery, violating state policies or monopolies, or subverting standards for trade. Offenders have also been impaled for a variety of cultural, sexual, and religious reasons." <br> <br> Vlad's father was a ruler of Wallachia, a territory between the Ottoman Empire and Europe, a country whose modern name is now known as Romania (southern). {| class="wikitable" |+ |- ! 5 Facts About Vlad - The Romanian Prince |- | Father: Vlad Dracul |- | Mother: Cneajna |- | Born: 1428 - 1431 |- | Year of Reigns: 1448, 1456 - 1462, 1476 |- | Died: December 1476 - January 1477 |} Source: <br> <u>The World's Most Glorious And Notorious Rulers: The Great And The Terrible And How They Got Their Names"</u> by JoAnne O'Sullivan. Copyright 2020 by JoAnne O'Sullivan. Published by Running Press Kids, an imprint of Perseus Books, LLC. ISBN: 978-0-7624-9661-7 <br> <br> Wikipedia.com [https://en.wikipedia.org/wiki/Vlad_the_Impaler]<br> THANKS [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 17:19, 23 August 2022 (UTC) == Can a kind person help me update (concerning AI)? == Hello. I have not been online to edit Create Vampire in about a year. I noticed new information concerning AI, but I did not have enough time to read and reflect. I am not sure about what Wikibooks will allow concerning AI. I have my original introduction, which I fear may not be neutral enough. I would like to compare my original introduction with the AI rewrite of Vampires of the Imagination. Introduction: Vampires of the Imagination: Although vampires are creatures of folklore, monsters from the afterlife that are sometimes called the "un-dead," vampires are uniquely different from ghost, those lingering spirits who refuse to die. Although vampires, by definition, are animated corpses, vampires of the imagination must feed on human blood in order to continue their earthly existence. This unique quality makes vampires a popular and original type of fiction, slightly different from other creatures found in folklore. Rewrite with AI: Vampires of the Imagination: In many cultural traditions, vampires are described as beings associated with death or the afterlife. They are often distinguished from ghosts, which are typically understood as disembodied spirits rather than reanimated bodies. Folklore commonly portrays vampires as animated corpses that sustain themselves by consuming the blood or life‑essence of the living. This characteristic has contributed to their development as a distinct category of supernatural figure within literature and popular culture. The idea of a blood‑dependent, corporeal being sets vampires apart from other figures in global folklore, many of which do not require physical sustenance or do not possess a physical form at all. In modern fiction, these traditional concepts have evolved into what may be called “vampires of the imagination”—creative interpretations that draw inspiration from historical beliefs while adapting traits to suit narrative, thematic, or symbolic purposes. These fictional versions vary widely, but they typically retain the core elements associated with vampires in earlier traditions: a connection to death, a physical body, and a form of predatory dependence on the living. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 11:07, 12 May 2026 (UTC) 97z3fovmwa35i5mjyuesh9hhz7tg7ba 4635399 4635398 2026-05-12T11:08:51Z 3MMPEYTON 3393808 /* Can a kind person help me update (concerning AI)? */ 4635399 wikitext text/x-wiki == Zombie by Margaret Atwood == '''Zombie''' is a poem by the world famous poet Margaret Atwood. Her poem can be found in her book <u>'''Dearly'''</u>, a collection of her new poems. I hope to post a critical essay on 'Zombie' by Margaret Atwood, as a example of critical analysis in Literature. I am certain that I can fairly reprint a few lines from the poem, yet I'm not sure if I can post the entire poem. Any suggestions? Thanks~~ [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 18:04, 25 June 2022 (UTC) <br> There you have it: zombie. <br> Didn't you always suspect? <br> "Poetry is the past <br> that breaks out in our hearts" <br> like a virus, like an infection. <br> <br> The quote within the poem: "Poetry is the past that breaks out in our hearts..." is taken from the poet Rilke. <br> ==NEW EDITS!== NEW TOPIC: [ I left these paragraphs under CREATE VAMPIRES / History and Folklore ] History, meaning inquiry, or knowledge acquired from the past by investigation, may stem from Greek historia, according to Wikipedia. https://en.wikipedia.org/wiki/Portal:History History is related to folklore, yet is essentially different. Folklore are stories about a particular culture, yet Folklore, and similar legends, are told from a subjective perspective, and are not validated by external sources. Folklore and legends are classified as cultural heritage. History is not myth, mainly for reasons that involve telling a story about events that have happened in the past, and then gathering supporting evidence used to validate one's history. The study of History is a major discipline in academic fields. The nature of the vampire shifted from folklore stories, that often contained warnings, to mutated stories about pale monsters and occult-ish blood lettings. It is as if the horrific stories about the tragic events that happened to some people, horror stories that were traditionally passed orally from person to person, started to pass culturally from one region to another region, finally emerging (centuries later) from the author's imagination in tangible, written form, vastly distorted, yet eerily relevant, with the mysterious ability to capture the imagination of young readers. Imaginative young readers today, could greatly benefit from Creative Writing classes offered in many Public High Schools. Creative writing classes are controversial classes in academia, yet in general, helpful to students in public schools. Creative writing programs are developing. In many public schools, creative writing classes are related to Language classes, and Art classes. Creative writing is not a discipline in academic fields. Create Vampire is a free wikibook intended as a guide, and as a non-fictional resource for people fascinated by vampires and similar monsters! TIP: Before creating a vampire character, you could ask yourself if you want your vampire to reflect stories based in Folklore, gathered from events that happened to actual people, or you may prefer to create a vampire from your imagination. Perhaps a imaginary creation who possesses non-human traits? I edited this major paragraph Create Vampires / History and Folklore / Create Vampires?: <BR>CREATE VAMPIRES? In a world where people desire to make a lot of money, in the shortest amount of time. In a world where bank robbery is illegal, yet grave-robbery is not...? In a world populated by individuals who seemed ruled by greed, vampires and other monsters are sometimes spoken into some tangible, often frightening existence. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:24, 13 August 2022 (UTC) If we exist in a world where characters could be spoken into existence, and allowed to linger in unusual fields bound and un-bound... If characters could linger, losing human characteristics and form, linger like ghost populating flat white spaces, if characters could attain atypical motion, yet exist like zombies without the ability to reason, or exist like demons without kindness, or exist like vampires, with constant hunger, sharing kindness with the hungry ghost who linger with desires to be fed, if such empty planes were populated by hungry, unreasoning, lingering atypical creations, mere works of the imagination, would their monster's tale be worthy of note? I hope to add this paragraph [somewhere after "The nature of the vampire shifted from folklore stories..."] The nature of the vampire shifted from folklore stories, that often contained warnings, to mutated stories about pale monsters and occult-ish blood lettings. It is as if the horrific stories about the tragic events that happened to some people, horror stories that were traditionally passed orally from person to person, started to pass culturally from one region to another region, finally emerging (centuries later) from the author's imagination in tangible, written form, vastly distorted, yet eerily relevant, with the mysterious ability to capture the imagination of young readers. <BR>Thanks. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:24, 13 August 2022 (UTC) == I will miss Pi zero. == Although this is a personal response, in no way related to "Create Vampires," I have recently learned of Wikibooks' loss. Pi zero was a great guide, and I will miss his guidance when I am loss on Wikibooks. He was a special person online. Now I wonder who will remind me to avoid ORIGINAL RESEARCH? LOL. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:54, 15 August 2022 (UTC) == Why Create Vampires? == I added 5 new paragraphs to a new page: Why Create Vampires? <br> Contributions from Wikibookians interested in these subjects, especially vampires, are welcomed! <br> <br> [new section] What would happen if you woke-up one day with a horrible craving for blood? What if you woke up, then slowly realized that you were invisible, would you get dressed out of habit? What if you woke-up one day both hungry and invisible? What would you do? These are questions writers may consider when approaching fictional narratives. Stories about ghosts, angels, zombies and vampires are popular with modern readers, yet why do people write about vampires? Should you? Perhaps writing creatively about a fascinating subject is a bit of a dream. In order to first figure out what to write, some people may choose to gather together with other writing students to consider and experiment with ideas and techniques of use to other Writers. Classes that encourage creative writing, may encourage exploration of fascinating subjects, such as vampires. Exploration of unusual subjects can be rewarding to the creative spirit! Creative writing is a self-developmental process involving your creativity, using established techniques of the Writer’s craft, shaped by your level of honesty. In creative writing classes, your story is not just your creative expression, each story you take time to write is similar to a window allowing people to share in the communication process. You don’t just share common norms about spelling, grammar, or idiomatic expressions used by normal people, your story can share information about how a group of people reacted to life-altering events, meaning your stories can in a general sense, reflect the society and times you observe and write about. Because every writer is advised to “write what you know,” you may willingly look for safe ways to write what you know, creatively, in a non-factual manner that may not share factual information, yet will express your emotions, or will reflect the feelings of everyone. Creative writing is about telling a story, in a expressive, original manner. Techniques like tone, meaning how to express the right mood, emotional intensity, or level of humor, meaning how we tell the story using the right tone to a reader who is unable to hear you, or hear the people your story will reflect, may become easier after we have developed better writing skills. Creative writing is a subject about developing better writing skills, and allowing honest expression, often in non-factual, creative ways. <br> <br> Writers who write about the vampires from their imagination maybe following their own personal creative spirit. <br> <br> <br> I WILL SLOWLY ADD MORE INFORMATION TO THIS SECTION [NOT ON MAIN PAGE] Why Create Vampires? / Warning! <br> '''WARNING: <u>Vampires of the imagination in action!</u>''' <br> <br> Giving warnings against vampires of the imagination maybe a useful device writers could explore. <br> Typical vampires of the imagination are not friendly characters, they seem to possess unusual traits and characteristics, they are not popular, <br> almost un-loveable, and very problematic.<BR> <br> {| class="wikitable" |+ COMMON VAMPIRE-IMAGINATION TRAITS + CHARACTERISTICS:<br> |- ! Traits !! !! Characteristics |- | Pale / Deadly pale || || Enjoy isolation / Loner personality |- | Long fangs / Fang-ish teeth || || Predator personality |- | Thin || || Alpha Male type |- | Black hair / Brown Hair || || "Energy Vampire" : Negativity, overly dramatic, hostile rages, complaints and sad stories. |- | Re-animated corpse with failing body issues. || || |} <BR> Vampires of the imagination that seem to be re-animated, walking corpses, some with dominate alpha-male behaviors and sharp cuspids, could be a terror, a monster, or a walking nightmare to a town, or neighborhood. It is easy for Writers to warn their readers against such a vampire [...of the imagination], yet what about vampires with subtle negative energy influences? What of Energy vampires and other less monster-ish vampires of the imagination?<br> <BR> '''Tip:''' Typically, humans have four cuspids in their mouth. Two on the bottom, and two on the top left and right side of the mouth. <BR> These are the sharpest, longest teeth, they have a pointed edge and have been called "vampire teeth" by some Writers.<BR> <br> {| class="wikitable" |+ Supernatural Vampire Traits |- ! Traits that are supernatural !! Mythological Creature |- | Immortality <br>Drinking blood <br> Sunlight Poisoning<br> Heightened senses <br> Morphing || [[File:"Le Vampire".jpg|thumb|"Le Vampire"]] |} <br> Vampire stories found in Eastern European Folklore often warn people against evil characters, or of a evil character [the antagonist] <br> who in a malicious manner seeks to harm innocent people. Regardless of the motive, the methods are of drugging [poisoning] the victim, <br> which often leads to the innocent person getting buried alive, and / or having their graves robbed by grave-robbers interested <br> in robbing the rich. Many Eastern European folk stories have warnings against grave-robbers! <br> <br> Some traits for vampires of the imagination are obviously supernatural, yet other vampires of the imagination possess normal traits, yet are described as displaying unusual behaviors. In 1819, John Polidore wrote The Vampyre, a fictional piece that is noted as having introduced vampires of modern Fiction. The Poet Rudyard Kipling wrote in his The Vampire in 1897 "To a rag and a bone and a hank of hair," it is implied that Kipling's vampire is realistic, thus mostly made up. Tip: Typically, humans have four cuspids in their mouth. Two on the bottom, and two on the top left and right side of the mouth. These are the sharpest, longest teeth, they have a pointed edge and have been called "vampire teeth" by some Writers. Perhaps Juliet in William Shakespeare's play: Romeo and Juliet could be described by some people as a vampire of the imagination. Does William Shakespeare describe physical traits that would support this claim or unusual interpretation? Do the characters act in ways that may influence, or inspire, future imaginative vampire stories?<br> <br> [new section: Why Create Vampires? Legal Considerations] <br> '''<u>Why Create Vampires? Legal Considerations</u>''' <br> For many legal reasons, people are not allowed to poison then legally bury other people alive, nor are people allowed to rob another person's grave. <br> When we hear about the grim and bloody punishments Vlad- The Impaler inflicted on grave robbers and other lawless thieves, we may start to wonder, why create vampires? <br> <br> It is rumored that Vlad - The Impaler, Prince of Wallachia (a region now known as southern Romania), ran spikey poles through his enemies during the middle of the 14th century. Vlad may have impaled hundreds, worse, many of the impaled were left outside his city on display as a warning to scare off invaders and robbers, including grave robbers! Many folk stories about the Prince of Wallachia circulate where folk stories are written and read. <br> <br> When vampire folklore is reviewed, we learn about History, and about people from other cultures, many who struggled with, and for their humanity. We learn of the methods (sometimes bloody) people used to solve problems, and we may wonder how our society would fairly solve our problems while staying humane. We may also wonder about other folk stories from around the world, such as the zombie-person, the demon-person, or the hungry ghost-person. How does a human get turned into a hungry ghost-person? <br> <br> [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 15:33, 25 August 2022 (UTC) <br> Sources: <br> [[https://healthpsychologyconsultancy.wordpress.com/2012/07/13/the-energy-vampire-personality-type/|https://healthpsychologyconsultancy.wordpress.com/2012/07/13/the-energy-vampire-personality-type/]] wordpress.com Reviewed: 8/19/2022 <br> [[https://theconversation.com/five-vampire-traits-that-exist-in-the-natural-world-104957|https://theconversation.com/five-vampire-traits-that-exist-in-the-natural-world-104957]] theconversation.com <br> [[https://www.dictionary.com/browse/cuspid|https://www.dictionary.com/browse/cuspid]] www.dictionary.com <br> Thanks [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 17:03, 19 August 2022 (UTC) == DROPPING MY RACIAL BAGGAGE == <br> MY PERSONAL INFORMATION SEEMS TO BELONG ON MY DISCUSSION PAGE.<br> Dropping My Racial Baggage <br> On my body I have two birthmarks. One is a darker brown than my normally brown body, the other is a yellowish-brown birthmark, lighter than most of my brown body. I always knew my family was blended, we merged and emerged from attractive dark brown and yellowish-brown relatives who could pass as white because of their facial features. Today, I’m sure they could blend with tan Americans, meaning Americans who are a lighter brown in skin complexion and appearance. I always thought my family was most like the family from The Cosby Show, a popular family TV Show. On The Cosby Show, Bill Cosby’s TV father was not embarrassed by the members of his family who came in a range of shades, from dark brown to almost-white. The fact was that families with extended family members felt comfortable, and popular, claiming all the members of their family! This was ideal. Some people wanted to celebrate. The 1980s were diverse and positive times for family Entertainment. As opposed to foreign cultural notions of people checking one of two boxes: black or white, and away from similar subversive cultural norms … black and tan? The composition by Duke Ellington comes to mind… I consider most Americans in a range between dark brown and tan. When people ask me my race, I always say “brown,” because I am a brown woman, or to be technically correct, I am a multi-colored, 4th dimensional woman. Most people do not want to be super-technical (by acknowledging the 4th dimension of space-time), yet people seem to want to live reasonable lives. For example, why can’t the box of 8 colors describe the colors we see when we look at other people? Perhaps crayons’ manufacturers, CRAYOLA, did need to make several flesh colored crayons and market colors that people appear to be, ranging from dark brown to light brown. After watching America’s Top Model, at least 13 seasons, I realized that most people can see beyond the simple “black” or “white” description, yet there are people who will describe a brown, or a tan person as either “black” or “white.” Humans calling people “black” or “white” use to mildly bother me, I remember when I roomed with a Jewish person, (a student who ate pepperoni pizza with few problems), a young woman who re-named me “black” every time I spoke with her, I remember feeling puzzled, then resentful. My third-grade Teacher never labeled me black, the other African-Americans in my High School never left me with the “black” label, nor did a few Native Americans who were called “Asian-Americans,” (…about Native-Americans, I mean we know where America is, but where is Asia?) therefore I was really puzzled. During my “identity growth” years, when I considered the words other people used to label “me,” I was grouped with other teenagers, later, mis-leading college students and other young adults whose mis-labeling of others was either a shameful oversight or ironic (the irony based on previous unexamined cultural biases Americans had failed to question). What is ironic about public expressions of race is the fact that our notions about race are influenced by our culture. For example, in High School, I remember my excitement about the field of Science, a high point after I had read a TIME magazine article that reported Scientist who could trace DNA via. The mitochondrial organelles. What I remember from my Cell Biology books are that the mitochondria are the “power house” of the cell. The article suggested that we could trace our ancestors DNA not just from DNA found in the nucleus, but also through analyzing unique DNA found in the mitochondria. This information made news, in fact, the cover of that TIME magazine was a arty image with a updated image of Adam and Eve. I assume the updated image was to announce the new Science developing to help find our ancestors and discovering our relatives. I remember that I stood in front of my Science class with a issue of TIME magazine in my hand, and I asked the class if they knew “black” people were in the garden of Eden. The arty image on the cover of TIME actually showed people who looked like African-Americans, people with brownish-tan skin, and mid-length curly hair. People in America who looked like the image on the TIME magazine cover were / are called “black” in America. As I gain a greater appreciation for the Arts, especially after I took a few Art appreciation classes, I realize that forcing a racial classification was rude, by asking if the class knew that black people were in the garden of Eden, I exposed my mis-education. It is the ironic mis-education I remember I attached to the arty TIME magazine cover. In my early weeks on my college campus, I would brag about my chosen field: Genetics. Because there was no major in Genetics, I had to settle for a Biology or a Chemistry major. I could take extra classes that focused on Genetics. Other Science students were also interested in Genetics and seemed the types who would follow me into Genetic fields where we would, hopefully, find jobs in Genetics, where we would one day help to cure genetic disorders. That was my teenage dream for my future career. Turns out, reality is less ideal. Although I did find meaningful work later, in a laboratory that studied animal genetics, I basically learned how to use modern Science equipment [a giant lesson needed if Science is to improve our understandings…]. Science equipment is complex, and often, a lack of a good understanding of Science and Technology left Science students with puzzling results… I also worked at a Hospital, and I proudly held a healthy and alert white baby boy whose parents were probably immigrants from China. Technically, I have held white children, and I technically believe that they are a minority, and like other children, small white children should always be protected by adults and by our government. Finally, I use to converse with other students about my hair, or about my complexion [my hair and skin does lighten and darken with sunlight exposure]. Few students believed I needed to allow my hair to be natural, to see the two different hair types (one tight and curly, like a spiral, the other less tight, more wavey), or that my time spent without make-up (concealer) was necessary, yet my time spent without make-up allowed my brown complexion to emerge (in its range of brownness). By studying my genotypic expression, my biological inheritance, my outer surface appeared. I studied myself as I truly would appear without cosmetics, concealers, and hair-straighteners. I did not burn my bra (I did have limits), yet freeing oneself of “surface enhancers” allowed me to feel confident in who I truly was: a healthier, brown woman with black curly hair. I suppose I found myself? Nonsense, how could I ever lose me? I allowed my natural surface appearance to emerge, at least for a brief time in my life. Were college students who were once interested in Genetics as a career path impressed? Probably not. For unknown reasons, the ‘natural’ black chick, or the brown wannabe white-Hippy stereotype seemed to follow me. After exposure to radiation [a safe level] while working in a research laboratory, I did follow a popular “back-to-nature” path where I preferred natural products to “overprocessed” or processes products. My non-racist friends, many blond with sun-kissed brown skin, were typical “white Hippies,” yet I didn’t have to be a wannabe white-Hippy to be a non-racist woman who supported nature, was a Environmentalist, and a supporter of better opportunities for all Americans, regardless of their color, religion or gender! When I went online to share my learnings, gleaned from my factual college experiences, I was treated like a poor black child who couldn’t understand racist online… What? I could look up the definition for racism. [Racism (n): prejudice, discrimination, or antagonism directed against a person or people on the basis of their membership in a particular racial or ethic group, typically one that is a minority or marginalized]. As I understand the concept, racism is a flawed ideology that simplifies reality, forcing complex humans into limited conceptual categories. I was always against individual racist, preferring my own understanding of the situation from Dr. Martin Luther King’s point-of view, as I remember his message, we should judge a man based on his character [his deeds] and not on the color of his skin. To better fight against racism, I got help from Christians. In general, Christians believe that God has a plan for all of humanity. Many Christians believe that all people are the children of God. In the presence of active Christians on campus, I met actual black people, people with dark brown skin that could be mistook for the color black in bright sunlight. Near “black” people, I felt the color brown, there was no other way to describe my skin’s appearance. I was a brown human, which is what I had been saying since the 3rd grade in my public school! Contact with diversity confirmed my truth. Now that I am a Christian, I do not mentally pick-up racist ideology as being somehow above Christian beliefs and values. I do try to sense a person’s character. Realistically, most people in America struggle to raise their children because it is hard to raise good Christians and good citizens. I am done with dragging around “racial baggage,” I see people and choose religious values to pick-up, humanity to champion. == Dracula behind Vlad - The Impaler == Greetings! <br> I am glad people like Pi zero reminded me against original research, because I do not want to walk a mile in a undead man's shoes. I found most sources online and in public libraries [I do not have a insider perspective, nor do I want to become a special "inspiration" for a vampire-person in another special reader's world].<br> I want to create a new section: Dracula behind Vlad - The Impaler. <br> <br> '''Dracula behind Vlad - The Impaler''' <br> <br> Sometimes Writers will mock their times, or the leaders in their society through parody, or through satire. In some countries Writers have the freedom to mock real men in Politics, or of great military influence who seem, in deed, like real monsters. <br> In History, there are a few real monsters, men who we will remember for their cruelty, or for their massive injustices. This does not appear to be the case with Dracula, a novel character considered "inspired by" Vlad The Impaler. [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 16:26, 23 August 2022 (UTC) Because of Bram Stoker, a popular Irish Writer, Vlad came to be known as the ''original'' Dracula. It is ironic that the fictional character, Dracula, is well known yet the historic man, Vlad, a Prince from a Romanian royal family, is less known. According to one writer / Historian, "...as he wrote Dracula, he borrowed certain aspects of Vlad's life and wove them in with local folklore from the region." <br> Vlad, a special Prince of Romania, is a difficult subject to research. His Political influence is greatest in Romania, as is his mythic achievements. Vlad seemed to have influenced local folklore before Bram Stoker wrote his novel, '''Dracula''' in 1897. <br> Estimates puts the number of people Vlad is rumored to have killed at around 80,000 people. That seems questionable, it seems unlikely for 1 man to have murdered [directly] a large chunk of the Romanian population. Although it was never rumored by the people who tell, and re-tell folk stories, that Vlad drank blood, he is known as the person behind many bloody impalements and beheadings. <br> According to Wikipedia, "Offences where impalement was occasionally employed included contempt for the state's responsibility for safe roads and trade routes by committing highway robbery or grave robbery, violating state policies or monopolies, or subverting standards for trade. Offenders have also been impaled for a variety of cultural, sexual, and religious reasons." <br> <br> Vlad's father was a ruler of Wallachia, a territory between the Ottoman Empire and Europe, a country whose modern name is now known as Romania (southern). {| class="wikitable" |+ |- ! 5 Facts About Vlad - The Romanian Prince |- | Father: Vlad Dracul |- | Mother: Cneajna |- | Born: 1428 - 1431 |- | Year of Reigns: 1448, 1456 - 1462, 1476 |- | Died: December 1476 - January 1477 |} Source: <br> <u>The World's Most Glorious And Notorious Rulers: The Great And The Terrible And How They Got Their Names"</u> by JoAnne O'Sullivan. Copyright 2020 by JoAnne O'Sullivan. Published by Running Press Kids, an imprint of Perseus Books, LLC. ISBN: 978-0-7624-9661-7 <br> <br> Wikipedia.com [https://en.wikipedia.org/wiki/Vlad_the_Impaler]<br> THANKS [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 17:19, 23 August 2022 (UTC) == Can a kind person help me update (concerning AI)? == Hello. I have not been online to edit Create Vampire in about a year. I noticed new information concerning AI, but I did not have enough time to read and reflect. I am not sure about what Wikibooks will allow concerning AI. I have my original introduction, which I fear may not be neutral enough. I would like to compare my original introduction with the AI rewrite of Vampires of the Imagination. Introduction: Vampires of the Imagination: Although vampires are creatures of folklore, monsters from the afterlife that are sometimes called the "un-dead," vampires are uniquely different from ghost, those lingering spirits who refuse to die. Although vampires, by definition, are animated corpses, vampires of the imagination must feed on human blood in order to continue their earthly existence. This unique quality makes vampires a popular and original type of fiction, slightly different from other creatures found in folklore. Rewrite with AI: Vampires of the Imagination: In many cultural traditions, vampires are described as beings associated with death or the afterlife. They are often distinguished from ghosts, which are typically understood as disembodied spirits rather than reanimated bodies. Folklore commonly portrays vampires as animated corpses that sustain themselves by consuming the blood or life‑essence of the living. This characteristic has contributed to their development as a distinct category of supernatural figure within literature and popular culture. The idea of a blood‑dependent, corporeal being sets vampires apart from other figures in global folklore, many of which do not require physical sustenance or do not possess a physical form at all. In modern fiction, these traditional concepts have evolved into what may be called “vampires of the imagination”—creative interpretations that draw inspiration from historical beliefs while adapting traits to suit narrative, thematic, or symbolic purposes. These fictional versions vary widely, but they typically retain the core elements associated with vampires in earlier traditions: a connection to death, a physical body, and a form of predatory dependence on the living. Which seems best for Wikibooks? ~~ [[User:3MMPEYTON|3MMPEYTON]] ([[User talk:3MMPEYTON|discuss]] • [[Special:Contributions/3MMPEYTON|contribs]]) 11:07, 12 May 2026 (UTC) t5pcc44uwj01o1e4j1oqr2apno5sdfs Mirad Grammar/Greetings and Euphemisms 0 450297 4635301 4490723 2026-05-11T17:09:47Z Tyoyafud 6233 /* Euphemisms */ 4635301 wikitext text/x-wiki <noinclude>{{status|100%}}</noinclude> == Exclamations Using the H-words == [[File:Greeting.png|thumb|]] [[File:PM Modi and Chinese President Xi Jinping visit Sabarmati Ashram - 15089340350.jpg|thumb|]] : Many common exclamatory expressions in Mirad use words that begin with the letter '''h''': :{| class="wikitable" style="background:lightyellow; font-size:smaller;" |+ Common Exclamatories |- ! Mirad !! English !! Emoji |- | '''Hay!''' || ''Hello!''|| <big>🙋 {{niceemoji|happy}}</big> |- | '''Hey!''' || ''Hey!'', ''Oh...!'', ''Yahoo!''|| <big> {{niceemoji|wave}} </big> |- | '''Hoy!''' || ''Bye!''|| <big>🙋 {{niceemoji|sad}} </big> |- | '''Hiy...''' || ''Here is / Here comes... / Voici''|| <big> {{niceemoji|wave}}{{niceemoji|bad}} </big> |- | '''Huy...''' || ''There's... / There goes... / Voil&agrave;''||<big> {{niceemoji|wave}}{{niceemoji|good}}</big> |- | '''Hway!'''* || ''Great! / Good for you! / Congratulations!, wow! / hurray!''|| <big> {{niceemoji|happy}} </big> |- | '''Hwey!''' || ''Oh my! / Goodness gracious! / Well!'' || <big> {{niceemoji|shocked}} </big> |- | '''Hwoy!''' || ''Too bad! / What a shame! / Sorry!''/ oy!|| <big> {{niceemoji|angry}} </big> |- | '''Hyay!''' || ''Thanks!''|| <big> {{niceemoji|good}} 🙏</big> |- | '''Hyey!''' || ''Your're welcome! / That's ok.'' || {{niceemoji|zzz}} |- | '''Hyoy!''' || ''Sorry!'' ||<big> {{niceemoji|bad}}😢</big> |- | '''Hihi!''' || ''Ha ha! / That's funny!'' ||<big> {{niceemoji|happy}}</big> |- | '''Huhu!''' || ''Boo hoo!'' || <big>{{niceemoji|sad}}</big> |} : * <small>Pronounced like English ''why''.</small> : The above h-exclamations can be made into verbs by suffixing forms of '''-der'''....''to utter'', eg.: ::* '''hyay'''....''thanks'' <big>⇒</big> '''hyayder'''....''to thank'' :::* '''At fu hyayder et av hos et xa.'''....''I'd like to thank you for what you did.'' ::* '''hihi'''....''ha ha'' <big>⇒</big> '''hihider'''....''to laugh'' <big>⇒</big> '''hihiduer'''....''to make laugh'' :::* '''Et hihidua.'''....''You made me laugh.'' == Expressions by Category == === Offering Suggestions === :* ''If I were you,...''....'''Ven at su et,...''' :* ''In my opinion,...''....'''Be ata texyen,...''' :* ''Speaking personally,...''....'''Dalea av aut,...''' :* ''If I might suggest,...''....'''Ven at duyafu,...''' :* ''I would suggest that...''....'''At duu van...''' :* ''You would be well-advised to X...''....'''Et su fiduwa Xer...''' :* ''Have you thought of Xing...?''....'''Duven et vyetexaye Xen...?''' :* ''Why not X...?''....'''Duhosav voy Xer...?''' === Asking for Suggestions === :* ''What would you do if...?''....'''Duhos et xu ven...?''' :* ''I'd like your opinion on...''....'''At fu eta texyen vyel...''' :* ''Please advise me on...''....'''Diwe fyidu at vyel...''' === Dispensing Advice === :* ''I think you should X''....,'''At texe van et yefu Xer''' :* ''If I were you,...''....,'''Ven at su et,...''' :* ''You would be wrong to X.''....'''Et su vyoa Xer.''' :* ''It would be good if...''....'''Et su fia ven...''' :* ''I warn you that...''....'''At jwatue et van...''' === Requests === :* ''Would you mind Xing...?''....'''Duven oboxu et Xer...?''' :* ''May I X...?''....'''Duven at yafu Xer...?''' :* ''I'd like to X...''....'''At fu Xer...''' :* ''Could you possibly X...''....'''Duven et yafu hyeyen Xer...''' :* ''I would be much obliged if you were to X...''....'''At su gla yefxwa ven et Xu...''' :* ''Please do me the favor of Xing...''....'''Diwe xu at ha avun bi Xer...''' :* ''Could I ask you to X?''....'''Duven at yafu dier et Xer?''' === Asking for Opinions === :* ''I'd like to know you opinion on...''....'''At fu ter eta texyen vyel...''' :* ''Tell me what you think about...''....'''Du at hos et texe vyel...''' === Offering Opinions === :* ''It seems to me that...''....'''Tease at van...''' :* ''I believe that...''....'''At vatexe van...''' :* ''I don't think that...''....'''At votexe van...''' :* ''We don't feel that...''....'''Wat voy tose van...''' :* ''I must say...''....'''At dyefe...''' :* ''As far as I'm concerned...''....'''Auta texyen se van...''' :* ''Personally, ...''....'''Aotay, ...''' :* ''I am convinced that...''....'''At se vatexuwa van...''' === Expressing Preferences === :* ''Which do you prefer, X or Y?''....'''Duhaas et gaife, X ey Y?''' :* ''Would you like to X...?''....'''Duven et fu Xer...''' :* ''I would prefer to X...'' ....'''At gaifu Xer...''' :* ''It doesn't matter to me whether...''....'''Av at, getese ven...''' :* ''I don't mind if...''....'''Av at glotese ven...''' === Expressing Intentions === :* ''Do you intend to X?''....'''Duven et ojtexe Xer?''' :* ''What are you going to do?''....'''Duhos et xo?''' :* ''He is determined to X...''....'''It vafe Xer...''' :* ''I would like to X.''....'''At fu Xer.''' :* ''We would like you to X.''....'''Wat fu van et Xu.''' === Permission and Prohibition === :* ''May I come in?''....'''Duven at afe yeper?''' :* ''Is that permitted?''....'''Duven hus afwe?''' :* ''Parking is prohibited.''....'''Purkoxwen ofwe.''' :* ''Do not walk on the grass.''....'''Von tyope ab ha vab.''' :* ''You are authorized to X.''....'''Et se afdwa Xer.''' :* ''No entry.''....'''Von yepu. ~ Yepen ofwe.''' :* ''You must not cry.''....'''Et yofe huhuder.''' :* ''Permit me to say...''....'''Afxu at der...''' === Obligation and Necessity === :* ''You must pay attention.''....'''Et yefe tepzexer.''' :* ''You should leave.''....'''At yefu ~ yeyfu iper.''' :* ''I have to go.''....'''At yefe per.''' :* ''You are obliged to X.''....'''Yet yefxwe Xer.''' :* ''We need your help.''....'''Yat efe yeta yux.''' :* ''It is urgent that you respond.''....'''Igefwe van et dudu.''' :* ''I am asking you to X.''....'''At dieye et Xer.''' :* ''He demands that you X.''....'''Wit dire van et Xu.''' :* ''It is required that you stay longer.''....'''Dirwe van et besu gaj.''' === Agreement === :* ''Yes, I agree with you.''....'''Va, at yantexe et.''' :* ''He disagreed with me.''....'''It yontexa at.''' :* ''My opinion differs from yours.''....'''At texyen ogelse etas.''' :* ''This book will concur with me.''....'''Hia dyes geltexo at.''' :* ''I don't accept your view.''....'''At voy vabie eta texgun.''' :* ''I reject the concept that...''....'''At vobie ha tyun van...''' :* ''What you said is entirely true.''....'''Hos et da se aynay vyaa.''' :* ''What a great idea!''....'''Huu agala teyen!''' :* ''Your application has been approved.''....'''Eta didras fivadawe.''' :* ''Blessed be this food.''....'''Van hia tel fyadwu.''' :* ''We are glad that you came.''....'''Yat se iva van et upa.''' === Disagreement === :* ''No, that's wrong.''....'''Vo, hus se vyoa.''' :* ''You are lying.''....'''Et vyodeye.''' :* ''I disagree with your opinion.''....'''At yontexe eta texyen.''' :* ''We don't approve of you actions.''....'''Yat voy fivade eta axleni.''' :* ''I cannot accept the fact that...''....'''At vabiyofe van...''' :* ''Do you refuse to answer?''....'''Duven et vobie duder?''' :* ''That's out of the question.''....'''Hus se vabiyofwa.''' :* ''I must decline that suggestion.''....'''At yefe voder hua dul.''' :* ''We condemn your views.''....'''Yat fuvade eta texguni.''' :* ''I must disapprove of your actions.''....'''At fuvadyefe eta axleni.''' :* ''Your statement be damned!''....'''Eta del fyodwu!''' :* ''It's a pity (~ shame) that you don't understand.''....'''Se yov van et voy teste.''' :* ''I hate the fact that...''....'''At ufe van...''' :* ''It is sad that you have to leave now.''....'''Se uva van et yefe pier hij.''' === Affirmation, Quibbling, Negation === :* ''Yes.''....'''Va.''' :* ''Yes, indeed.''....'''Va, vay.''' :* ''Certainly ~ Of course''....'''Vla(y).''' :* ''True.''....'''Vya.''' :* ''Truly.''....'''Vyay.''' :* ''Maybe.''....'''Ve.''' :* ''Maybe so.''....'''Vey va.''' :* ''Maybe not.''....'''Vey vo.''' :* ''Possibly.''....'''Vey.''' :* ''Probably.''....'''Vle(y)''' :* ''Hardly.''....'''Yikay.''' :* ''Almost.''....'''Yubge.''' :* ''Barely.''....'''Haway gwe.''' :* ''Exactly.''....'''Gwe.''' :* ''No.''....'''Vo.''' :* ''Most certainly not.''....'''Vlo.''' :* ''Perhaps no.''....'''Vey vo.''' :* ''Yes and no.''....'''Vao.''' :* ''False.''....'''Vyo.''' :* ''Absolutely not.''....'''Abray voy.''' :* ''In no way.''....'''Hoyen.''' :* ''In no way whatever.''....'''Hyoyen.''' === Certainty, Probability, Possibility, and Capability === :* ''I'm sure she'll come.''....'''At se vlata van iyt upo.''' :* ''It is not certain that...''....'''Voy se vlatwa van...''' :* ''It is probable that...''....'''Se vlea van...''' :* ''You'll probably change your mind.''....'''Et vley kyaxer eta texyen.''' :* ''In all likelihood,...''....'''Gwa vley,...''' :* ''It might rain.''....'''Vey mamilo.''' :* ''It will definitely rain.''....'''Vlay mamilo.''' :* ''What is the probability that it will rain?''....'''Duhos se ha vlean van mamilo?''' :* ''It is conceivable that she will win.''....'''Texiyafwe van iyt ako.''' :* ''It would be inconceivable.''....'''Texiyofwu.''' :* ''I am persuaded that nothing will happen.''....'''At se vatexuwa van hyos xwo.''' :* ''It could be true.''....'''Has yafwu ser vyaa. ~ Has syafwu vyaa.''' :* ''Those results are impossible.''....'''Hua ixuni se yofwa.''' :* ''The odds of that happening...''....'''Ha kyensagi van hus xwo...''' :* ''I can't understand you.''....'''At yofe tester et. ~ At voy yafe tester et.''' :* ''Could you speak a little louder?''....'''Duven et yafu daler ga az?''' :* ''It is not impossible that...''....'''Voy se yofwa van...''' :* ''I would not be surprised if...''....'''At voy yoku ven...''' :* ''Am I expected to be early?''....'''Duven at yakwe ser jwaa?''' :* ''I doubt they will survive.''....'''At vlotexe van yit yiztejo.''' :* ''She suspected that I'd be late.''....'''Iyt vetexa van at so jwo.''' :* ''She assumed that I would be...''....'''Iyt vletexa van at so...''' :* ''I bet you know.''....'''At vlede van et te.''' :* ''You can't know for sure.''....'''Et yofe ter vlay.''' :* ''That's impossible to predict.''....'''Hus jadyofwa. ~ Hus se yofwa jader.''' :* ''I will be unable to X.''....'''At yofo Xer.''' === Apologies === :* ''I'm sorry but...''....'''At se tipuva oy...''' :* ''Excuse me but...''....'''Yovobu at oy...''' :* ''Please forgive me.''....'''Diwe yovobu at.''' :* ''It pains me to say...''....'''Byokxe at der...''' :* ''It is sad to say...''....'''Se uva der...''' :* ''It is regrettable that...''....'''Se uvtexyafwa van...''' :* ''They expressed their regrets.''....'''Yit uvtaxde.''' :* ''I regret my crimes.''....'''At zoyuvtose ata doyovi.''' :* ''I regret to inform you that...''....'''At uvtose tuer et van...''' === Thanks === :* ''Thank-you for your kind words.''....'''Hyay av eta tipifa duni.''' :* ''I shall be forever grateful.''.....'''At so byu hyaj ivtaxika.''' :* ''I am much obliged for your gift.''....'''At se gla yefxwa av eta fibun.''' :* ''Thank-you very much!''....'''Hyay hyay! ~ Ivtaxwo! ~ Gla yefxwa! ~ Gla naxtwe.''' :* ''I appreciate your help.''....'''At nazte eta yux.''' :* ''Your words are much appreciated.''....'''Eta duni gla naztwe.''' === Best Wishes === :* ''Congratulations!''....'''Hyay! ~ Yanfyaztos!''' :* ''I congratulate you!''....'''At hyayde et! ~ At yanfyaztosde et!''' :* ''Best wishes to you!''....'''Fia ojfoni av et!''' :* ''Happy birthday!''....'''Iva tajjub!''' :* ''May your day be blessed!''....'''Van eta jub fyadwu! ~ Fyadwu eta jub!''' :* ''I wish you a good trip!''....'''At ojfe et fia pop!''' :* ''Bon voyage!''....'''Fia pop!''' :* ''Season's greetings!''....'''Iva jeb!''' :* ''Merry Christmas!''....'''Iva Kristtaj!''' :* ''Happy New Year!'' ~ Nowruz!....'''Iva Ejna Jab!''' :* ''Happy Anniversary!''....'''Iva jabzyus!''' :* ''Happy Hannukka!''....'''Iva Hanuka!''' :* ''Get well soon!''....'''Fibaksu ig!''' :* ''Good luck on your exams!''....'''Fikyen be eta vyaoyeki!''' :* ''I wish you every success!''....'''At ojfe et hya akuj!''' :* ''Good luck! (~ Mazel Tov!)''....'''Fikyen!''' :* ''Be well!''....'''Baksu!''' :* ''Long live the king!''....'''Van ha edeb yagteju! ~ Yagteju ha edeb!''' :* ''Vive la France!''....'''Hyay Ferom!''' :* ''Bravo! ~ Well done! ~ Congratulations!''....'''Hyay!''' :* ''Get better soon! ~ Speedy Recovery!''....'''Baksu ig! ~ Byekwu ig!''' === Common Greetings === :* ''Hello!''....'''Hay!''' :* ''Hey!''....'''Hey!''' :* ''Goodbye!''....'''Hoy!''' :* ''Good day!''....'''Fijub!''' :* ''Good morning!''....'''Fimaj!''' :* ''Good afternoon!''....'''Fijwomaj!''' :* ''Good evening!''....'''Fijwamoj!''' :* ''Goodnight!''....'''Fimoj!''' :* ''How are you?''....'''Duhoyen et se?''' :* ''How are you doing?''....'''Duhoyen et xeye?''' :* ''I'm doing fine.''....'''At xeye fi.''' :* ''What's new?''....'''Duhos se ejna?''' :* ''See you later! ~ Au revoir!''....'''Ju ha gawteat!''' :* ''Be well!''....'''Su baka!''' :* ''Sleep well!''....'''Tuju fi!''' :* ''What's happening?''....'''Duhos kyeseye?''' :* ''Until then!''....'''Ju huj!''' :* ''Take care!''....'''Bikiu!''' === Announcements === :* ''We are pleased to announce the birth of...''....'''Yat ifie dotuer ha taj bi...''' :* ''I am happy to say that...''....'''At se iva der van...''' :* ''I am sorry to report that...''....'''At se uva dotuer van...''' :* ''It is with deep sorrow that we announce the death of...''....'''Bay gla uvan, yat dotue ha toj bi...''' :* ''Ladies and Gentlemen, please be seated.''....'''Duyti ay Dwuti, diwe simbiu.''' :* ''Welcome to the stage: X!''....'''Fiupdiu bu ha dezyem: X!''' :* ''I would like to introduce you to our speaker, X.''....'''At fu tyuer yet yata dalut: X.''' :* ''Attention! ~ Hear ye, hear ye!''....'''Tepzexu!''' === Regrets and Condolences === :* ''I'm very sorry for your loss.''....'''At uvtose eta ok.''' :* ''My condolences on the death of...''....'''Ibu ata yanuvtosi av ha toj bi...''' :* ''I am so sorry.''....'''At se huugla uvtosika.''' :* ''Alas!''....'''Hyoy!''' :* ''I share your grief.''....'''At yantipuvie et.''' :* ''I regret having done that.''....'''At ajuvtose xaer hus.''' :* ''I apologize for my actions.''....'''At ajuvtosde (~ hyoyde) ata axleni.''' :* ''We were terribly upset to hear the news that...''....'''Yat gla yobaxwa teeter ha tuun van...''' === Invitations and Responses === :* ''You are hereby invited to join us...''....'''Yet hiyen updiwe yanser yat...''' :* ''Welcome to our home.''....'''Fiupu yata toom.''' :* ''Would you like to dine with us?''....'''Duven yet fu tyaler bay yat?''' :* ''Be my guest!''....'''Updiwe!''' :* ''I would be happy to come.''....'''At su iva uper.''' :* ''Sorry, but I am otherwise engaged then.''....'''Hyoy, at se hyuyen yuvlaxwa huj.''' :* ''Unfortunately, I must decline.''....'''Fukyenay, at yefe vobier.''' === Establishing Parallels === :* ''On the one hand...,on the other...''....'''Ayen...,hyuyen ....''' :* ''Just as...so, too...''....'''Gwe gel van...gey gel van...''' :* ''What is more,...''....'''Gayen,...''' :* ''Furthermore,...''....'''Gayen,...''' :* ''Added to this,...''....'''Gabwa bu his,...''' :* ''By the same token,...''....'''Geyen,...''' :* ''As far as...is concerned,...''....'''Vyelea...''' :* ''As for...''....'''Ayv...''' === Enumerating === :* ''or...or even...''....'''ey...ey gey...ey ujay''' :* ''but finally...''....'''oy ujay...''' :* ''First of all...''....'''Ujnay...''' :* ''Next, but not least...''....'''Zanapay, oy voy gwo...''' === Favorable Comparisons === :* ''far superior to''....'''gla fia vyel''' :* ''We can't compete with''....'''Yat yofe yanyeker bay''' :* ''has the edge over''....'''se gyoay fia vyel''' === Unfavorable Comparisons === :* ''was nowhere near as good as...''....''sa yib bi ser ge fia vyel'' :* ''is no match for''....'''yofe yanyeker bay''' :* ''is far inferior to''....'''se gla oba vyel''' :* ''does not measure up to''....'''voy se be neg bi''' :* ''bears no comparison with''....'''voy se vyegexyafwa bay''' === Similar Comparison === :* ''is equivalent to''....'''genaze''' :* ''on a par with''....'''gekyinse''' :* ''corresponds to''....'''vyegexe''' :* ''can be likened to''....'''se vyegexyafwa bu''' === Asking an Opinion === :* ''What do you thing of X?''....'''Duhos et texe ayv X?''' :* ''What is your opinion on X?''....'''Duhos se eta texyen vyel X?''' :* ''What is your attitude to X?''....'''Duhos se eta tepkin ub X?''' :* ''How do you see...Xing?''....'''Be eta texyen, duhoyen...Xo?''' === Expressing an Opinion === :* ''In my opinion,''....'''be ata texyen,''' :* ''As I see it,''....'''Be ata duni,''' :* ''Personally, I believe that...''....'''Aotay, at vatexe van...''' :* ''It seems to me that...''....'''Tease at van...''' :* ''I dare say (that)...''....'''At dyife van...''' :* ''As far as I'm concerned,''....'''Ven et didu at,''' :* ''It is our belief that''....'''Se yata vatex van''' :* ''I'm convinced that...''....'''At se vetexuwa van...''' === Saying What You Like === :* ''I would like to X...''....'''At fu Xer...''' :* ''I would prefer to X...''....'''At gaifu Xer...''' :* ''I very much enjoy Xing.''....'''At gla ifie Xen.''' :* ''I have a weakness for X.''....'''At ayse ozan av X.''' :* ''I love chocolate.''....'''At ifle dyofyel.''' :* ''I adore ballet.''....'''At ifre dyaz.''' :* ''Do you like dogs?''....'''Duven et iyfe yepeti?''' :* ''I am very pleased to meet you.''....'''At se gla ifxwa trier et.''' === Saying What You Don't Like === :* ''I am not keen on seafood.''....'''At voy iyfe piit.''' :* ''Do you dislike X?''....'''Duven et uyfe X?''' :* ''I hate X.''....'''At ufe X.''' :* ''I can't stand (~bear) the thought of Xing.''....'''At yofe xorer ha tex bi Xen.''' :* ''That is disgusting.''....'''Hus se ufxea.''' :* ''I despise rude people.''....'''At ufre fubyenati.''' === Expressing Indifference === :* ''I don't care about X.''....'''At voy bikse vyel X.''' :* ''It doesn't matter to me.''....'''Voy bikue at.''' :* ''That doesn't matter.''....'''Hus voy glatese.''' :* ''I couldn't care less about X.''....'''X tepubixe at hyoyen.''' === Giving Reasons === :* ''Why did you do that?''....'''Duhosav et xa hus?''' :* ''I came because...''....'''At upa avhos van...''' :* ''Because of X...?''....'''Be ux bi X...?''' :* ''As a result of X...?''....'''Gel ix bi X...?''' :* ''In order to X...''....'''Av Xer...''' :* ''So that we would understand...''....'''Av van yat testu...''' :* ''Therefore,...''....'''Av hus,...''' :* ''As a result,...''....'''Gel ix,...''' :* ''As a result of X''....'''Gel ix bi X''' :* ''As a consequence of X''....'''Gel jos bi X''' :* ''I don't understand why...''....'''At voy teste avhos van...''' :* ''This is due to the fact that...''....'''His se ux bi van...''' :* ''Given that...''....'''Twa van...''' :* ''The child died for lack of X.''....'''Ha tud toja bi oys bi X.''' :* ''This happened by illegal means.''....'''His kyesa bey odovyaba zeyeni.''' :* ''Tell me why you did it.''....'''Duavhos et xa has.''' :* ''So, leave!''....'''Av hus, ipu!''' :* ''I think, therefore I am.''....'''At texe, av hus, at ese.''' === Correspondence Greetings === :* ''Dear Sir''....'''Hey Dwut''' :* ''Dear Madam''....'''Hey Duyt''' :* ''Dear beloved...''....'''Hey ifwa...''' :* ''To Whom it May Concern:''....'''Hey Hyet:''' :* ''Yours truly, X''....'''Hoy, X...''' = Euphemisms = : Mirad sometimes offers polite ways to express certain things that might sound too direct or rude in normal conversation. Here are some examples: : {| class="wikitable" style="background:lightyellow; font-size:smaller;" |+Euphemisms !Polite !Direct |- |'''ujpon'''....''final rest'' |'''toj''' ....''death'' |- |'''ujponxelam'''....''final rest ceremony house'' |'''tojxelam'''....''mortuary, funeral home'' |- |'''ujpondin'''....''final rest story'' |'''tojdin'''....''obituary, death notice'' |- |'''eftim'''....''necessity room'' |'''fyusulsom'''....''toilet (waste appliance)'' |- |'''twoobgon'''....''male part'' |'''tiyub'''....''penis'' |- |'''ogoblawa'''....''uncut, uncircumcized'' |'''otiyugoblawa'''....''un-penis-cut'' |- |'''xer sag awa'''....''to do a number one'' |'''tiyabiler'''....''to pee (lit: bladder-fluid-do)'' |- |'''xer sag ewa'''....''to do a number two'' |'''tikyeler'''....''to defecate, shit (lit: anus-fluid-do)'' |- |'''milxer'''....''to urinate, to pee, lit. to make water'' |'''tiyabiler'''....''to urinate (lit: bladder-fluid-do)'' |} <noinclude>{{Chapter navigation with TOC|Hybrids|Acronyms_and_Abbreviations}}</noinclude> 4p5rqq63alcdyy0ux2qirv1wy7x4d4w User talk:Xeverything11/updates 3 452115 4635329 4635193 2026-05-11T19:21:02Z MediaWiki message delivery 1188004 /* Tech News: 2026-20 */ new section 4635329 wikitext text/x-wiki <noinclude> {{User:Xeverything11/tabs}} {{User:Xeverything11/header|Welcome to|Xeverything11's|updates talk page!|archives= * [[User talk:Xeverything11/archives/2022|2022]] * [[User talk:Xeverything11/archives/2023|2023]] }} </noinclude> __NOTOC__ {{User:MiszaBot/config |archive = User talk:Xeverything11/archives/%(year)d |algo = old(60d) |counter = 1 |minthreadsleft = 1 |minthreadstoarchive = 1 }} == Tech News: 2023-03 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/03|Translations]] are available. '''Problems''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The URLs in "{{int:last}}" links on page history now contain <bdi lang="zxx" dir="ltr"><code><nowiki>diff=prev&oldid=[revision ID]</nowiki></code></bdi> in place of <bdi lang="zxx" dir="ltr"><code><nowiki>diff=[revision ID]&oldid=[revision ID]</nowiki></code></bdi>. This is to fix a problem with links pointing to incorrect diffs when history was filtered by a tag. Some user scripts may break as a result of this change. [https://phabricator.wikimedia.org/T243569] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-18|en}}. It will be on all wikis from {{#time:j xg|2023-01-19|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Some [[mw:Special:MyLanguage/Talk pages project/Usability|changes to the appearance of talk pages]] have only been available on <code>{{ns:1}}:</code> and <code>{{ns:3}}:</code> namespaces. These will be extended to other talk namespaces, such as <code>{{ns:5}}:</code>. They will continue to be unavailable in non-talk namespaces, including <code>{{ns:4}}:</code> pages (e.g., at the Village Pump). You can [[Special:Preferences#mw-prefsection-editing-discussion|change your preferences]] ([[Special:Preferences#mw-prefsection-betafeatures|beta feature]]). [https://phabricator.wikimedia.org/T325417] *On Wikisources, when an image is zoomed or panned in the Page: namespace, the same zoom and pan settings will be remembered for all Page: namespace pages that are linked to a particular Index: namespace page. [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/ProofreadPage/+/868841] * The Vector 2022 skin will become the default for the English Wikipedia desktop users. The change will take place on January 18 at 15:00 UTC. [[:en:w:Wikipedia:Vector 2022|Learn more]]. '''Future changes''' * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]], which invites contributors to make technical proposals and vote for tools and improvements, starts next week on 23 January 2023 at 18:00 UTC. You can start drafting your proposals in [[m:Community Wishlist Survey/Sandbox|the CWS sandbox]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:11, 17 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24381020 --> == Tech News: 2023-04 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/04|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, all wikis were unreachable for logged-in users and non-cached pages. This was caused by a timing issue. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-17_MediaWiki] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-01-25|en}}. It will be on all wikis from {{#time:j xg|2023-01-26|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * If you have the Beta Feature for [[mw:Special:MyLanguage/Talk pages project|DiscussionTools]] enabled, the appearance of talk pages will add more information about discussion activity. [https://www.mediawiki.org/wiki/Special:MyLanguage/Talk_pages_project/Usability#Status][https://phabricator.wikimedia.org/T317907] * The 2023 edition of the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey]] (CWS), which invites contributors to make technical proposals and vote for tools and improvements, starts on Monday 23 January 2023 at [https://zonestamp.toolforge.org/1674496814 18:00 UTC]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:46, 23 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24418874 --> == Tech News: 2023-05 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/05|Translations]] are available. '''Problems''' * Last week, for ~15 minutes, some users were unable to log in or edit pages. This was caused by a problem with session storage. [https://wikitech.wikimedia.org/wiki/Incidents/2023-01-24_sessionstore_quorum_issues] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-01-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-01|en}}. It will be on all wikis from {{#time:j xg|2023-02-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Wikis that use localized numbering schemes for references need to add new CSS. This will help to show citation numbers the same way in all reading and editing modes. If your wiki would prefer to do it yourselves, please see the [[mw:Special:MyLanguage/Parsoid/Parser Unification/Cite CSS|details and example CSS to copy from]], and also add your wiki to the list. Otherwise, the developers will directly help out starting the week of February 5. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 31 January 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24455949 --> == Wikipedia translation of the week: 2023-06 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sweden Finns' Day]] '''<br /> <small>''([[:fi:Ruotsinsuomalaisten päivä]]) ([[:sv:Sverigefinnarnas dag]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sverigefinskaflaggan.svg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Sweden Finns' Day''' (Finnish: Ruotsinsuomalaisten päivä, Swedish: Sverigefinnarnas dag) is an anniversary celebrated in Sweden on 24 February. The anniversary of the calendar was approved by the Swedish Academy in 2010 and was celebrated for the first time in 2011. February 24 was chosen as the birthday of Carl Axel Gottlund, a collector of folk poetry and a defender of the status of the Finnish language. The purpose of the day is to celebrate the Sweden Finns and to recognize their history, language and culture as a prominent part of Sweden's cultural heritage. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 6 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24491747 --> == Tech News: 2023-06 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/06|Translations]] are available. '''Recent changes''' * In the [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements|Vector 2022 skin]], logged-out users using the full-width toggle will be able to see the setting of their choice even after refreshing pages or opening new ones. This only applies to wikis where Vector 2022 is the default. [https://phabricator.wikimedia.org/T321498] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-08|en}}. It will be on all wikis from {{#time:j xg|2023-02-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Previously, we announced when some wikis would be in read-only for a few minutes because of a switch of their main database. These switches will not be announced any more, as the read-only time has become non-significant. Switches will continue to happen at 7AM UTC on Tuesdays and Thursdays. [https://phabricator.wikimedia.org/T292543#8568433] * Across all the wikis, in the Vector 2022 skin, logged-in users will see the page-related links such as "What links here" in a [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Features/Page_tools|new side menu]]. It will be displayed on the other side of the screen. This change had previously been made on Czech, English, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T328692] *[[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] will stop receiving new proposals on [https://zonestamp.toolforge.org/1675706431 Monday, 6 February 2023, at 18:00 UTC]. Proposers should complete any edits by then, to give time for [[m:Special:MyLanguage/Community_Wishlist_Survey/Help_us|translations]] and review. Voting will begin on Friday, 10 February. '''Future changes''' * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] Gadgets and user scripts will be changing to load on desktop and mobile sites. Previously they would only load on the desktop site. It is recommended that wiki administrators audit the [[MediaWiki:Gadgets-definition|gadget definitions]] prior to this change, and add <bdi lang="zxx" dir="ltr"><code>skins=…</code></bdi> for any gadgets which should not load on mobile. [https://phabricator.wikimedia.org/T328610 More details are available]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 10:21, 6 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24491749 --> == Wikipedia translation of the week: 2023-07 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Delivery robot]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Woman Takes Groceries from Dax Delivery Robot.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> A '''delivery robot''' is an autonomous robot that provides "last mile" delivery services. An operator may monitor and take control of the robot remotely in certain situations that the robot cannot resolve by itself such as when it is stuck in an obstacle. Delivery robots can be used in different settings such as food delivery, package delivery, hospital delivery, and room service. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:26, 13 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24515453 --> == Tech News: 2023-07 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/07|Translations]] are available. '''Problems''' * On wikis where patrolled edits are enabled, changes made to the [[mw:Special:MyLanguage/Growth/Communities/How to configure the mentors' list|mentor list]] by autopatrolled mentors are not correctly marked as patrolled. It will be fixed later this week. [https://phabricator.wikimedia.org/T328444] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-15|en}}. It will be on all wikis from {{#time:j xg|2023-02-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * The Reply tool and other parts of [[mw:Special:MyLanguage/Help:DiscussionTools#Mobile|DiscussionTools]] will be deployed for all editors using the mobile site. You can [[mw:Special:MyLanguage/Talk_pages_project/Mobile#Status_Updates|read more about this decision]]. [https://phabricator.wikimedia.org/T298060] '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:49, 14 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24540832 --> == Wikipedia translation of the week: 2023-08 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Buddha Dhatu Jadi]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Swarno Mandir.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Buddha Dhatu Jadi''' (Bengali: বুদ্ধ ধাতু জাদি; Burmese: ဗုဒ္ဓဓာတုစေတီ also known as the Bandarban Golden Temple) is located close to Balaghata town, in Bandarban City, in Bangladesh. Dhatu are the material remains of a holy person, and in this temple the relics belong to Buddha. It is the largest Theravada Buddhist temple in Bangladesh and has the second-largest Buddha statue in the country. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 20 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24581813 --> == Tech News: 2023-08 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/08|Translations]] are available. '''Problems''' * Last week, during planned maintenance of Cloud Services, unforeseen complications forced the team to turn off all tools for 2–3 hours to prevent data corruption. Work is ongoing to prevent similar problems in the future. [https://phabricator.wikimedia.org/T329535] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-02-22|en}}. It will be on all wikis from {{#time:j xg|2023-02-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). *The voting phase for the [[m:Special:MyLanguage/Community Wishlist Survey 2023|Community Wishlist Survey 2023]] ends on [https://zonestamp.toolforge.org/1677261621 24 February at 18:00 UTC]. The results of the survey will be announced on 28 February. '''Future changes''' * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T328287][https://phabricator.wikimedia.org/T327920][https://wikitech.wikimedia.org/wiki/Deployments] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:58, 21 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24570514 --> == Wikipedia translation of the week: 2023-09 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Alina Scholtz]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alina Scholtz''' (24 September 1908 – 25 February 1996) was a Polish landscape architect, known as one of country's pioneers in developing the field. Throughout her career she worked on various public and private projects for cemeteries, parks and green spaces. Some of her most noted works include the grounds of a villa on Kielecka Street in Warsaw for which she won a Silver Medal at the 1937 World Exhibition in Paris, the memorial cemetery to the victims of the Palmiry massacre, and landscaping projects along the East-West traffic route of Warsaw. In addition to her design work, she served as one of the founding members of the International Federation of Landscape Architects. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:04, 27 February 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24617511 --> == Tech News: 2023-09 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/09|Translations]] are available. '''Problems''' * Last week, in some areas of the world, there were problems with loading pages for 20 minutes and saving edits for 55 minutes. These issues were caused by a problem with our caching servers due to unforseen events during a routine maintenance task. [https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_wiki_outage][https://wikitech.wikimedia.org/wiki/Incidents/2023-02-22_read_only] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-02-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-01|en}}. It will be on all wikis from {{#time:j xg|2023-03-02|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on March 1. This is planned for [https://zonestamp.toolforge.org/1677679222 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 27 February 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24634242 --> == Wikipedia translation of the week: 2023-10 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Mary Nzimiro]] '''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Mary Nzimiro''', birthname Mary Nwametu Onumonu, MBE (1898–1993) was a pioneering Nigerian businesswoman, politician and women's activist. In 1948, she was appointed principal representative of the United Africa Company (UAC) for Eastern Nigeria, while maintaining textile and cosmetics retail outlets of her own in Port Harcourt, Aba and Owerri. By the early 1950s, she was among the richest individuals in West Africa, becoming a resident of the exclusive Bernard Carr Street in Port Harcourt. On the political front, she was a member of the influential National Council of Nigeria and the Cameroons, becoming a member of its executive committee in 1957 and vice-president of the NCNC Estern Women's Association in 1962. During the Nigerian Civil War (1967–1970), she organized Igbo women in support of the Biafrans. As a result she lost most of her property in Port Harcourt and returned to her native Oguta where she died in 1993. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:47, 6 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24636259 --> == Tech News: 2023-10 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/10|Translations]] are available. '''Recent changes''' * The Community Wishlist Survey 2023 edition has been concluded. Community Tech has [[m:Special:MyLanguage/Community Wishlist Survey 2023/Results|published the results]] of the survey and will provide an update on what is next in April 2023. * On wikis which use [[mw:Special:MyLanguage/Writing_systems|LanguageConverter]] to handle multiple writing systems, articles which used custom conversion rules in the wikitext (primarily on Chinese Wikipedia) would have these rules applied inconsistently in the table of contents, especially in the Vector 2022 skin. This has now been fixed. [https://phabricator.wikimedia.org/T306862] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-08|en}}. It will be on all wikis from {{#time:j xg|2023-03-09|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * A search system has been added to the [[Special:Preferences|Preferences screen]]. This will let you find different options more easily. Making it work on mobile devices will happen soon. [https://phabricator.wikimedia.org/T313804] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 6 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24676916 --> == Wikipedia translation of the week: 2023-11 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elizabeth Langdon Williams]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Elizabeth Langdon Williams.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Elizabeth Langdon Williams''' (February 8, 1879 in Putnam, Connecticut – 1981 in Enfield, New Hampshire) was an American human computer and astronomer whose work helped lead to the discovery of Pluto, or Planet X. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 13 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24700408 --> == Tech News: 2023-11 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.40/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-15|en}}. It will be on all wikis from {{#time:j xg|2023-03-16|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-cbk_zamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cdowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cebwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-chywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ckbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-csbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304542][https://phabricator.wikimedia.org/T304550] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:20, 13 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24700189 --> == Wikipedia translation of the week: 2023-12 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:I Didn't Raise My Boy to Be a Soldier]] '''<br /> </div> Please be bold and help translate this article! ---- [[File:Peerless Quartet - I Didn't Raise my Boy to be a Soldier.ogg|300px|center]] <div style="text-align:left; padding: .4em;"> an American anti-war song that was influential within the pacifist movement that existed in the United States before it entered World War I. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:31, 20 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24720571 --> == Tech News: 2023-12 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/12|Translations]] are available. '''Problems''' * Last week, some users experienced issues loading image thumbnails. This was due to incorrectly cached images. [https://phabricator.wikimedia.org/T331820] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-22|en}}. It will be on all wikis from {{#time:j xg|2023-03-23|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A link to the user's [[{{#special:CentralAuth}}]] page will appear on [[{{#special:Contributions}}]] — some user scripts which previously added this link may cause conflicts. This feature request was [[:m:Community Wishlist Survey 2023/Admins and patrollers/Add link to CentralAuth on Special:Contributions|voted #17 in the 2023 Community Wishlist Survey]]. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[{{#special:AbuseFilter}}]] edit window will be resizable and larger by default. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Make the AbuseFilter edit window resizable and larger by default|voted #80 in the 2023 Community Wishlist Survey]]. * There will be a new option for Administrators when they are unblocking a user, to add the unblocked user’s user page to their watchlist. This will work both via [[{{#special:Unblock}}]] and via the API. [https://phabricator.wikimedia.org/T257662] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1679677204 24 March at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia Apps/Office Hours|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:26, 21 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24732558 --> == Wikipedia translation of the week: 2023-13 {{User:Xeverything11/tags/updates}} == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Diana Aguavil]]'''<br /> <small>''([[:en:Diana Aguavil]]) ([[:pt:Diana Aguavil]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Diana Aguavil.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Diana Alexandra Aguavil Calazacón''' (born 7 August 1983) is an Ecuadorian indigenous leader, since 25 August 2018, the first female governor of the Tsáchila nationality after 104 years of male administrations and winning the 2018 Tsáchila election. She was also the second woman to become a candidate. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:39, 27 March 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24758626 --> == Tech News: 2023-13 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/13|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] condition limit was increased from 1000 to 2000. [https://phabricator.wikimedia.org/T309609] * [[:m:Special:MyLanguage/Global AbuseFilter#Locally disabled actions|Some Global AbuseFilter]] actions will no longer apply to local projects. [https://phabricator.wikimedia.org/T332521] * Desktop users are now able to subscribe to talk pages by clicking on the {{int:discussiontools-newtopicssubscription-button-subscribe-label}} link in the {{int:toolbox}} menu. If you subscribe to a talk page, you receive [[mw:Special:MyLanguage/Notifications|notifications]] when new topics are started on that talk page. This is separate from putting the page on your watchlist or subscribing to a single discussion. [https://phabricator.wikimedia.org/T263821] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-03-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-03-29|en}}. It will be on all wikis from {{#time:j xg|2023-03-30|en}} ([[mw:MediaWiki 1.40/Roadmap|calendar]]). '''Future changes''' * You will be able to choose [[mw:Special:MyLanguage/VisualEditor/Diffs|visual diffs]] on all [[m:Special:MyLanguage/Help:Page history|history pages]] at the Wiktionaries and Wikipedias. [https://phabricator.wikimedia.org/T314588] * [[File:Octicons-tools.svg|15px|link=|alt=|Advanced item]] The legacy [[mw:Mobile Content Service|Mobile Content Service]] is going away in July 2023. Developers are encouraged to switch to Parsoid or another API before then to ensure service continuity. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/4MVQQTONJT7FJAXNVOFV3WWVVMCHRINE/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:14, 28 March 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24780854 --> == Tech News: 2023-14 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/14|Translations]] are available. '''Recent changes''' * The system for automatically creating categories for the [[mw:Special:MyLanguage/Extension:Babel|Babel]] extension has had several important changes and fixes. One of them allows you to insert templates for automatic category descriptions on creation, allowing you to categorize the new categories. [https://phabricator.wikimedia.org/T211665][https://phabricator.wikimedia.org/T64714][https://phabricator.wikimedia.org/T170654][https://phabricator.wikimedia.org/T184941][https://phabricator.wikimedia.org/T33074] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-05|en}}. It will be on all wikis from {{#time:j xg|2023-04-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Some older [[w:en:Web browser|Web browsers]] will stop being able to use [[w:en:JavaScript|JavaScript]] on Wikimedia wikis from this week. This mainly affects users of Internet Explorer 11. If you have an old web browser on your computer you can try to upgrade to a newer version. [https://phabricator.wikimedia.org/T178356] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The deprecated <bdi lang="zxx" dir="ltr"><code>jquery.hoverIntent</code></bdi> module has been removed. This module could be used by gadgets and user scripts, to create an artificial delay in how JavaScript responds to a hover event. Gadgets and user scripts should now use jQuery <bdi lang="zxx" dir="ltr"><code>hover()</code></bdi> or <bdi lang="zxx" dir="ltr"><code>on()</code></bdi> instead. Examples can be found in the [[mw:Special:MyLanguage/ResourceLoader/Migration_guide_(users)#jquery.hoverIntent|migration guide]]. [https://phabricator.wikimedia.org/T311194] * Some of the links in [[{{#special:SpecialPages}}]] will be re-arranged. There will be a clearer separation between links that relate to all users, and links related to your own user account. [https://phabricator.wikimedia.org/T333242] * You will be able to hide the [[mw:Special:MyLanguage/Talk pages project/Replying|Reply button]] in archived discussion pages with a new <bdi lang="zxx" dir="ltr"><code><nowiki>__ARCHIVEDTALK__</nowiki></code></bdi> magic word. There will also be a new <bdi lang="zxx" dir="ltr"><code>.mw-archivedtalk</code></bdi> CSS class for hiding the Reply button in individual sections on a page. [https://phabricator.wikimedia.org/T249293][https://phabricator.wikimedia.org/T295553][https://gerrit.wikimedia.org/r/c/mediawiki/extensions/DiscussionTools/+/738221] '''Future changes''' * The Vega software that creates data visualizations in pages, such as graphs, will be upgraded to the newest version in the future. Graphs that still use the very old version 1.5 syntax may stop working properly. Most existing uses have been found and updated, but you can help to check, and to update any local documentation. [[phab:T260542|Examples of how to find and fix these graphs are available]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:40, 3 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24820268 --> == Tech News: 2023-15 {{User:Xeverything11/tags/updates}} == <section begin="technews-2023-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/15|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] In the visual editor, it is now possible to edit captions of images in galleries without opening the gallery dialog. This feature request was [[:m:Community Wishlist Survey 2023/Editing/Editable gallery captions in Visual Editor|voted #61 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T190224] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] You can now receive notifications when another user edits your user page. See the "{{int:Echo-category-title-edit-user-page}}" option in [[Special:Preferences#mw-prefsection-echo|your Preferences]]. This feature request was [[:m:Community Wishlist Survey 2023/Anti-harassment/Notifications for user page edits|voted #3 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T3876] '''Problems''' * There was a problem with all types of CentralNotice banners still being shown to logged-in users even if they had [[Special:Preferences#mw-prefsection-centralnotice-banners|turned off]] specific banner types. This has now been fixed. [https://phabricator.wikimedia.org/T331671] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-12|en}}. It will be on all wikis from {{#time:j xg|2023-04-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-arywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dinwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-elwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-emlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-etwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-euwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-extwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tumwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ffwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiu_vrowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-furwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gcrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-glkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gotwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-guwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-gvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T304551][https://phabricator.wikimedia.org/T308133] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 10 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24851886 --> == Wikipedia translation of the week: 2023-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lucy Salani]]'''<br /> <small>''([[:en:Lucy Salani]]) ([[:fr:Lucy Salani]]) ''</small> </div> Please be bold and help translate this article! ---- [[File:Lucy Salani.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lucy Salani''' was an Italian activist and is considered the only Italian transgender person to have survived the Nazi concentration camps. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:06, 17 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-16 == <section begin="technews-2023-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/16|Translations]] are available. '''Recent changes''' * You can now see [[mw:Special:MyLanguage/Help:Extension:Kartographer#Show_nearby_articles|nearby articles on a Kartographer map]] with the button for the new feature "{{int:Kartographer-sidebar-nearbybutton}}". Six wikis have been testing this feature since October. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/Geoinformation/Nearby_articles#Implementation][https://phabricator.wikimedia.org/T334079] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The [[m:Special:GlobalWatchlist|Special:GlobalWatchlist]] page now has links for "{{int:globalwatchlist-markpageseen}}" for each entry. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Button to mark a single change as read in the global watch list|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334246] '''Problems''' * At Wikimedia Commons, some thumbnails have not been getting replaced correctly after a new version of the image is uploaded. This should be fixed later this week. [https://phabricator.wikimedia.org/T331138][https://phabricator.wikimedia.org/T333042] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] For the last few weeks, some external tools had inconsistent problems with logging-in with OAuth. This has now been fixed. [https://phabricator.wikimedia.org/T332650] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-19|en}}. It will be on all wikis from {{#time:j xg|2023-04-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:55, 18 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24881071 --> == Wikipedia translation of the week: 2023-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ca:María Fernanda Castro Maya]]'''<br /> <small>''([[:pt:María Fernanda Castro Maya]]) ([[:eu:María Fernanda Castro Maya]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''María Fernanda Castro Maya''' is a Mexican self-advocate disability rights activist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:55, 24 April 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-17 == <section begin="technews-2023-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/17|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The date-selection menu on pages such as [[{{#special:Contributions}}]] will now show year-ranges that are in the current and past decade, instead of the current and future decade. This feature request was [[m:Community Wishlist Survey 2023/Miscellaneous/Change year range shown in date selection popup|voted #145 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334316] '''Problems''' * Due to security issues with the [[mw:Special:MyLanguage/Extension:Graph|Graph extension]], graphs have been disabled in all Wikimedia projects. Wikimedia Foundation teams are working to respond to these vulnerabilities. [https://phabricator.wikimedia.org/T334940] * For a few days, it was not possible to save some kinds of edits on the mobile version of a wiki. This has been fixed. [https://phabricator.wikimedia.org/T334797][https://phabricator.wikimedia.org/T334799][https://phabricator.wikimedia.org/T334794] '''Changes later this week''' * All wikis will be read-only for a few minutes on April 26. This is planned for [https://zonestamp.toolforge.org/1682517653 14:00 UTC]. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-04-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-04-26|en}}. It will be on all wikis from {{#time:j xg|2023-04-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * The Editing team plans an A/B test for [[mw:Special:MyLanguage/Talk pages project/Usability|a usability analysis of the Talk page project]]. The [[mw:Special:MyLanguage/Talk pages project/Usability/Analysis|planned measurements are available]]. Your wiki [[phab:T332946|may be invited to participate]]. Please suggest improvements to the measurement plan at [[mw:Talk:Talk pages project/Usability|the discussion page]]. * [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2023-2024|The Wikimedia Foundation annual plan 2023-2024 draft is open for comment and input]] until May 19. The final plan will be published in July 2023 on Meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 24 April 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24933592 --> == Wikipedia translation of the week: 2023-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sonia Orbuch]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Sonia Shainwald Orbuch''' (born Sarah Shainwald, May 24, 1925 – September 30, 2018) was an American Holocaust educator. During the Second World War she was a Jewish resistance fighter in eastern Poland. Orbuch hid in the forests of Poland with her family during the Second World War. She joined a group of Soviet partisans, being renamed Sonia in case she was captured, and helped fight against the Germans. After the war, she returned home, where she met her future husband. After having a daughter in a refugee camp in Germany, the family eventually emigrated to the United States. She spent the rest of life in public engagement, speaking about her experiences and in 2009, published her autobiography, Here, There Are No Sarahs: A Woman's Courageous Fight Against the Nazis and Her Bittersweet Fulfillment of the American Dream. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 06:24, 1 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24872966 --> == Tech News: 2023-18 == <section begin="technews-2023-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/18|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the French and Italian Wikipedias. More languages will be added in the near future. This is part of the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T243711][https://phabricator.wikimedia.org/T270490][https://phabricator.wikimedia.org/T334891] * The [[:commons:Special:MyLanguage/Commons:Video2commons|Video2commons]] tool has been updated. This fixed several bugs related to YouTube uploads. [https://github.com/toolforge/video2commons/pull/162/commits] * The [[{{#special:Preferences}}]] page has been redesigned on mobile web. The new design makes it easier to browse the different categories and settings at low screen widths. You can also now access the page via a link in the Settings menu in the mobile web sidebar. [https://www.mediawiki.org/wiki/Moderator_Tools/Content_moderation_on_mobile_web/Preferences] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-03|en}}. It will be on all wikis from {{#time:j xg|2023-05-04|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:45, 2 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24966974 --> == Wikipedia translation of the week: 2023-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nadia Ghulam]]'''<br /><small>''([[:fr:Nadia Ghulam]]) ([[:es:Nadia Ghulam]]) ([[:ca:Nadia Ghulam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Nadia Ghulam (cropped).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Nadia Ghulam Dastgir''' is an Afghan woman who spent ten years posing as her dead brother to evade the Taliban's strictures against women. Her book about her experiences, written with Agnès Rotger and published in 2010, El secret del meu turbant (The Secret of My Turban), won the Prudenci Bertrana Prize for fiction. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:37, 8 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=24966177 --> == Tech News: 2023-19 == <section begin="technews-2023-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/19|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Last week, Community Tech released the first update for providing [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diffs]], the #1 request in the 2022 Community Wishlist Survey. [[phab:T324759|This update]] adds legends and tooltips to inline diffs so that users unfamiliar with the blue and yellow highlights can better understand the type of edits made. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] When you close an image that is displayed via MediaViewer, it will now return to the wiki page instead of going back in your browser history. This feature request was [[m:Community Wishlist Survey 2023/Reading/Return to the article when closing the MediaViewer|voted #65 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T236591] * The [[mw:Special:MyLanguage/Extension:SyntaxHighlight|SyntaxHighlight]] extension now supports <bdi lang="en" dir="ltr"><code>wikitext</code></bdi> as a selected language. Old alternatives that were used to highlight wikitext, such as <bdi lang="en" dir="ltr"><code>html5</code></bdi>, <bdi lang="en" dir="ltr"><code>moin</code></bdi>, and <bdi lang="en" dir="ltr"><code>html+handlebars</code></bdi>, can now be replaced. [https://phabricator.wikimedia.org/T29828] * [[mw:Special:MyLanguage/Manual:Creating pages with preloaded text|Preloading text to new pages/sections]] now supports preloading from localized MediaWiki interface messages. [https://cs.wikipedia.org/wiki/User_talk:Martin_Urbanec_(WMF)?action=edit&section=new&preload=MediaWiki:July Here is an example] at the {{int:project-localized-name-cswiki/en}} that uses <bdi lang="zxx" dir="ltr"><code><nowiki>preload=MediaWiki:July</nowiki></code></bdi>. [https://phabricator.wikimedia.org/T330337] '''Problems''' * Graph Extension update: Foundation developers have completed upgrading the visualization software to Vega5. Existing community graphs based on Vega2 are no longer compatible. Communities need to update local graphs and templates, and shared lua modules like <bdi lang="de" dir="ltr">[[:de:Modul:Graph]]</bdi>. The [https://vega.github.io/vega/docs/porting-guide/ Vega Porting guide] provides the most comprehensive detail on migration from Vega2 and [https://www.mediawiki.org/w/index.php?title=Template:Graph:PageViews&action=history here is an example migration]. Vega5 has currently just been enabled on mediawiki.org to provide a test environment for communities. [https://phabricator.wikimedia.org/T334940#8813922] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-10|en}}. It will be on all wikis from {{#time:j xg|2023-05-11|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Until now, all new OAuth apps went through manual review. Starting this week, apps using identification-only or basic authorizations will not require review. [https://phabricator.wikimedia.org/T67750] '''Future changes''' * During the next year, MediaWiki will stop using IP addresses to identify logged-out users, and will start automatically assigning unique temporary usernames. Read more at [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates|IP Editing: Privacy Enhancement and Abuse Mitigation/Updates]]. You can [[m:Talk:IP Editing: Privacy Enhancement and Abuse Mitigation#What should it look like?|join the discussion]] about the [[m:Special:MyLanguage/IP Editing: Privacy Enhancement and Abuse Mitigation/Updates#What will temporary usernames look like?|format of the temporary usernames]]. [https://phabricator.wikimedia.org/T332805] * There will be an [[:w:en:A/B testing|A/B test]] on 10 Wikipedias where the Vector 2022 skin is the default skin. Half of logged-in desktop users will see an interface where the different parts of the page are more clearly separated. You can [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Updates/2023-05 Zebra9 A/B test|read more]]. [https://phabricator.wikimedia.org/T333180][https://phabricator.wikimedia.org/T335972] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] <code>jquery.tipsy</code> will be removed from the MediaWiki core. This will affect some user scripts. Many lines with <code>.tipsy(</code> can be commented out. <code>OO.ui.PopupWidget</code> can be used to keep things working like they are now. You can [[phab:T336019|read more]] and [[:mw:Help:Locating broken scripts|read about how to find broken scripts]]. [https://phabricator.wikimedia.org/T336019] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:36, 9 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=24998636 --> == Wikipedia translation of the week: 2023-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Purple Day]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Epilepsy Warrior Brooch May 2018 Purple Day.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Purple Day''' is a global grassroots event that was formed with the intention to increase worldwide awareness of epilepsy, and to dispel common myths and fears of this neurological disorder. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:17, 15 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25000361 --> == Tech News: 2023-20 == <section begin="technews-2023-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/20|Translations]] are available. '''Problems''' * Citations that are automatically generated based on [[d:Q33057|ISBN]] are currently broken. This affects citations made with the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]], and the use of the citoid API in gadgets and user scripts. Work is ongoing to restore this feature. [https://phabricator.wikimedia.org/T336298] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-17|en}}. It will be on all wikis from {{#time:j xg|2023-05-18|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-gorwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hakwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hifwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hsbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-htwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-igwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ilowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-inhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jvwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308134] '''Future changes''' * There is a recently formed team at the Wikimedia Foundation which will be focusing on experimenting with new tools. Currently they are building [[m:Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI|a prototype ChatGPT plugin that allows information generated by ChatGPT to be properly attributed]] to the Wikimedia projects. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget and userscript developers should replace <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> with <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi>. The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> library will be removed in ~1 month, and staff developers will run a script to replace any remaining uses at that time. [https://phabricator.wikimedia.org/T336018] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:45, 15 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25011501 --> == Tech News: 2023-21 == <section begin="technews-2023-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/21|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The "recent edits" time period for page watchers is now 30 days. It used to be 180 days. This was a [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Change information about the number of watchers on a page|Community Wishlist Survey proposal]]. [https://phabricator.wikimedia.org/T336250] '''Changes later this week''' * An [[mw:special:MyLanguage/Growth/Positive reinforcement#Impact|improved impact module]] will be available at Wikipedias. The impact module is a feature available to newcomers [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer homepage|at their personal homepage]]. It will show their number of edits, how many readers their edited pages have, how many thanks they have received and similar things. It is also accessible by accessing Special:Impact. [https://phabricator.wikimedia.org/T336203] * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-24|en}}. It will be on all wikis from {{#time:j xg|2023-05-25|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W21"/> 16:55, 22 May 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25028325 --> == Wikipedia translation of the week: 2023-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Valencian Art Nouveau]]'''<br /> <small>''([[:es:Modernismo valenciano]])''</small> </div> Please be bold and help translate this article! ---- [[File:Santuario Novelda.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Valencian Art Nouveau''' (Spanish: modernismo valenciano, Valencian: modernisme valencià), is the historiographic denomination given to an art and literature movement associated with the Art Nouveau in the Valencian Community, in Spain. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:46, 29 May 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25074014 --> == Tech News: 2023-22 == <section begin="technews-2023-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/22|Translations]] are available. '''Recent changes''' * Citations can once again be added automatically from ISBNs, thanks to Zotero's ISBN searches. The current data sources are the Library of Congress (United States), the Bibliothèque nationale de France (French National Library), and K10plus ISBN (German repository). Additional data source searches can be [[mw:Citoid/Creating Zotero translators|proposed to Zotero]]. The ISBN labels in the [[mw:Special:MyLanguage/Help:VisualEditor/User_guide/Citations-Full#Automatic|VisualEditor Automatic tab]] will reappear later this week. [https://phabricator.wikimedia.org/T336298#8859917] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The page [[{{#special:EditWatchlist}}]] now has "{{int:watchlistedit-normal-check-all}}" options to select all the pages within a namespace. This feature request was [[m:Community Wishlist Survey 2023/Notifications, Watchlists and Talk Pages/Watchlist edit - "check all" checkbox|voted #161 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334252] '''Problems''' * For a few days earlier this month, the "Add interlanguage link" item in the Tools menu did not work properly. This has now been fixed. [https://phabricator.wikimedia.org/T337081] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-05-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-05-31|en}}. It will be on all wikis from {{#time:j xg|2023-06-01|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/small.dblist small] and [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/medium.dblist medium] wikis this week. Large wikis will follow in the coming weeks. This is part of the effort to move Parsoid into MediaWiki core. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:04, 29 May 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25079963 --> == Wikipedia translation of the week: 2023-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Alessandra Korap]]'''<br /> <small>''([[:en:Alessandra Korap]]) ''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Alessandra Korap''' is an indigenous leader and Brazilian environmental activist from the Munduruku ethnic group. Her main work is defending the demarcation of indigenous territory and denouncing the illegal exploitation and activities of the mining and logging industries. Alessandra is internationally recognized for her work. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:33, 5 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-23 == <section begin="technews-2023-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/23|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Help:Extension:RealMe|RealMe]] extension allows you to mark URLs on your user page as verified for Mastodon and similar software. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] Citation and footnote editing can now be started from the reference list when using the visual editor. This feature request was [[m:Community Wishlist Survey 2023/Citations/Allow citations to be edited in the references section with VisualEditor|voted #2 in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T54750] * Previously, clicking on someone else's link to Recent Changes with filters applied within the URL could unintentionally change your preference for "{{int:Rcfilters-group-results-by-page}}". This has now been fixed. [https://phabricator.wikimedia.org/T202916#8874081] '''Problems''' * For a few days last week, some tools and bots returned outdated information due to database replication problems, and may have been down entirely while it was being fixed. These issues have now been fixed. [https://phabricator.wikimedia.org/T337446] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.12|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-07|en}}. It will be on all wikis from {{#time:j xg|2023-06-08|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Bots will no longer be prevented from making edits because of URLs that match the [[mw:Special:MyLanguage/Extension:SpamBlacklist|spam blacklist]]. [https://phabricator.wikimedia.org/T313107] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:52, 5 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25114640 --> == Wikipedia translation of the week: 2023-24 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cassinga Day]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Cassinga Day''' is a national public holiday in Namibia remembering the Cassinga Massacre. Commemorated annually on 4 May, the date "remembers those (approximately 600) killed in 1978 when the South African Defence Force attacked a SWAPO base at Cassinga in southern Angola". <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:07, 12 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25111481 --> == Tech News: 2023-24 == <section begin="technews-2023-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/24|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] The content attribution tools [[mw:Special:MyLanguage/Who Wrote That?|Who Wrote That?]], [[xtools:authorship|XTools Authorship]], and [[xtools:blame|XTools Blame]] now support the Dutch, German, Hungarian, Indonesian, Japanese, Polish and Portuguese Wikipedias. This was the [[m:Community Wishlist Survey 2023/Reading/Extend "Who Wrote That?" tool to more wikis|#7 wish in the 2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T334891] * The [[mw:Special:MyLanguage/Structured Data Across Wikimedia/Search Improvements#Search Preview panel|Search Preview panel]] has been deployed on four Wikipedias (Catalan, Dutch, Hungarian and Norwegian). The panel will show an image related to the article (if existing), the top sections of the article, related images (coming from MediaSearch on Commons), and eventually the sister projects associated with the article. [https://phabricator.wikimedia.org/T306341] * The [[:mw:Special:MyLanguage/Help:Extension:RealMe#Verifying_a_link_on_non-user_pages|RealMe]] extension now allows administrators to verify URLs for any page, for Mastodon and similar software. [https://phabricator.wikimedia.org/T324937] * The default project license [https://lists.wikimedia.org/hyperkitty/list/wikimediaannounce-l@lists.wikimedia.org/thread/7G6XPWZPQFLZ2JANN3ZX6RT4DVUI3HZQ/ has been officially upgraded] to CC BY-SA 4.0. The software interface messages have been updated. Communities should feel free to start updating any mentions of the old CC BY-SA 3.0 licensing within policies and related documentation pages. [https://phabricator.wikimedia.org/T319064] '''Problems''' * For three days last month, some Wikipedia pages edited with VisualEditor or DiscussionTools had an unintended <code><nowiki>__TOC__</nowiki></code> (or its localized form) added during an edit. There is [[mw:Parsoid/Deployments/T336101_followup|a listing of affected pages sorted by wiki]], that may still need to be fixed. [https://phabricator.wikimedia.org/T336101] * Currently, the "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is broken. Existing <code><nowiki>{{DEFAULTSORT:...}}</nowiki></code> keywords incorrectly appear as missing templates in VisualEditor. Developers are exploring how to fix this. In the meantime, those wishing to edit the default sortkey of a page are advised to switch to source editing. [https://phabricator.wikimedia.org/T337398] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Last week, an update to the delete form may have broken some gadgets or user scripts. If you need to manipulate (empty) the reason field, replace <bdi lang="zxx" dir="ltr"><code>#wpReason</code></bdi> with <bdi lang="zxx" dir="ltr" style="white-space: nowrap;"><code>#wpReason > input</code></bdi>. See [https://cs.wikipedia.org/w/index.php?title=MediaWiki%3AGadget-CleanDeleteReasons.js&diff=22859956&oldid=12794189 an example fix]. [https://phabricator.wikimedia.org/T337809] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-14|en}}. It will be on all wikis from {{#time:j xg|2023-06-15|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * VisualEditor will be switched to a new backend on English Wikipedia on Monday, and all other [https://phabricator.wikimedia.org/source/mediawiki-config/browse/master/dblists/large.dblist large] wikis on Thursday. The change should have no noticeable effect on users, but if you experience any slow loading or other strangeness when using VisualEditor, please report it on the phabricator ticket linked here. [https://phabricator.wikimedia.org/T320529] '''Future changes''' * From 5 June to 17 July, the Foundation's [[:mw:Wikimedia Security Team|Security team]] is holding a consultation with contributors regarding a draft policy to govern the use of third-party resources in volunteer-developed gadgets and scripts. Feedback and suggestions are warmly welcome at [[m:Special:MyLanguage/Third-party resources policy|Third-party resources policy]] on meta-wiki. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:52, 12 June 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25133779 --> == Tech News: 2023-25 == <section begin="technews-2023-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/25|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Flame graphs are now available in WikimediaDebug. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/JXNQD3EHG5V5QW5UXFDPSHQG4MJ3FWJQ/][https://techblog.wikimedia.org/2023/06/08/flame-graphs-arrive-in-wikimediadebug/] '''Changes later this week''' * There is no new MediaWiki version this week. * There is now a toolbar search popup in the visual editor. You can trigger it by typing <code>\</code> or pressing <code>ctrl + shift + p</code>. It can help you quickly access most tools in the editor. [https://commons.wikimedia.org/wiki/File:Visual_editor_toolbar_search_feature.png][https://phabricator.wikimedia.org/T66905] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:09, 19 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25159510 --> == Wikipedia translation of the week: 2023-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rawon]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rawon Setan.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Rawon''' (Javanese: ꦫꦮꦺꦴꦤ꧀) is an Indonesian beef soup. Originating from East Java, rawon utilizes the black keluak nut as the main seasoning, which gives a dark color and nutty flavor to the soup. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:18, 26 June 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25177056 --> == Tech News: 2023-26 == <section begin="technews-2023-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/26|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Action API modules and Special:LinkSearch will now add a trailing <bdi lang="zxx" dir="ltr"><code>/</code></bdi> to all <bdi lang="zxx" dir="ltr"><code>prop=extlinks</code></bdi> responses for bare domains. This is part of the work to remove duplication in the <code>externallinks</code> database table. [https://phabricator.wikimedia.org/T337994] '''Problems''' * Last week, search was broken on Commons and Wikidata for 23 hours. [https://phabricator.wikimedia.org/T339810][https://wikitech.wikimedia.org/wiki/Incidents/2023-06-18_search_broken_on_wikidata_and_commons] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-06-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-06-28|en}}. It will be on all wikis from {{#time:j xg|2023-06-29|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Minerva skin now applies more predefined styles to the <bdi lang="zxx" dir="ltr"><code>.mbox-text</code></bdi> CSS class. This enables support for mbox templates that use divs instead of tables. Please make sure that the new styles won't affect other templates in your wiki. [https://gerrit.wikimedia.org/r/c/mediawiki/skins/MinervaNeue/+/930901/][https://phabricator.wikimedia.org/T339040] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadgets will now load on both desktop and mobile by default. Previously, gadgets loaded only on desktop by default. Changing this default using the <bdi lang="zxx" dir="ltr"><code>|targets=</code></bdi> parameter is also deprecated and should not be used. You should make gadgets work on mobile or disable them based on the skin (with the <bdi lang="zxx" dir="ltr"><code>|skins=</code></bdi> parameter in <bdi lang="en" dir="ltr">MediaWiki:Gadgets-definition</bdi>) rather than whether the user uses the mobile or the desktop website. Popular gadgets that create errors on mobile will be disabled by developers on the Minerva skin as a temporary solution. [https://phabricator.wikimedia.org/T127268] * All namespace tabs now have the same browser [[m:Special:MyLanguage/Help:Keyboard_shortcuts|access key]] by default. Previously, custom and extension-defined namespaces would have to have their access keys set manually on-wiki, but that is no longer necessary. [https://phabricator.wikimedia.org/T22126] * The review form of the Flagged Revisions extension now uses the standardized [[mw:Special:MyLanguage/Codex|user interface components]]. [https://phabricator.wikimedia.org/T191156] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] How media is structured in the parser's HTML output will change in the coming weeks at [[:wikitech:Deployments/Train#Thursday|group2 wikis]]. This change improves the accessibility of content. You may need to update your site-CSS, or userscripts and gadgets. There are [[mw:Special:MyLanguage/Parsoid/Parser_Unification/Media_structure/FAQ|details on what code to check, how to update the code, and where to report any related problems]]. [https://phabricator.wikimedia.org/T314318] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 26 June 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25202311 --> == Wikipedia translation of the week: 2023-27 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hook echo]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Tornadic classic supercell radar.gif|center|300px]] <div style="text-align:left; padding: .4em;"> A '''hook echo''' is a pendant or hook-shaped weather radar signature as part of some supercell thunderstorms. It is found in the lower portions of a storm as air and precipitation flow into a mesocyclone, resulting in a curved feature of reflectivity. The echo is produced by rain, hail, or even debris being wrapped around the supercell <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 3 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25241057 --> == Tech News: 2023-27 == <section begin="technews-2023-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/27|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the rolling out of the [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|audio links that play on click]] wishlist proposal, [https://noc.wikimedia.org/conf/highlight.php?file=dblists/small.dblist small wikis] will now be able to use the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline audio player mode|inline audio player]] that is implemented by the [[mw:Extension:Phonos|Phonos]] extension. [https://phabricator.wikimedia.org/T336763] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] From this week all gadgets automatically load on mobile and desktop sites. If you see any problems with gadgets on your wikis, please adjust the [[mw:Special:MyLanguage/Extension:Gadgets#Options|gadget options]] in your gadget definitions file. [https://phabricator.wikimedia.org/T328610] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-05|en}}. It will be on all wikis from {{#time:j xg|2023-07-06|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:51, 3 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25231546 --> == Tech News: 2023-28 == <section begin="technews-2023-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/28|Translations]] are available. '''Recent changes''' * The [[:mw:Special:MyLanguage/Structured Data Across Wikimedia/Section-level Image Suggestions|Section-level Image Suggestions feature]] has been deployed on seven Wikipedias (Portuguese, Russian, Indonesian, Catalan, Hungarian, Finnish and Norwegian Bokmål). The feature recommends images for articles on contributors' watchlists that are a good match for individual sections of those articles. * [[:m:Special:MyLanguage/Global AbuseFilter|Global abuse filters]] have been enabled on all Wikimedia projects, except English and Japanese Wikipedias (who opted out). This change was made following a [[:m:Requests for comment/Make global abuse filters opt-out|global request for comments]]. [https://phabricator.wikimedia.org/T341159] * [[{{#special:BlockedExternalDomains}}]] is a new tool for administrators to help fight spam. It provides a clearer interface for blocking plain domains (and their subdomains), is more easily searchable, and is faster for the software to process for each edit on the wiki. It does not support regex (for complex cases), nor URL path-matching, nor the [[MediaWiki:Spam-whitelist|MediaWiki:Spam-whitelist]], but otherwise it replaces most of the functionalities of the existing [[MediaWiki:Spam-blacklist|MediaWiki:Spam-blacklist]]. There is a Python script to help migrate all simple domains into this tool, and more feature details, within [[mw:Special:MyLanguage/Manual:BlockedExternalDomains|the tool's documentation]]. It is available at all wikis except for Meta-wiki, Commons, and Wikidata. [https://phabricator.wikimedia.org/T337431] * The WikiEditor extension was updated. It includes some of the most frequently used features of wikitext editing. In the past, many of its messages could only be translated by administrators, but now all regular translators on translatewiki can translate them. Please check [https://translatewiki.net/wiki/Special:MessageGroupStats?group=ext-wikieditor&messages=&x=D#sortable:0=asc the state of WikiEditor localization into your language], and if the "Completion" for your language shows anything less than 100%, please complete the translation. See [https://lists.wikimedia.org/hyperkitty/list/wikitech-ambassadors@lists.wikimedia.org/thread/D4YELU2DXMZ75PGELUOKXXMFF3FH45XA/ a more detailed explanation]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-12|en}}. It will be on all wikis from {{#time:j xg|2023-07-13|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * The default protocol of [[{{#special:LinkSearch}}]] and API counterparts has changed from http to both http and https. [https://phabricator.wikimedia.org/T14810] * [[{{#special:LinkSearch}}]] and its API counterparts will now search for all of the URL provided in the query. It used to be only the first 60 characters. This feature was requested fifteen years ago. [https://phabricator.wikimedia.org/T17218] '''Future changes''' * There is an experiment with a [[:w:en:ChatGPT|ChatGPT]] plugin. This is to show users where the information is coming from when they read information from Wikipedia. It has been tested by Wikimedia Foundation staff and other Wikimedians. Soon all ChatGPT plugin users can use the Wikipedia plugin. This is the same plugin which was mentioned in [[m:Special:MyLanguage/Tech/News/2023/20|Tech News 2023/20]]. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] * There is an ongoing discussion on a [[m:Special:MyLanguage/Third-party resources policy|proposed Third-party resources policy]]. The proposal will impact the use of third-party resources in gadgets and userscripts. Based on the ideas received so far, policy includes some of the risks related to user scripts and gadgets loading third-party resources, some best practices and exemption requirements such as code transparency and inspectability. Your feedback and suggestions are warmly welcome until July 17, 2023 on [[m:Talk:Third-party resources policy|on the policy talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:54, 10 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25278797 --> == Wikipedia translation of the week: 2023-29 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Esther Cooper Jackson]]'''<br /> <small>''([[:fr:Esther Cooper Jackson]]) ([[:simple:Esther Cooper Jackson]])''</small> </div> Please be bold and help translate this article! ---- [[File:Esther Cooper Jackson, 1968, Great Barrington.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Esther Victoria Cooper Jackson''' was an American civil rights activist and social worker. She was one of the founding editors of the magazine Freedomways. She also was an organizational and executive secretary at the Southern Negro Youth Congress. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:14, 17 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25266525 --> == Tech News: 2023-29 == <section begin="technews-2023-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/29|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] We are now serving 1% of all global user traffic from [[w:en:Kubernetes|Kubernetes]] (you can [[wikitech:MediaWiki On Kubernetes|read more technical details]]). We are planning to increment this percentage regularly. You can [[phab:T290536|follow the progress of this work]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-19|en}}. It will be on all wikis from {{#time:j xg|2023-07-20|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki [[mw:Special:MyLanguage/Help:System_message|system messages]] will now look for available local fallbacks, instead of always using the default fallback defined by software. This means wikis no longer need to override each language on the [[mw:Special:MyLanguage/Manual:Language#Fallback_languages|fallback chain]] separately. For example, English Wikipedia doesn't have to create <bdi lang="zxx" dir="ltr"><code>en-ca</code></bdi> and <bdi lang="zxx" dir="ltr"><code>en-gb</code></bdi> subpages with a transclusion of the base pages anymore. This makes it easier to maintain local overrides. [https://phabricator.wikimedia.org/T229992] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>action=growthsetmentorstatus</code></bdi> API will be deprecated with the new MediaWiki version. Bots or scripts calling that API should use the <bdi lang="zxx" dir="ltr"><code>action=growthmanagementorlist</code></bdi> API now. [https://phabricator.wikimedia.org/T321503] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:08, 17 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25289122 --> == Wikipedia translation of the week: 2023-30 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cut of pork]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:American Pork Cuts.svg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''cuts of pork''' are the different parts of the pig which are consumed as food by humans. The terminology and extent of each cut varies from country to country. There are between four and six primal cuts, which are the large parts in which the pig is first cut: the shoulder (blade and picnic), loin, belly (spare ribs and side) and leg <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:21, 24 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25318972 --> == Tech News: 2023-30 == <section begin="technews-2023-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/30|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] On July 18, the Wikimedia Foundation launched a survey about the [[:mw:Technical_decision_making|technical decision making process]] for people who do technical work that relies on software that is maintained by the Foundation or affiliates. If this applies to you, [https://wikimediafoundation.limesurvey.net/885471 please take part in the survey]. The survey will be open for three weeks, until August 7. You can find more information in [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/Q7DUCFA75DXG3G2KHTO7CEWMLCYTSDB2/|the announcement e-mail on wikitech-l]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-07-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-07-26|en}}. It will be on all wikis from {{#time:j xg|2023-07-27|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:20, 25 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25332248 --> == Wikipedia translation of the week: 2023-31 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Gunhild Cross]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gunhildkorset.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Gunhild Cross''' (Danish: Gunhildkorset), named for its first owner, Gunhild, a daughter of Svend III of Denmark, is a mid-12th-century crucifix carved in walrus tusk and with both Latin and Runic inscriptions. It is now in the collection of the National Museum of Denmark. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:48, 31 July 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25380210 --> == Tech News: 2023-31 == <section begin="technews-2023-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/31|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Synchronizer|Synchronizer]] tool is now available to keep Lua modules synced across Wikimedia wikis, along with [[mw:Multilingual Templates and Modules|updated documentation]] to develop global Lua modules and templates. * The tag filter on [[{{#special:NewPages}}]] and revision history pages can now be inverted. For example, you can hide edits that were made using an automated tool. [https://phabricator.wikimedia.org/T334337][https://phabricator.wikimedia.org/T334338] * The Wikipedia [[:w:en:ChatGPT|ChatGPT]] plugin experiment can now be used by ChatGPT users who can use plugins. You can participate in a [[:m:Talk:Wikimedia Foundation Annual Plan/2023-2024/Draft/Future Audiences#Announcing monthly Future Audiences open "office hours"|video call]] if you want to talk about this experiment or similar work. [https://meta.wikimedia.org/wiki/Wikimedia_Foundation_Annual_Plan/2023-2024/Draft/Future_Audiences#FA2.2_Conversational_AI] '''Problems''' * It was not possible to generate a PDF for pages with non-Latin characters in the title, for the last two weeks. This has now been fixed. [https://phabricator.wikimedia.org/T342442] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-01|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-02|en}}. It will be on all wikis from {{#time:j xg|2023-08-03|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Tuesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-kawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kaawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kbpwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-knwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kshwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kuwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kwwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308135] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:54, 31 July 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25362228 --> == Wikipedia translation of the week: 2023-32 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Polyura athamas]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Close wing mud-puddling position of Charaxes bharata (C.& R. Felder,1867) - Indian Nawab.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Polyura athamas''''', the common nawab, is a species of fast-flying canopy butterfly found in tropical Asia. It belongs to the Charaxinae (rajahs and nawabs) in the brush-footed butterfly family (Nymphalidae). <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:14, 7 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25410866 --> == Tech News: 2023-32 == <section begin="technews-2023-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/32|Translations]] are available. '''Recent changes''' * Mobile Web editors can now [[mw:Special:MyLanguage/Reading/Web/Advanced_mobile_contributions#August_1,_2023_-_Full-page_editing_added_on_mobile|edit a whole page at once]]. To use this feature, turn on "{{int:Mobile-frontend-mobile-option-amc}}" in your settings and use the "{{int:Minerva-page-actions-editfull}}" button in the "{{int:Minerva-page-actions-overflow}}" menu. [https://phabricator.wikimedia.org/T203151] '''Changes later this week''' * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:21, 7 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25420038 --> == Wikipedia translation of the week: 2023-33 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Women's page]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:"Doings in Pittsburg Society" The Pittsburg Press February 1, 1920.png|center|300px]] <div style="text-align:left; padding: .4em;"> The '''women's page''' (sometimes called home page or women's section) of a newspaper was a section devoted to covering news assumed to be of interest to women. Women's pages started out in the 19th century as society pages and eventually morphed into features sections in the 1970s. Although denigrated during much of that period, they had a significant impact on journalism and in their communities. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:51, 14 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-33 == <section begin="technews-2023-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/33|Translations]] are available. '''Recent changes''' * The Content translation system is no longer using Youdao's [[mw:Special:MyLanguage/Help:Content_translation/Translating/Initial_machine_translation|machine translation service]]. The service was in place for several years, but due to no usage, and availability of alternatives, it was deprecated to reduce maintenance overheads. Other services which cover the same languages are still available. [https://phabricator.wikimedia.org/T329137] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-15|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-16|en}}. It will be on all wikis from {{#time:j xg|2023-08-17|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ladwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lbewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lezwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lfnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-liwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lijwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lmowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ltgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-maiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-map_bmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mdfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kywiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308136] <!-- TODO replace wiki codes --> '''Future changes''' * A few gadgets/user scripts which add icons to the Minerva skin need to have their CSS updated. There are more details available including a [[phab:T344067|search for all existing instances and how to update them]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 06:00, 15 August 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25428668 --> == Wikipedia translation of the week: 2023-34 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Insect toxin]]'''<br /> <small>''([[:de:Insektengift]])''</small> </div> Please be bold and help translate this article! ---- [[File:PDB 1lmr EBI.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Insect toxins''' are various protein toxins produced by insect species. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:32, 21 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-34 == <section begin="technews-2023-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/34|Translations]] are available. '''Recent changes''' * The [https://gdrive-to-commons.toolforge.org/ GDrive to Commons Uploader] tool is now available. It enables [[m:Special:MyLanguage/GDrive to Commons Uploader|securely selecting and uploading files]] from your Google Drive directly to Wikimedia Commons. [https://phabricator.wikimedia.org/T267868] * From now on, we will announce new Wikimedia wikis in Tech News, so you can update any tools or pages. ** Since the last edition, two new wikis have been created: *** a Wiktionary in [[d:Q7121294|Pa'O]] ([[wikt:blk:|<code>wikt:blk:</code>]]) [https://phabricator.wikimedia.org/T343540] *** a Wikisource in [[d:Q34002|Sundanese]] ([[s:su:|<code>s:su:</code>]]) [https://phabricator.wikimedia.org/T343539] ** To catch up, the next most recent six wikis are: *** Wikifunctions ([[f:|<code>f:</code>]]) [https://phabricator.wikimedia.org/T275945] *** a Wiktionary in [[d:Q2891049|Mandailing]] ([[wikt:btm:|<code>wikt:btm:</code>]]) [https://phabricator.wikimedia.org/T335216] *** a Wikipedia in [[d:Q5555465|Ghanaian Pidgin]] ([[w:gpe:|<code>w:gpe:</code>]]) [https://phabricator.wikimedia.org/T335969] *** a Wikinews in [[d:Q3111668|Gungbe]] ([[n:guw:|<code>n:guw:</code>]]) [https://phabricator.wikimedia.org/T334394] *** a Wiktionary in [[d:Q33522|Kabardian]] ([[wikt:kbd:|<code>wikt:kbd:</code>]]) [https://phabricator.wikimedia.org/T333266] *** a Wikipedia in [[d:Q35570|Fante]] ([[w:fat:|<code>w:fat:</code>]]) [https://phabricator.wikimedia.org/T335016] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-22|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-23|en}}. It will be on all wikis from {{#time:j xg|2023-08-24|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There is an existing [[mw:Stable interface policy|stable interface policy]] for MediaWiki backend code. There is a [[mw:User:Jdlrobson/Stable interface policy/frontend|proposed stable interface policy for frontend code]]. This is relevant for anyone who works on gadgets or Wikimedia frontend code. You can read it, discuss it, and let the proposer know if there are any problems. [https://phabricator.wikimedia.org/T344079] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W34"/> 15:25, 21 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25497111 --> == Wikipedia translation of the week: 2023-35 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Manchester Blitz]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Air Raid Damage in Britain- Manchester HU49833.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Manchester Blitz''' (also known as the Christmas Blitz) was the heavy bombing of the city of Manchester and its surrounding areas in North West England during the Second World War by the German Luftwaffe. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:16, 28 August 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-35 == <section begin="technews-2023-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/35|Translations]] are available. '''Recent changes''' * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Community Wishlist Survey 2022/Better diff handling of paragraph splits|better diff handling of paragraph splits]], improved detection of splits is being rolled out. Over the last two weeks, we deployed this support to [[wikitech:Deployments/Train#Groups|group0]] and group1 wikis. This week it will be deployed to group2 wikis. [https://phabricator.wikimedia.org/T341754] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] All [[{{#special:Contributions}}]] pages now show the user's local edit count and the account's creation date. [https://phabricator.wikimedia.org/T324166] * Wikisource users can now use the <bdi lang="zxx" dir="ltr"><code>prpbengalicurrency</code></bdi> label to denote Bengali currency characters as page numbers inside the <bdi lang="zxx" dir="ltr"><code><nowiki><pagelist></nowiki></code></bdi> tag. [https://phabricator.wikimedia.org/T268932] * Two preferences have been relocated. The preference "{{int:visualeditor-preference-visualeditor}}" is now shown on the [[Special:Preferences#mw-prefsection-editing|"{{int:prefs-editing}}" tab]] at all wikis. Previously it was shown on the "{{int:prefs-betafeatures}}" tab at some wikis. The preference "{{int:visualeditor-preference-newwikitexteditor-enable}}" is now also shown on the "{{int:prefs-editing}}" tab at all wikis, instead of the "{{int:prefs-betafeatures}}" tab. [https://phabricator.wikimedia.org/T335056][https://phabricator.wikimedia.org/T344158] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-08-29|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-08-30|en}}. It will be on all wikis from {{#time:j xg|2023-08-31|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] New signups for a Wikimedia developer account will start being pushed towards <bdi lang="en" dir="ltr">[https://idm.wikimedia.org/ idm.wikimedia.org]</bdi>, rather than going via Wikitech. [[wikitech:IDM|Further information about the new system is available]]. * All right-to-left language wikis, plus Korean, Armenian, Ukrainian, Russian, and Bulgarian Wikipedias, will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. This feature will come to more wikis in future weeks. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * The removal of the [[mw:Special:MyLanguage/Extension:DoubleWiki|DoubleWiki extension]] is being discussed. This extension currently allows Wikisource users to view articles from multiple language versions side by side when the <bdi lang="zxx" dir="ltr"><code><=></code></bdi> symbol next to a specific language edition is selected. Comments on this are welcomed at [[phab:T344544|the phabricator task]]. * A proposal has been made to merge the second hidden-categories list (which appears below the wikitext editing form) with the main list of categories (which is further down the page). [[phab:T340606|More information is available on Phabricator]]; feedback is welcome! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:00, 28 August 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25510866 --> == Wikipedia translation of the week: 2023-36 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ghana Independence Act 1957]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''Ghana Independence Act 1957''' is an Act of the Parliament of the United Kingdom that granted the Gold Coast fully responsible government within the British Commonwealth of Nations under the name of Ghana <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:18, 4 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-36 == <section begin="technews-2023-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/36|Translations]] are available. '''Recent changes''' * [[m:Wikisource_EditInSequence|EditInSequence]], a feature that allows users to edit pages faster on Wikisource has been moved to a Beta Feature based on community feedback. To enable it, you can navigate to the [[Special:Preferences#mw-prefsection-betafeatures|beta features tab in Preferences]]. [https://phabricator.wikimedia.org/T308098] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Generate Audio for IPA|Generate Audio for IPA]] and [[m:Community Wishlist Survey 2022/Multimedia and Commons/Audio links that play on click|Audio links that play on click]] wishlist proposals, the [[mw:Special:MyLanguage/Help:Extension:Phonos#Inline_audio_player_mode|inline audio player mode]] of [[mw:Extension:Phonos|Phonos]] has been deployed to all projects. [https://phabricator.wikimedia.org/T336763] * There is a new option for Administrators when they are changing the usergroups for a user, to add the user’s user page to their watchlist. This works both via [[{{#special:UserRights}}]] and via the API. [https://phabricator.wikimedia.org/T272294] * One new wiki has been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q34318|Talysh]] ([[w:tly:|<code>w:tly:</code>]]) [https://phabricator.wikimedia.org/T345166] '''Problems''' * The [[mw:Special:MyLanguage/Extension:LoginNotify|LoginNotify extension]] was not sending notifications since January. It has now been fixed, so going forward, you may see notifications for failed login attempts, and successful login attempts from a new device. [https://phabricator.wikimedia.org/T344785] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-06|en}}. It will be on all wikis from {{#time:j xg|2023-09-07|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-mhrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-miwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-minwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrjwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mtwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mwlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-myvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mznwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-napwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ndswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nds_nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-novwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nqowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nrmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nsowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ocwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-olowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-omwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-orwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-oswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pagwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pamwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-papwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pcdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pdcwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pflwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pihwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pmswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pnbwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pntwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pswiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308137][https://phabricator.wikimedia.org/T308138] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:34, 4 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25566983 --> == Wikipedia translation of the week: 2023-37 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Betrayal trauma]]'''<br /> <small>''([[:sv:Svektrauma]]) ([[:ar:صدمة الخيانة]]) ([[:ko:배신 트라우마]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Betrayal trauma''' is defined as a trauma perpetrated by someone with whom the victim is close to and reliant upon for support and survival. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:49, 11 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25427472 --> == Tech News: 2023-37 == <section begin="technews-2023-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/37|Translations]] are available. '''Recent changes''' * [[mw:Special:MyLanguage/ORES|ORES]], the revision evaluation service, is now using a new open-source infrastructure on all wikis except for English Wikipedia and Wikidata. These two will follow this week. If you notice any unusual results from the Recent Changes filters that are related to ORES (for example, "{{int:ores-rcfilters-damaging-title}}" and "{{int:ores-rcfilters-goodfaith-title}}"), please [[mw:Talk:Machine Learning|report them]]. [https://phabricator.wikimedia.org/T342115] * When you are logged in on one Wikimedia wiki and visit a different Wikimedia wiki, the system tries to log you in there automatically. This has been unreliable for a long time. You can now visit the login page to make the system try extra hard. If you feel that made logging in better or worse than it used to be, your feedback is appreciated. [https://phabricator.wikimedia.org/T326281] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-13|en}}. It will be on all wikis from {{#time:j xg|2023-09-14|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/Technical decision making|Technical Decision-Making Forum Retrospective]] team invites anyone involved in the technical field of Wikimedia projects to signup to and join [[mw:Technical decision making/Listening Sessions|one of their listening sessions]] on 13 September. Another date will be scheduled later. The goal is to improve the technical decision-making processes. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] As part of the changes for the [[m:Special:MyLanguage/Community Wishlist Survey 2022/Better diff handling of paragraph splits|Better diff handling of paragraph splits]] wishlist proposal, the inline switch widget in diff pages is being rolled out this week to all wikis. The inline switch will allow viewers to toggle between a unified inline or two-column diff wikitext format. [https://phabricator.wikimedia.org/T336716] '''Future changes''' * All wikis will be read-only for a few minutes on 20 September. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T345263] * The Enterprise API is launching a new feature called "[http://breakingnews-beta.enterprise.wikimedia.com/ breaking news]". Currently in BETA, this attempts to identify likely "newsworthy" topics as they are currently being written about in any Wikipedia. Your help is requested to improve the accuracy of its detection model, especially on smaller language editions, by recommending templates or identifiable editing patterns. See more information at [[mw:Special:MyLanguage/Wikimedia Enterprise/Breaking news|the documentation page]] on MediaWiki or [[m:Special:MyLanguage/Wikimedia Enterprise/FAQ#What is Breaking News|the FAQ]] on Meta. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:08, 11 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25589064 --> == Wikipedia translation of the week: 2023-38 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:es:Genocidio del Putumayo]]'''<br /> <small>''([[:en:Putumayo genocide]]) ([[:ca:Genocidi del Putumayo]])''</small></div> Please be bold and help translate this article! ---- [[File:The Putumayo - the devil's paradise, travels in the Peruvian Amazon Region and an account of the atrocities committed upon the Indians therein (1913) (14782203995).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Putumayo genocide''' is the term which is used in reference to the enslavement, massacres and ethnocide of the indigenous population of the Amazon at the hands of the Peruvian Amazon Company, specifically in the area between the Putumayo River and the Caquetá River during the Amazon rubber boom period from 1879 to 1912. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 03:38, 18 September 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25599361 --> == Tech News: 2023-38 == <section begin="technews-2023-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/38|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki now has a [[mw:Stable interface policy/frontend|stable interface policy for frontend code]] that more clearly defines how we deprecate MediaWiki code and wiki-based code (e.g. gadgets and user scripts). Thank you to everyone who contributed to the content and discussions. [https://phabricator.wikimedia.org/T346467][https://phabricator.wikimedia.org/T344079] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.27|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-20|en}}. It will be on all wikis from {{#time:j xg|2023-09-21|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * All wikis will be read-only for a few minutes on September 20. [[m:Special:MyLanguage/Tech/Server switch|This is planned at 14:00 UTC.]] [https://phabricator.wikimedia.org/T345263] * All wikis will have a link in the sidebar that provides a short URL of that page, using the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]]. [https://phabricator.wikimedia.org/T267921] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The team investigating the Graph Extension posted [[mw:Extension:Graph/Plans#Proposal|a proposal for reenabling it]] and they need your input. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:20, 18 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25623533 --> == Tech News: 2023-39 == <section begin="technews-2023-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/39|Translations]] are available. '''Recent changes''' * The Vector 2022 skin will now remember the pinned/unpinned status for the Table of Contents for all logged-out users. [https://phabricator.wikimedia.org/T316060] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.28|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-09-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-09-27|en}}. It will be on all wikis from {{#time:j xg|2023-09-28|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui</nowiki></code></bdi> modules are now deprecated as part of the move to Vue.js and Codex. There is a [[mw:Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. More [[phab:T346468|details are available in the task]] and your questions are welcome there. * Gadget definitions will have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "namespaces" option]]. The option takes a list of namespace IDs. Gadgets that use this option will only load on pages in the given namespaces. '''Future changes''' * New variables will be added to [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]]: <code><bdi lang="zxx" dir="ltr">global_account_groups</bdi></code> and <code><bdi lang="zxx" dir="ltr">global_account_editcount</bdi></code>. They are available only when an account is being created. You can use them to prevent blocking automatic creation of accounts when users with many edits elsewhere visit your wiki for the first time. [https://phabricator.wikimedia.org/T345632][https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:AbuseFilter/Rules_format] '''Meetings''' * You can join the next meeting with the Wikipedia mobile apps teams. During the meeting, we will discuss the current features and future roadmap. The meeting will be on [https://zonestamp.toolforge.org/1698426015 27 October at 17:00 (UTC)]. See [[mw:Special:MyLanguage/Wikimedia_Apps/Office_Hours#October_2023|details and how to join]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 26 September 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25655264 --> == Tech News: 2023-40 == <section begin="technews-2023-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/40|Translations]] are available. '''Recent changes''' * There is a new [[Special:Preferences#mw-prefsection-rendering-advancedrendering|user preference]] for "{{int:tog-forcesafemode}}". This setting will make pages load without including any on-wiki JavaScript or on-wiki stylesheet pages. It can be useful for debugging broken JavaScript gadgets. [https://phabricator.wikimedia.org/T342347] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Gadget definitions now have a [[mw:Special:MyLanguage/Extension:Gadgets#Options|new "<var>contentModels</var>" option]]. The option takes a list of page content models, like <code><bdi lang="zxx" dir="ltr">wikitext</bdi></code> or <code><bdi lang="zxx" dir="ltr">css</bdi></code>. Gadgets that use this option will only load on pages with the given content models. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.29|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-03|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-04|en}}. It will be on all wikis from {{#time:j xg|2023-10-05|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Vector 2022 skin will no longer use the custom styles and scripts of Vector legacy (2010). The change will be made later this year or in early 2024. See [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|how to adjust the CSS and JS pages on your wiki]]. [https://phabricator.wikimedia.org/T331679] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:27, 3 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25686930 --> == Tech News: 2023-41 == <section begin="technews-2023-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/41|Translations]] are available. '''Recent changes''' * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q33291|Fon]] ([[w:fon:|<code>w:fon:</code>]]) [https://phabricator.wikimedia.org/T347935] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.41/wmf.30|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-10|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-11|en}}. It will be on all wikis from {{#time:j xg|2023-10-12|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-warwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-wowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xalwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xhwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-xmfwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-yowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zeawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zh_min_nanwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zuwiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308139] * At some wikis, newcomers are suggested images from Commons to add to articles without any images. Starting on Tuesday, newcomers at these wikis will be able to add images to unillustrated article sections. The specific wikis are listed under "Images recommendations" [[mw:Special:MyLanguage/Growth/Deployment table|at the Growth team deployment table]]. You can [[mw:Special:MyLanguage/Help:Growth/Tools/Add an image|learn more about this feature.]] [https://phabricator.wikimedia.org/T345940] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In the mobile web skin (Minerva) the CSS ID <bdi lang="zxx" dir="ltr"><code><nowiki>#page-actions</nowiki></code></bdi> will be replaced with <bdi lang="zxx" dir="ltr"><code><nowiki>#p-views</nowiki></code></bdi>. This change is to make it consistent with other skins and to improve support for gadgets and extensions in the mobile skin. A few gadgets may need to be updated; there are [https://phabricator.wikimedia.org/T348267 details and search-links in the task]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 14:39, 9 October 2023 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25712895 --> == Wikipedia translation of the week: 2023-42 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Athyma nefte]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:VB 019 Color Sergeant UP.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Athyma nefte''''', the colour sergeant, is a species of brush-footed butterfly found in tropical South and Southeast Asia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 16 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-42 == <section begin="technews-2023-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/42|Translations]] are available. '''Recent changes''' * The [[m:Special:MyLanguage/Help:Unified login|Unified login]] system's edge login should now be fixed for some browsers (Chrome, Edge, Opera). This means that if you visit a new sister project wiki, you should be logged in automatically without the need to click "Log in" or reload the page. Feedback on whether it's working for you is welcome. [https://phabricator.wikimedia.org/T347889] * [[mw:Special:MyLanguage/Manual:Interface/Edit_notice|Edit notices]] are now available within the MobileFrontend/Minerva skin. This feature was inspired by [[w:en:Wikipedia:EditNoticesOnMobile|the gadget on English Wikipedia]]. See more details in [[phab:T316178|T316178]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-17|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-18|en}}. It will be on all wikis from {{#time:j xg|2023-10-19|en}} ([[mw:MediaWiki 1.41/Roadmap|calendar]]). '''Future changes''' * In 3 weeks, in the Vector 2022 skin, code related to <bdi lang="zxx" dir="ltr"><code><nowiki>addPortletLink</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>#p-namespaces</nowiki></code></bdi> that was deprecated one year ago will be removed. If you notice tools that should appear next to the "Discussion" tab are then missing, please tell the gadget's maintainers to see [[phab:T347907|instructions in the Phabricator task]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:47, 16 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25745824 --> == Wikipedia translation of the week: 2023-43 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Typhoon Rusa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Rusa 2002-08-27 0350Z.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Typhoon Rusa''' was the most powerful typhoon to strike South Korea in 43 years. It was the 21st JTWC tropical depression, the 15th named storm, and the 10th typhoon of the 2002 Pacific typhoon season. It developed on August 22 from the monsoon trough in the northwestern Pacific Ocean, well to the southeast of Japan. For several days, Rusa moved to the northwest, eventually intensifying into a powerful typhoon. On August 26, the storm moved across the Amami Islands of Japan, where Rusa left 20,000 people without power and caused two fatalities. Across Japan, the typhoon dropped torrential rainfall peaking at 902 mm (35.5 in) in Tokushima Prefecture. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:50, 23 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25693965 --> == Tech News: 2023-43 == <section begin="technews-2023-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/43|Translations]] are available. '''Recent changes''' * There is a new [[mw:Special:MyLanguage/Wikimedia Language engineering/Newsletter/2023/October|Language and internationalization newsletter]], written quarterly. It contains updates on new feature development, improvements in various language-related technical projects, and related support work. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Source map support has been enabled on all wikis. When you open the debugger in your browser's developer tools, you should be able to see the unminified JavaScript source code. [https://phabricator.wikimedia.org/T47514] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-24|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-10-25|en}}. It will be on all wikis from {{#time:j xg|2023-10-26|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:17, 23 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25782286 --> == Wikipedia translation of the week: 2023-44 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hein Eersel]]'''<br /> <small>''([[:nl:Hein Eersel]]) ([[:it:Hein Eersel]])''</small> </div> Please be bold and help translate this article! ---- [[File:HeinEersel.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christiaan Hendrik "Hein" Eersel''' was a Surinamese linguist and cultural researcher. He served as Minister of Education and Population Development in the cabinet of acting Prime Minister Arthur Johan May. He was also the first chancellor of the University of Suriname. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:09, 30 October 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-44 == <section begin="technews-2023-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/44|Translations]] are available. '''Recent changes''' * The Structured Content team, as part of its project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]], made some UX improvements to the upload step of choosing own vs not own work ([[phab:T347590|T347590]]), as well as to the licensing step for own work ([[phab:T347756|T347756]]). * The Design Systems team has released version 1.0.0 of [[wmdoc:codex/latest/|Codex]], the new design system for Wikimedia. See the [[mw:Special:MyLanguage/Design_Systems_Team/Announcing_Codex_1.0|full announcement about the release of Codex 1.0.0]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-10-31|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-01|en}}. It will be on all wikis from {{#time:j xg|2023-11-02|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * Listings on category pages are sorted on each wiki for that language using a [[:w:en:International Components for Unicode|library]]. For a brief period on 2 November, changes to categories will not be sorted correctly for many languages. This is because the developers are upgrading to a new version of the library. They will then use a script to fix the existing categories. This will take a few hours or a few days depending on how big the wiki is. You can [[mw:Special:MyLanguage/Wikimedia Technical Operations/ICU announcement|read more]]. [https://phabricator.wikimedia.org/T345561][https://phabricator.wikimedia.org/T267145] * Starting November 1, the impact module (Special:Impact) will be upgraded by the Growth team. The new impact module shows newcomers more data regarding their impact on the wiki. It was tested by a few wikis during the last few months. [https://phabricator.wikimedia.org/T336203] '''Future changes''' * There is [[mw:Special:MyLanguage/Extension:Graph/Plans#Roadmap|a proposed plan]] for re-enabling the Graph Extension. You can help by reviewing this proposal and [[mw:Extension_talk:Graph/Plans#c-PPelberg_(WMF)-20231020221600-Update:_20_October|sharing what you think about it]]. * The WMF is working on making it possible for administrators to [[mw:Special:MyLanguage/Community_configuration_2.0|edit MediaWiki configuration directly]]. This is similar to previous work on Special:EditGrowthConfig. [[phab:T349757|A technical RfC is running until November 08, where you can provide feedback.]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 30 October 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25801989 --> == Tech News: 2023-45 == <section begin="technews-2023-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/45|Translations]] are available. '''Recent changes''' * In the Vector 2022 skin, the default font-size of a number of navigational elements (tagline, tools menu, navigational links, and more) has been increased slightly to match the font size used in page content. [https://phabricator.wikimedia.org/T346062] '''Problems''' * Last week, there was a problem displaying some recent edits on [https://noc.wikimedia.org/conf/highlight.php?file=dblists/s5.dblist a few wikis], for 1-6 hours. The edits were saved but not immediately shown. This was due to a database problem. [https://phabricator.wikimedia.org/T350443] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-08|en}}. It will be on all wikis from {{#time:j xg|2023-11-09|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). * The Growth team will reassign newcomers from former mentors to [[mw:Special:MyLanguage/Growth/Structured mentor list|the currently active mentors]]. They have also changed the notification language to be more user-friendly. [https://phabricator.wikimedia.org/T330071][https://phabricator.wikimedia.org/T327493] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:06, 6 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25838105 --> == Wikipedia translation of the week: 2023-45 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Reclaim the Night]]'''<br /> <small>''([[:de:Reclaim the Night]])''</small> </div> Please be bold and help translate this article! ---- [[File:Reclaim the Night 2014.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Reclaim the Night''' is a movement started in Leeds in 1977 as part of the Women's Liberation Movement. Marches demanding that women be able to move throughout public spaces at night took place across England until the 1990s. Later, the organisation was revived and sponsors annual and national marches against rape and violence against women. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:40, 8 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Wikipedia translation of the week: 2023-46 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ishe Komborera Africa]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Ishe Komborera Africa.mp3|center|300px|]] <div style="text-align:left; padding: .4em;"> "'''Ishe Komborera Africa'''" (Shona for: God Bless Africa), also called "Ishe Komborera Zimbabwe" (Shona for: God Bless Zimbabwe), was the Zimbabwean national anthem from 1980 to 1994. It was the country's first national anthem after gaining independence in 1980. It is a translation of 19th-century South African schoolteacher Enoch Sontonga's popular African hymn "Nkosi Sikelel' iAfrika" into Zimbabwe's native Shona and Ndebele languages. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 13 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-46 == <section begin="technews-2023-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/46|Translations]] are available. '''Recent changes''' * Four new wikis have been created: ** a Wikipedia in [[d:Q7598268|Moroccan Amazigh]] ([[w:zgh:|<code>w:zgh:</code>]]) [https://phabricator.wikimedia.org/T350216] ** a Wikipedia in [[d:Q35159|Dagaare]] ([[w:dga:|<code>w:dga:</code>]]) [https://phabricator.wikimedia.org/T350218] ** a Wikipedia in [[d:Q33017|Toba Batak]] ([[w:bbc:|<code>w:bbc:</code>]]) [https://phabricator.wikimedia.org/T350320] ** a Wikiquote in [[d:Q33151|Banjar]] ([[q:bjn:|<code>q:bjn:</code>]]) [https://phabricator.wikimedia.org/T350217] '''Problems''' * Last week, users who previously visited Meta-Wiki or Wikimedia Commons and then became logged out on those wikis could not log in again. The problem is now resolved. [https://phabricator.wikimedia.org/T350695] * Last week, some pop-up dialogs and menus were shown with the wrong font size. The problem is now resolved. [https://phabricator.wikimedia.org/T350544] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-15|en}}. It will be on all wikis from {{#time:j xg|2023-11-16|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). '''Future changes''' * Reference Previews are coming to many wikis as a default feature. They are popups for references, similar to the [[mw:Special:MyLanguage/Page Previews|PagePreviews feature]]. [[m:WMDE Technical Wishes/ReferencePreviews#Opt-out feature|You can opt out]] of seeing them. If you are [[Special:Preferences#mw-prefsection-gadgets|using the gadgets]] Reference Tooltips or Navigation Popups, you won’t see Reference Previews. [[phab:T282999|Deployment]] is planned for November 22, 2023. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Canary (also known as heartbeat) events will be produced into [https://stream.wikimedia.org/?doc#/streams Wikimedia event streams] from December 11. Streams users are advised to filter out these events, by discarding all events where <bdi lang="zxx" dir="ltr"><code><nowiki>meta.domain == "canary"</nowiki></code></bdi>. Updates to [[mw:Special:MyLanguage/Manual:Pywikibot|Pywikibot]] or [https://github.com/ChlodAlejandro/wikimedia-streams wikimedia-streams] will discard these events by default. [https://phabricator.wikimedia.org/T266798] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:52, 13 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25859263 --> == Wikipedia translation of the week: 2023-47 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Bhagavata Mela]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Bhagavata Mela''' is a classical Indian dance that is performed in Tamil Nadu, particularly the Thanjavur area. It is choreographed as an annual Vaishnavism tradition in Melattur and nearby regions, and celebrated as a dance-drama performance art. The dance art has roots in a historic migration of practitioners of Kuchipudi, another Indian classical dance art, from Andhra Pradesh to the kingdom of Tanjavur. The term Bhagavata, state Brandon and Banham, refers to the Hindu text Bhagavata Purana. Mela is a Sanskrit word that means "gathering, meeting of a group" and connotes a folk festival. The traditional Bhagavata Mela performance acts out the legends of Hinduism, set to the Carnatic style music. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 00:38, 04:07, 20 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-47 == <section begin="technews-2023-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/47|Translations]] are available. '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on Wednesday, a new set of Wikipedias will get "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]" ({{int:project-localized-name-quwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rmywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_rupwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-roa_tarawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ruewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rwwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sahwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-satwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-scowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sdwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-shwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-siwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-skwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-slwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-smwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-srnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-sswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-stqwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-suwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-szlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tcywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tetwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tgwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-towiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tpiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ttwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-twwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tyvwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-udmwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ugwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-uzwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vecwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vepwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vlswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-vowiki/en}}). This is part of the [[phab:T304110|progressive deployment of this tool to more Wikipedias]]. The communities can [[mw:Special:MyLanguage/Growth/Community configuration|configure how this feature works locally]]. [https://phabricator.wikimedia.org/T308141][https://phabricator.wikimedia.org/T308142][https://phabricator.wikimedia.org/T308143] * The Vector 2022 skin will have some minor visual changes to drop-down menus, column widths, and more. These changes were added to four Wikipedias last week. If no issues are found, these changes will proceed to all wikis this week. These changes will make it possible to add new menus for readability and dark mode. [[mw:Special:MyLanguage/Reading/Web/Desktop_Improvements/Updates#November_2023:_Visual_changes,_more_deployments,_and_shifting_focus|Learn more]]. [https://phabricator.wikimedia.org/T347711] '''Future changes''' * There is [[mw:Extension talk:Graph/Plans#Update: 15 November|an update on re-enabling the Graph Extension]]. To speed up the process, Vega 2 will not be supported and only [https://phabricator.wikimedia.org/T335325 some protocols] will be available at launch. You can help by sharing what you think about the plan. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:55, 21 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25884616 --> == Wikipedia translation of the week: 2023-48 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Zanskari]]'''<br /> <small>''([[:en:Zaniskari]])''</small> </div> Please be bold and help translate this article! ---- [[File:Zaniskari Horse in Ladakh, India.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Zaniskari''' or '''Zanskari''' is a breed of small mountain horse or pony from Ladakh, in northern India. It is named for the Zanskar valley or region in Kargil district. It is similar to the Spiti breed of Himachal Pradesh, but is better adapted to work at high altitude. Like the Spiti, it shows similarities to the Tibetan breeds of neighbouring Tibet. It is of medium size, and is often grey in colour. The breed is considered endangered, as there are only a few hundred alive today, and a conservation programme has been started at Padum, Zanskar, in the Kargil district of Ladakh. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:44, 27 November 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25797248 --> == Tech News: 2023-48 == <section begin="technews-2023-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/48|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-11-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-11-29|en}}. It will be on all wikis from {{#time:j xg|2023-11-30|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] MediaWiki's JavaScript system will now allow <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax in gadgets and user scripts. Gadget authors should remember that users' browsers may not support it, so it should be used appropriately. [https://phabricator.wikimedia.org/T343499] * The deployment of "[[mw:Special:MyLanguage/Help:Growth/Tools/Add_a_link|Add a link]]" announced [[m:Special:MyLanguage/Tech/News/2023/47|last week]] was postponed. It will resume this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:09, 27 November 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25906379 --> == Wikipedia translation of the week: 2023-49 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sheikh Hussein]]'''<br /> <small>''([[:fr:Sheikh Hussein]]) ([[:it:Scec Hussèn]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sheikh Hussein.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Sheikh Hussein''' is a town in south-eastern Ethiopia. The site has been recorded in the tentative list for UNESCO World Heritage List since 2011 as a religious, cultural and historical site. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:34, 4 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25921616 --> == Tech News: 2023-49 == <section begin="technews-2023-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/49|Translations]] are available. '''Recent changes''' * The spacing between paragraphs on Vector 2022 has been changed from 7px to 14px to match the size of the text. This will make it easier to distinguish paragraphs from sentences. [https://phabricator.wikimedia.org/T351754] * The "{{int:Visualeditor-dialog-meta-categories-defaultsort-label}}" feature in VisualEditor is working again. You no longer need to switch to source editing to edit <bdi lang="zxx" dir="ltr"><code><nowiki>{{DEFAULTSORT:...}}</nowiki></code></bdi> keywords. [https://phabricator.wikimedia.org/T337398] '''Changes later this week''' * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * On 6 December, people who have the enabled the preference for "{{int:Discussiontools-preference-visualenhancements}}" will notice the [[mw:Special:MyLanguage/Talk pages project/Usability|talk page usability improvements]] appear on pages that include the <bdi lang="zxx" dir="ltr"><code><nowiki>__NEWSECTIONLINK__</nowiki></code></bdi> magic word. If you notice any issues, please [[phab:T352232|share them with the team on Phabricator]]. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge [[wikitech:News/Toolforge Grid Engine deprecation|Grid Engine shutdown process]] will start on December 14. Maintainers of [[toolforge:grid-deprecation|tools that still use this old system]] should plan to migrate to Kubernetes, or tell the team your plans on Phabricator in the task about your tool, before that date. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/VIWWQKMSQO2ED3TVUR7KPPWRTOBYBVOA/] * Communities using [[mw:Special:MyLanguage/Structured_Discussions|Structured Discussions]] are being contacted regarding [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|the upcoming deprecation of Structured Discussions]]. You can read more about this project, and share your comments, [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|on the project's page]]. '''Events''' * Registration & Scholarship applications are now open for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2024|Wikimedia Hackathon 2024]] that will take place from 3–5 May in Tallinn, Estonia. Scholarship applications are open until 5 January 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:50, 4 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25914435 --> == Wikipedia translation of the week: 2023-50 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fr:Applaudissements aux fenêtres pendant la pandémie de Covid-19]]'''<br /> <small>''([[:es:Aplauso por los trabajadores de la salud]]) ([[:gl:Aplauso ao persoal sanitario]])''</small> </div> Please be bold and help translate this article! ---- [[File:Koronabirus konfinamendua Lasarten 2020-03-29.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> During the COVID-19 pandemic, applauding daily at a scheduled hour was a gesture of acclamation, recognition and gratitude towards health professionals in tribute to their work at the time. This habit emerged in January 2020 in Wuhan, where the pandemic originated, and then spread to several cities around the world during the quarantines and sanitary cordons ordered as preventive measures, Italy being the first one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:26, 11 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25925561 --> == Tech News: 2023-50 == <section begin="technews-2023-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/50|Translations]] are available. '''Recent changes''' * On Wikimedia Commons, there are some minor user-interface improvements for the "choosing own vs not own work" step in the UploadWizard. This is part of the Structured Content team's project of [[:commons:Commons:WMF support for Commons/Upload Wizard Improvements|improving UploadWizard on Commons]]. [https://phabricator.wikimedia.org/T352707][https://phabricator.wikimedia.org/T352709] '''Problems''' * There was a problem showing the [[mw:Special:MyLanguage/Growth/Personalized first day/Newcomer homepage|Newcomer homepage]] feature with the "impact module" and their page-view graphs, for a few days in early December. This has now been fixed. [https://phabricator.wikimedia.org/T352352][https://phabricator.wikimedia.org/T352349] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-13|en}}. It will be on all wikis from {{#time:j xg|2023-12-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * [[File:Octicons-tools.svg|15px|link=]] The [https://wikimediafoundation.limesurvey.net/796964 2023 Developer Satisfaction Survey] is seeking the opinions of the Wikimedia developer community. Please take the survey if you have any role in developing software for the Wikimedia ecosystem. The survey is open until 5 January 2024, and has an associated [[foundation:Legal:December_2023_Developer_Satisfaction_Survey|privacy statement]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:13, 12 December 2023 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25945501 --> == Wikipedia translation of the week: 2023-51 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jamaica Bay Wildlife Refuge]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Aerial view of Subway Island, July 2019.JPG|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Jamaica Bay Wildlife Refuge''' is a wildlife refuge in New York City managed by the National Park Service as part of Gateway National Recreation Area. It is composed of the open water and intertidal salt marshes of Jamaica Bay. It lies entirely within the boundaries of New York City, divided between the boroughs of Brooklyn to the west and Queens to the east. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:05, 18 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25951007 --> == Tech News: 2023-51 == <section begin="technews-2023-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2023/51|Translations]] are available. '''Tech News''' * The next issue of Tech News will be sent out on 8 January 2024 because of [[w:en:Christmas and holiday season|the holidays]]. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2023-12-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2023-12-20|en}}. It will be on all wikis from {{#time:j xg|2023-12-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). There is no new MediaWiki version next week. [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting December 18, it won't be possible to activate Structured Discussions on a user's own talk page using the Beta feature. The Beta feature option remains available for users who want to deactivate Structured Discussions. This is part of [[mw:Structured Discussions/Deprecation|Structured Discussions' deprecation work]]. [https://phabricator.wikimedia.org/T248309] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] There will be full support for redirects in the Module namespace. The "Move Page" feature will leave an appropriate redirect behind, and such redirects will be appropriately recognized by the software (e.g. hidden from [[{{#special:UnconnectedPages}}]]). There will also be support for [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Renaming or moving modules|manual redirects]]. [https://phabricator.wikimedia.org/T120794] '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The MediaWiki JavaScript documentation is moving to a new format. During the move, you can read the old docs using [https://doc.wikimedia.org/mediawiki-core/REL1_41/js/ version 1.41]. Feedback about [https://doc.wikimedia.org/mediawiki-core/master/js/ the new site] is welcome on the [[mw:Talk:JSDoc_WMF_theme|project talk page]]. * The Wishathon is a new initiative that encourages collaboration across the Wikimedia community to develop solutions for wishes collected through the [[m:Special:MyLanguage/Community Wishlist Survey|Community Wishlist Survey]]. The first community Wishathon will take place from 15–17 March. If you are interested in a project proposal as a user, developer, designer, or product lead, you can [[m:Special:MyLanguage/Event:WishathonMarch2024|register for the event and read more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2023/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2023-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:18, 18 December 2023 (UTC) <!-- Message sent by User:Johan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=25959059 --> == Wikipedia translation of the week: 2023-52 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2023 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Plant blindness]]'''<br /> <small>''([[:fr:Cécité botanique]]) ([[:de:Pflanzenblindheit]])''</small> </div> Please be bold and help translate this article! ---- [[File:Plant blindness 0323.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Plant blindness''' is an informally-proposed form of cognitive bias, which in its broadest meaning, is a human tendency to ignore plant species. This includes such phenomena as not noticing plants in the surrounding environment, not recognizing the importance of plant life to the whole biosphere and to human affairs, a philosophical view of plants as an inferior form of life to animals and/or the inability to appreciate the unique features or aesthetics of plants. Related terms include plant‐neglect, zoo-centrism, and zoo‐chauvinism. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:58, 25 December 2023 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=25971304 --> == Wikipedia translation of the week: 2024-02 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pax airship disaster]]'''<br /> <small>''([[:pt:Catástrofe do dirigível Pax]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sim new-mcclures-magazine 1902-09 19 5 (page 75 crop).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''''Pax''''' '''airship disaster''' was the explosion of the ''Pax'' airship on May 12, 1902, in Paris, which killed the Brazilian inventor Augusto Severo and the French mechanic Georges Saché. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 12:14, 8 January 2024 (UTC)'' </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26033876 --> == Tech News: 2024-02 == <section begin="technews-2024-W02"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/02|Translations]] are available. '''Recent changes''' * [https://mediawiki2latex.wmflabs.org/ mediawiki2latex] is a tool that converts wiki content into the formats of LaTeX, PDF, ODT, and EPUB. The code now runs many times faster due to recent improvements. There is also an optional Docker container you can [[b:de:Benutzer:Dirk_Hünniger/wb2pdf/install#Using_Docker|install]] on your local machine. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The way that Random pages are selected has been updated. This will slowly reduce the problem of some pages having a lower chance of appearing. [https://phabricator.wikimedia.org/T309477] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.13|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-10|en}}. It will be on all wikis from {{#time:j xg|2024-01-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/02|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W02"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:20, 9 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26026251 --> == Wikipedia translation of the week: 2024-03 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Conversion to Islam]]'''<br /> <small>''([[:fr:Conversion à l'islam]])''</small> </div> Please be bold and help translate this article! ---- [[File:Sahadah-Topkapi-Palace.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Conversion to Islam''' is accepting Islam as a religion or faith and rejecting any other religion or irreligion. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:11, 15 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-03 == <section begin="technews-2024-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/03|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Pages that use the JSON [[mw:Special:MyLanguage/Manual:ContentHandler|contentmodel]] will now use tabs instead of spaces for auto-indentation. This will significantly reduce the page size. [https://phabricator.wikimedia.org/T326065] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] and personal user scripts may now use JavaScript syntax introduced in ES6 (also known as "ES2015") and ES7 ("ES2016"). MediaWiki validates the source code to protect other site functionality from syntax errors, and to ensure scripts are valid in all [[mw:Special:MyLanguage/Compatibility#Browsers|supported browsers]]. Previously, Gadgets could use the <bdi lang="zxx" dir="ltr"><code><nowiki>requiresES6</nowiki></code></bdi> option. This option is no longer needed and will be removed in the future. [https://phabricator.wikimedia.org/T75714] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Manual:Bot passwords|Bot passwords]] and [[mw:Special:MyLanguage/OAuth/Owner-only consumers|owner-only OAuth consumers]] can now be restricted to allow editing only specific pages. [https://phabricator.wikimedia.org/T349957] * You can now [[mw:Special:MyLanguage/Extension:Thanks|thank]] edits made by bots. [https://phabricator.wikimedia.org/T341388] * An update on the status of the Community Wishlist Survey for 2024 [[m:Special:MyLanguage/Community Wishlist Survey/Future Of The Wishlist/January 4, 2024 Update|has been published]]. Please read and give your feedback. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.14|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-17|en}}. It will be on all wikis from {{#time:j xg|2024-01-18|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting on January 17, it will not be possible to login to Wikimedia wikis from some specific old versions of the Chrome browser (versions 51–66, released between 2016 and 2018). Additionally, users of iOS 12, or Safari on Mac OS 10.14, may need to login to each wiki separately. [https://phabricator.wikimedia.org/T344791] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The <bdi lang="zxx" dir="ltr"><code>jquery.cookie</code></bdi> module was deprecated and replaced with the <bdi lang="zxx" dir="ltr"><code>mediawiki.cookie</code></bdi> module last year. A script has now been run to replace any remaining uses, and this week the temporary alias will be removed. [https://phabricator.wikimedia.org/T354966] '''Future changes''' * Wikimedia Deutschland is working to [[m:WMDE Technical Wishes/Reusing references|make reusing references easier]]. They are looking for people who are interested in participating in [https://wikimedia.sslsurvey.de/User-research-into-Reusing-References-Sign-up-Form-2024/en/ individual video calls for user research in January and February]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 16 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26074460 --> == Wikipedia translation of the week: 2024-04 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kinder der Landstrasse]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Kinderdlandstrasse plakat.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Kinder der Landstrasse''' (literally: Children of the Country Road) was a project implemented by the Swiss foundation Pro Juventute from 1926 to 1973. The project aimed to assimilate the itinerant Yenish people in Switzerland by forcibly removing their children from their parents and placing them in orphanages or foster homes. Approximately 590 children were affected by this program. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 02:02, 22 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26044632 --> == Tech News: 2024-04 == <section begin="technews-2024-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/04|Translations]] are available. '''Problems''' * A bug in UploadWizard prevented linking to the userpage of the uploader when uploading. It has now been fixed. [https://phabricator.wikimedia.org/T354529] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.15|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-24|en}}. It will be on all wikis from {{#time:j xg|2024-01-25|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:04, 23 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26096197 --> == Wikipedia translation of the week: 2024-05 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Qurm Nature Reserve]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Al-Qurm Wetlands.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Qurm Nature Reserve''' is a national nature reserve in Muscat Governorate, Oman. Located on the Gulf of Oman coast, the reserve protects a mangrove forest and the surrounding wetland in a small estuary within the urban area of Qurm. Established in 1975, the reserve has been designated as an Important Bird Area since 1994, and as a protected Ramsar site since 2013. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:03, 29 January 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26149847 --> == Tech News: 2024-05 == <section begin="technews-2024-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/05|Translations]] are available. '''Recent changes''' * Starting Monday January 29, all talk pages messages' timestamps will become a link. This link is a permanent link to the comment. It allows users to find the comment they are looking for, even if this comment was moved elsewhere. This will affect all wikis except for the English Wikipedia. You can read more about this change [https://diff.wikimedia.org/2024/01/29/talk-page-permalinks-dont-lose-your-threads/ on Diff] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk_pages_permalinking|on Mediawiki.org]].<!-- The Diff post will be published on Monday morning UTC--> [https://phabricator.wikimedia.org/T302011] * There are some improvements to the CAPTCHA to make it harder for spam bots and scripts to bypass it. If you have feedback on this change, please comment on [[phab:T141490|the task]]. Staff are monitoring metrics related to the CAPTCHA, as well as secondary metrics such as account creations and edit counts. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.16|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-01-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-01-31|en}}. It will be on all wikis from {{#time:j xg|2024-02-01|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] On February 1, a link will be added to the "Tools" menu to download a [[w:en:QR code|QR code]] that links to the page you are viewing. There will also be a new [[{{#special:QrCode}}]] page to create QR codes for any Wikimedia URL. This addresses the [[m:Community Wishlist Survey 2023/Mobile and apps/Add ability to share QR code for a page in any Wikimedia project|#19 most-voted wish]] from the [[m:Community Wishlist Survey 2023/Results|2023 Community Wishlist Survey]]. [https://phabricator.wikimedia.org/T329973] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] which only work in some skins have sometimes used the <bdi lang="zxx" dir="ltr"><code>targets</code></bdi> option to limit where you can use them. This will stop working this week. You should use the <bdi lang="zxx" dir="ltr"><code>skins</code></bdi> option instead. [https://phabricator.wikimedia.org/T328497] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:31, 29 January 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26137870 --> == Wikipedia translation of the week: 2024-06 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Timurid architecture]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Gur-e-Amir Mausolueum - Samarkand - Uzbekistan (7488414078).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Timurid architecture''' was an important stage in the architectural history of Iran and Central Asia during the late 14th and 15th centuries. The Timurid Empire (1370–1507), founded by Timur (d. 1405) and conquering most of this region, oversaw a cultural renaissance. In architecture, the Timurid dynasty patronized the construction of palaces, mausoleums, and religious monuments across the region. Their architecture is distinguished by its grand scale, luxurious decoration in tilework, and sophisticated geometric vaulting. This architectural style, along with other aspects of Timurid art, spread across the empire and subsequently influenced the architecture of other empires from the Middle East to the Indian subcontinent. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 5 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26169542 --> == Tech News: 2024-06 == <section begin="technews-2024-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/06|Translations]] are available. '''Recent changes''' *The mobile site history pages now use the same HTML as the desktop history pages. If you hear of any problems relating to mobile history usage please point them to [[phab:T353388|the phabricator task]]. *On most wikis, admins can now block users from making specific actions. These actions are: uploading files, creating new pages, moving (renaming) pages, and sending thanks. The goal of this feature is to allow admins to apply blocks that are adequate to the blocked users' activity. [[m:Special:MyLanguage/Community health initiative/Partial blocks#action-blocks|Learn more about "action blocks"]]. [https://phabricator.wikimedia.org/T242541][https://phabricator.wikimedia.org/T280531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.17|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-06|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-07|en}}. It will be on all wikis from {{#time:j xg|2024-02-08|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Talk pages permalinks that included diacritics and non-Latin script were malfunctioning. This issue is fixed. [https://phabricator.wikimedia.org/T356199] '''Future changes''' * [[m:WMDE Technical Wishes/ReferencePreviews#24WPs|24 Wikipedias]] with [[mw:Special:MyLanguage/Reference_Tooltips|Reference Tooltips]] as a default gadget are encouraged to remove that default flag. This would make [[mw:Special:MyLanguage/Help:Reference_Previews|Reference Previews]] the new default for reference popups, leading to a more consistent experience across wikis. For [[m:WMDE Technical Wishes/ReferencePreviews#46WPs|46 Wikipedias]] with less than 4 interface admins, the change is already scheduled for mid-February, [[m:Talk:WMDE Technical Wishes/ReferencePreviews#Reference Previews to become the default for previewing references on more wikis.|unless there are concerns]]. The older Reference Tooltips gadget will still remain usable and will override this feature, if it is available on your wiki and you have enabled it in your settings. [https://meta.wikimedia.org/wiki/WMDE_Technical_Wishes/ReferencePreviews#Reference_Previews_to_become_the_default_for_previewing_references_on_more_wikis][https://phabricator.wikimedia.org/T355312] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:22, 5 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26180971 --> == Wikipedia translation of the week: 2024-07 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adoration of the Magi (Fra Angelico and Filippo Lippi)]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Fra Angelico, Fra Filippo Lippi, The Adoration of the Magi.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''''Adoration of the Magi''''' is a tondo, or circular painting, of the Adoration of the Magi assumed to be that recorded in 1492 in the Palazzo Medici Riccardi in Florence as by Fra Angelico. It dates from the mid-15th century and is now in the National Gallery of Art in Washington D.C. Most art historians think that Filippo Lippi painted more of the original work, and that it was added to some years after by other artists, as well as including work by assistants in the workshops of both the original masters. It has been known as the Washington Tondo and Cook Tondo after Herbert Cook, and this latter name in particular continues to be used over 50 years after the painting left the Cook collection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 07:00, 12 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26187446 --> == Tech News: 2024-07 == <section begin="technews-2024-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/07|Translations]] are available. '''Recent changes''' * The [[d:Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split experiment]] is working and loaded onto 3 test servers. The team in charge is testing the split's impact and requires feedback from WDQS users through the UI or programmatically in different channels. [https://www.wikidata.org/wiki/Wikidata_talk:SPARQL_query_service/WDQS_graph_split][https://phabricator.wikimedia.org/T356773][https://www.wikidata.org/wiki/User:Sannita_(WMF)] Users' feedback will validate the impact of various use cases and workflows around the Wikidata Query service. [https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/WDQS_backend_update/October_2023_scaling_update][https://www.mediawiki.org/wiki/Wikidata_Query_Service/User_Manual#Federation] '''Problems''' *There was a bug that affected the appearance of visited links when using mobile device to access wiki sites. It made the links appear black; [[phab:T356928|this issue]] is fixed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.18|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-13|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-14|en}}. It will be on all wikis from {{#time:j xg|2024-02-15|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] As work continues on the grid engine deprecation,[https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation] tools on the grid engine will be stopped starting on February 14th, 2024. If you have tools actively migrating you can ask for an extension so they are not stopped. [https://wikitech.wikimedia.org/wiki/Portal:Toolforge/About_Toolforge#Communication_and_support] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 05:49, 13 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26223994 --> == Wikipedia translation of the week: 2024-08 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:nl:Graf met de handjes]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Weg langs het kerkhof tegenover 1, Roermond.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The monument '''Van Gorkum-Van Aefferden''', more well known as the "'''grave with the little hands'''" is a monumental Tombstone in the Dutch city of Roermond. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:24, 19 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-08 == <section begin="technews-2024-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/08|Translations]] are available. '''Recent changes''' * If you have the "{{int:Tog-enotifwatchlistpages}}" option enabled, edits by bot accounts no longer trigger notification emails. Previously, only minor edits would not trigger the notification emails. [https://phabricator.wikimedia.org/T356984] * There are changes to how user and site scripts load for [[mw:Special:MyLanguage/Skin:Vector/2022| Vector 2022]] on specific wikis. The changes impacted the following Wikis: all projects with [[mw:Special:MyLanguage/Skin:Vector|Vector legacy]] as the default skin, Wikivoyage, and Wikibooks. Other wikis will be affected over the course of the next three months. Gadgets are not impacted. If you have been affected or want to minimize the impact on your project, see [[Phab:T357580| this ticket]]. Please coordinate and take action proactively. *Newly auto-created accounts (the accounts you get when you visit a new wiki) now have the same local notification preferences as users who freshly register on that wiki. It is effected in four notification types listed in the [[phab:T353225|task's description]]. *The maximum file size when using [[c:Special:MyLanguage/Commons:Upload_Wizard|Upload Wizard]] is now 5 GiB. [https://phabricator.wikimedia.org/T191804] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.19|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-20|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-21|en}}. It will be on all wikis from {{#time:j xg|2024-02-22|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Selected tools on the grid engine have been [[wikitech:News/Toolforge_Grid_Engine_deprecation|stopped]] as we prepare to shut down the grid on March 14th, 2024. The tool's code and data have not been deleted. If you are a maintainer and you want your tool re-enabled reach out to the [[wikitech:Portal:Toolforge/About_Toolforge#Communication_and_support|team]]. Only tools that have asked for extension are still running on the grid. * The CSS <bdi lang="zxx" dir="ltr"><code>[https://developer.mozilla.org/en-US/docs/Web/CSS/filter filter]</code></bdi> property can now be used in HTML <bdi lang="zxx" dir="ltr"><code>style</code></bdi> attributes in wikitext. [https://phabricator.wikimedia.org/T308160] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:37, 19 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26254282 --> == Wikipedia translation of the week: 2024-09 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Doorway effect]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> The '''doorway effect''' is a known psychological event where a person's short-term memory declines when passing through a doorway moving from one location to another when it would not if they had remained in the same place. People experience this effect by forgetting what they were going to do, thinking about, or planning upon entering a different room. This is thought to be due to the change in one's physical environment, which is used to distinguish boundaries between remembered events: memories of events encountered in the present environment are more accessible than those beyond it. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:30, 26 February 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26260848 --> == Tech News: 2024-09 == <section begin="technews-2024-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/09|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/VisualEditor_on_mobile|mobile visual editor]] is now the default editor for users who never edited before, at a small group of wikis. [[mw:Special:MyLanguage/VisualEditor_on_mobile/VE_mobile_default#A/B_test_results| Research ]] shows that users using this editor are slightly more successful publishing the edits they started, and slightly less successful publishing non-reverted edits. Users who defined the wikitext editor as their default on desktop will get the wikitext editor on mobile for their first edit on mobile as well. [https://phabricator.wikimedia.org/T352127] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[mw:Special:MyLanguage/ResourceLoader/Core modules#mw.config|mw.config]] value <code>wgGlobalGroups</code> now only contains groups that are active in the wiki. Scripts no longer have to check whether the group is active on the wiki via an API request. A code example of the above is: <bdi lang="zxx" dir="ltr"><code>if (/globalgroupname/.test(mw.config.get("wgGlobalGroups")))</code></bdi>. [https://phabricator.wikimedia.org/T356008] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.20|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-02-27|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-02-28|en}}. It will be on all wikis from {{#time:j xg|2024-02-29|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The right to change [[mw:Special:MyLanguage/Manual:Tags|edit tags]] (<bdi lang="zxx" dir="ltr"><code>changetags</code></bdi>) will be removed from users in Wikimedia sites, keeping it by default for admins and bots only. Your community can ask to retain the old configuration on your wiki before this change happens. Please indicate in [[phab:T355639|this ticket]] to keep it for your community before the end of March 2024. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:23, 26 February 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26294125 --> == Wikipedia translation of the week: 2024-10 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Sissieretta Jones]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:1899 poster of Mme. M. Sissieretta Jones.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Matilda Sissieretta Joyner Jones''' (January 5, 1868, or 1869 – June 24, 1933) was an American soprano. She sometimes was called "The Black Patti" in reference to Italian opera singer Adelina Patti. Jones' repertoire included grand opera, light opera, and popular music <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 4 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26313143 --> == Tech News: 2024-10 == <section begin="technews-2024-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/10|Translations]] are available. '''Recent changes''' * The <bdi lang="zxx" dir="ltr"><code>Special:Book</code></bdi> page (as well as the associated "Create a book" functionality) provided by the old [[mw:Special:MyLanguage/Extension:Collection|Collection extension]] has been removed from all Wikisource wikis, as it was broken. This does not affect the ability to download normal books, which is provided by the [[mw:Special:MyLanguage/Extension:Wikisource|Wikisource extension]]. [https://phabricator.wikimedia.org/T358437] * [[m:Wikitech|Wikitech]] now uses the next-generation [[mw:Special:MyLanguage/Parsoid|Parsoid]] wikitext parser by default to generate all pages in the Talk namespace. Report any problems on the [[mw:Talk:Parsoid/Parser_Unification/Known_Issues|Known Issues discussion page]]. You can use the [[mw:Special:MyLanguage/Extension:ParserMigration|ParserMigration]] extension to control the use of Parsoid; see the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|ParserMigration help documentation]] for more details. * Maintenance on [https://etherpad.wikimedia.org etherpad] is completed. If you encounter any issues, please indicate in [[phab:T316421|this ticket]]. * [[File:Octicons-tools.svg|12px|link=|alt=| Advanced item]] [[mw:Special:MyLanguage/Extension:Gadgets|Gadgets]] allow interface admins to create custom features with CSS and JavaScript. The <bdi lang="zxx" dir="ltr"><code>Gadget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>Gadget_definition</code></bdi> namespaces and <bdi lang="zxx" dir="ltr"><code>gadgets-definition-edit</code></bdi> user right were reserved for an experiment in 2015, but were never used. These were visible on Special:Search and Special:ListGroupRights. The unused namespaces and user rights are now removed. No pages are moved, and no changes need to be made. [https://phabricator.wikimedia.org/T31272] * A usability improvement to the "Add a citation" in Wikipedia workflow has been made, the insert button was moved to the popup header. [https://phabricator.wikimedia.org/T354847] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.21|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-05|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-06|en}}. It will be on all wikis from {{#time:j xg|2024-03-07|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233] * The HTML markup of headings and section edit links will be changed later this year to improve accessibility. See [[mw:Special:MyLanguage/Heading_HTML_changes|Heading HTML changes]] for details. The new markup will be the same as in the new Parsoid wikitext parser. You can test your gadget or stylesheet with the new markup if you add <bdi lang="zxx" dir="ltr"><code>?useparsoid=1</code></bdi> to your URL ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Selecting_a_parser_using_a_URL_query_string|more info]]) or turn on Parsoid read views in your user options ([[mw:Special:MyLanguage/Help:Extension:ParserMigration#Enabling_via_user_preference|more info]]). * '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:47, 4 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26329807 --> == Wikipedia translation of the week: 2024-11 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Preventative Coup of November 11]]'''<br /> <small>''([[:es:Golpe de Estado en Brasil de 1955]])''</small> </div> Please be bold and help translate this article! ---- [[File:Exército na casa de Café Filho.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Preventative Coup of November 11''' sometimes called the '''1955 Brazilian coup d'état''' or referred to as an "anti-coup" or a "counter-coup" (Portuguese: ''Novembrada, Movimento de 11 de Novembro, Contragolpe, Golpe Preventivo do Marechal Lott'') was a series of military and political events led by Henrique Teixeira Lott that resulted in Nereu Ramos assuming the presidency of Brazil until being peacefully succeeded by Juscelino Kubitschek a few months later. The bloodless coup removed Carlos Luz from the presidency because he was suspected of plotting to prevent Kubitschek from taking office. As a result of the tensions, Brazil had three presidents in the span of a single week. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 11 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-11 == <section begin="technews-2024-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/11|Translations]] are available. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.22|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-12|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-13|en}}. It will be on all wikis from {{#time:j xg|2024-03-14|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * After consulting with various communities, the line height of the text on the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] will be increased to its previous value of 1.65. Different options for typography can also be set using the options in the menu, as needed. [https://phabricator.wikimedia.org/T358498] *The active link color in [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva]] will be changed to provide more consistency with our other platforms and best practices. [https://phabricator.wikimedia.org/T358516] * [[c:Special:MyLanguage/Commons:Structured data|Structured data on Commons]] will no longer ask whether you want to leave the page without saving. This will prevent the “information you’ve entered may not be saved” popups from appearing when no information have been entered. It will also make file pages on Commons load faster in certain cases. However, the popups will be hidden even if information has indeed been entered. If you accidentally close the page before saving the structured data you entered, that data will be lost. [https://phabricator.wikimedia.org/T312315] '''Future changes''' * All wikis will be read-only for a few minutes on March 20. This is planned at 14:00 UTC. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 11 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26374013 --> == Wikipedia translation of the week: 2024-12 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Hojang Taret]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Hojang Taret''' is a classical Meitei language play based on Euripides's ancient Greek tragedy The Phoenician Women. It is directed by Oasis Sougaijam and produced by The Umbilical Theatre in Imphal, Kangleipak. It depicts the moral ambiguities of conflict between brothers resulting to the ruination of the ancient city of Thebes. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 18 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26366849 --> == Tech News: 2024-12 == <section begin="technews-2024-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/12|Translations]] are available. '''Recent changes''' * The notice "Language links are at the top of the page" that appears in the [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]] main menu has been removed now that users have learned the new location of the Language switcher. [https://phabricator.wikimedia.org/T353619] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/IP_Editing:_Privacy_Enhancement_and_Abuse_Mitigation/IP_Info_feature|IP info feature]] displays data from Spur, an IP addresses database. Previously, the only data source for this feature was MaxMind. Now, IP info is more useful for patrollers. [https://phabricator.wikimedia.org/T341395] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The Toolforge Grid Engine services have been shut down after the final migration process from Grid Engine to Kubernetes. [https://wikitech.wikimedia.org/wiki/Obsolete:Toolforge/Grid][https://wikitech.wikimedia.org/wiki/News/Toolforge_Grid_Engine_deprecation][https://techblog.wikimedia.org/2022/03/14/toolforge-and-grid-engine/] * Communities can now customize the default reasons for undeleting a page by creating [[MediaWiki:Undelete-comment-dropdown]]. [https://phabricator.wikimedia.org/T326746] '''Problems''' * [[m:Special:MyLanguage/WMDE_Technical_Wishes/RevisionSlider|RevisionSlider]] is an interface to interactively browse a page's history. Users in [[mw:Special:MyLanguage/Extension:RevisionSlider/Developing_a_RTL-accessible_feature_in_MediaWiki_-_what_we%27ve_learned_while_creating_the_RevisionSlider|right-to-left]] languages reported RevisionSlider reacting wrong to mouse clicks. This should be fixed now. [https://phabricator.wikimedia.org/T352169] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.23|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-19|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-20|en}}. It will be on all wikis from {{#time:j xg|2024-03-21|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * All wikis will be read-only for a few minutes on March 20. This is planned at [https://zonestamp.toolforge.org/1710943200 14:00 UTC]. [https://phabricator.wikimedia.org/T358233][https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/Server_switch] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:40, 18 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26410165 --> == Wikipedia translation of the week: 2024-13 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Magna Lykseth-Skogman]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Magna Lykseth in Tristan och Isolde at Kungliga Operan 1909 - SMV - GL164.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Magna Elvine Lykseth-Skogman''' (6 February 1874 – 13 November 1949), also known as Magna Lykseth-Schjerven, was a Norwegian-born Swedish operatic soprano. After making her début at the Royal Swedish Opera in 1901 as Santuzza in Cavalleria rusticana, she was engaged there until 1918 becoming the company's prima donna. She performed leading roles in a wide range of operas but is remembered in particular for her Wagnerian interpretations, creating Brünnhilde in the Swedish premières of Siegfried and Götterdämmerung, and Isolde in 1909. Considered to be one of the most outstanding Swedish opera singers of her generation, she was awarded the Litteris et Artibus medal in 1907 and became a member of the Royal Swedish Academy of Music in 1912 <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:00, 25 March 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26447450 --> == Tech News: 2024-13 == <section begin="technews-2024-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/13|Translations]] are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] An update was made on March 18th 2024 to how various projects load site, user JavaScript and CSS in [[mw:Special:MyLanguage/Skin:Vector/2022|Vector 2022 skin]]. A [[phab:T360384|checklist]] is provided for site admins to follow. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.24|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-03-26|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-03-27|en}}. It will be on all wikis from {{#time:j xg|2024-03-28|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:57, 25 March 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26446209 --> == Wikipedia translation of the week: 2024-14 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lidder Valley]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Pahalgam Valley.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Lidder Valley''' or Liddar Valley is a Himalayan sub-valley that forms the southeastern corner of Anantnag district in Indian-administered Kashmir. The Lidder River flows down the valley. The entrance to the valley lies 7 km northeast from Anantnag town and 62 km southeast from Srinagar, the summer capital of Jammu and Kashmir. It is a 40-km-long gorge valley with an average width of 3 km. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:15, 1 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26509189 --> == Tech News: 2024-14 == <section begin="technews-2024-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/14|Translations]] are available. '''Recent changes''' * Users of the [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading|reading accessibility]] beta feature will notice that the default line height for the standard and large text options has changed. [https://phabricator.wikimedia.org/T359030] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.25|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-02|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-03|en}}. It will be on all wikis from {{#time:j xg|2024-04-04|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * The Wikimedia Foundation has an annual plan. The annual plan decides what the Wikimedia Foundation will work on. You can now read [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs#Draft Key Results|the draft key results]] for the Product and Technology department. They are suggestions for what results the Foundation wants from big technical changes from July 2024 to June 2025. You can [[m:Talk:Wikimedia Foundation Annual Plan/2024-2025/Product & Technology OKRs|comment on the talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:36, 2 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26462933 --> == Wikipedia translation of the week: 2024-15 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Operation Kraai]]'''<br /> </div> Please be bold and help translate this article! ---- [[File:Overzicht van het vliegveld te Djokja vanuit de 'Control Tower', Bestanddeelnr 5128.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Operation Kraai''' (Operation Crow) was a Dutch military offensive against the de facto Republic of Indonesia in December 1948 after negotiations failed. With the advantage of surprise the Dutch managed to capture the Indonesian Republic's temporary capital, Yogyakarta, and seized Indonesian leaders such as de facto Republican President Sukarno. This apparent military success was however followed by guerrilla warfare, while the violation of the Renville Agreement ceasefire diplomatically isolated the Dutch, leading to the Dutch–Indonesian Round Table Conference and recognition of the United States of Indonesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:47, 8 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26550154 --> == Tech News: 2024-15 == <section begin="technews-2024-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/15|Translations]] are available. '''Recent changes''' * Web browsers can use tools called [[:w:en:Browser extension|extensions]]. There is now a Chrome extension called [[m:Future Audiences/Experiment:Citation Needed|Citation Needed]] which you can use to see if an online statement is supported by a Wikipedia article. This is a small experiment to see if Wikipedia can be used this way. Because it is a small experiment, it can only be used in Chrome in English. * [[File:Octicons-gift.svg|12px|link=|alt=|Wishlist item]] A new [[mw:Special:MyLanguage/Help:Edit Recovery|Edit Recovery]] feature has been added to all wikis, available as a [[Special:Preferences#mw-prefsection-editing|user preference]]. Once you enable it, your in-progress edits will be stored in your web browser, and if you accidentally close an editing window or your browser or computer crashes, you will be prompted to recover the unpublished text. Please leave any feedback on the [[m:Special:MyLanguage/Talk:Community Wishlist Survey 2023/Edit-recovery feature|project talk page]]. This was the #8 wish in the 2023 Community Wishlist Survey. * Initial results of [[mw:Special:MyLanguage/Edit check|Edit check]] experiments [[mw:Special:MyLanguage/Edit_check#4_April_2024|have been published]]. Edit Check is now deployed as a default feature at [[phab:T342930#9538364|the wikis that tested it]]. [[mw:Talk:Edit check|Let us know]] if you want your wiki to be part of the next deployment of Edit check. [https://phabricator.wikimedia.org/T342930][https://phabricator.wikimedia.org/T361727] * Readers using the [[mw:Special:MyLanguage/Skin:Minerva Neue|Minerva skin]] on mobile will notice there has been an improvement in the line height across all typography settings. [https://phabricator.wikimedia.org/T359029] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.42/wmf.26|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-09|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-10|en}}. It will be on all wikis from {{#time:j xg|2024-04-11|en}} ([[mw:MediaWiki 1.42/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * New accounts and logged-out users will get the [[mw:Special:MyLanguage/VisualEditor|visual editor]] as their default editor on mobile. This deployment is made at all wikis except for the English Wikipedia. [https://phabricator.wikimedia.org/T361134] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:38, 8 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-16 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Павильон Росси]]'''<br /> <small>''([[:en:Rossi Pavilion]])&#32;([[:fr:Pavillon Rossi]])''</small> </div> Please be bold and help translate this article! ---- [[File:Rossi's Pavilion in Mikhailovsky Garden. Saint-Petersburg. 1825..jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rossi Pavilion''' (Russian: Павильон Росси) is a pavilion on the bank of the Moyka River in the Mikhailovsky Garden in Saint Petersburg. It was designed by architect Carlo Rossi in the early 1820s and built in 1825 during his redevelopment of the garden. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:53, 15 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26565118 --> == Tech News: 2024-16 == <section begin="technews-2024-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/16|Translations]] are available. '''Problems''' * Between 2 April and 8 April, on wikis using [[mw:Special:MyLanguage/Extension:FlaggedRevs|Flagged Revisions]], the "{{Int:tag-mw-reverted}}" tag was not applied to undone edits. In addition, page moves, protections and imports were not autoreviewed. This problem is now fixed. [https://phabricator.wikimedia.org/T361918][https://phabricator.wikimedia.org/T361940] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.1|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-16|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-17|en}}. It will be on all wikis from {{#time:j xg|2024-04-18|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[mw:Special:MyLanguage/Help:Magic words#DEFAULTSORT|Default category sort keys]] will now affect categories added by templates placed in [[mw:Special:MyLanguage/Help:Cite|footnotes]]. Previously footnotes used the page title as the default sort key even if a different default sort key was specified (category-specific sort keys already worked). [https://phabricator.wikimedia.org/T40435] * A new variable <bdi lang="zxx" dir="ltr"><code>page_last_edit_age</code></bdi> will be added to [[Special:AbuseFilter|abuse filters]]. It tells how many seconds ago the last edit to a page was made. [https://phabricator.wikimedia.org/T269769] '''Future changes''' * Volunteer developers are kindly asked to update the code of their tools and features to handle [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]]. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Four database fields will be removed from database replicas (including [[quarry:|Quarry]]). This affects only the <bdi lang="zxx" dir="ltr"><code>abuse_filter</code></bdi> and <bdi lang="zxx" dir="ltr"><code>abuse_filter_history</code></bdi> tables. Some queries might need to be updated. [https://phabricator.wikimedia.org/T361996] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:29, 15 April 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26564838 --> == Wikipedia translation of the week: 2024-17 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Devorà Ascarelli]]'''<br /> <small>''([[:it:Debora Ascarelli]])&#32;([[:es:Devorà Ascarelli]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Devorà Ascarelli''' was a 16th-century Italian poet living in Rome, Italy. Ascarelli may have been the first Jewish woman to have a book of her own work published. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] 01:35, 22 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-17 == <section begin="technews-2024-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/17|Translations]] are available. '''Recent changes''' * Starting this week, newcomers editing Wikipedia [[mw:Special:MyLanguage/Growth/Positive reinforcement#Leveling up 3|will be encouraged]] to try structured tasks. [[mw:Special:MyLanguage/Growth/Feature summary#Newcomer tasks|Structured tasks]] have been shown to [[mw:Special:MyLanguage/Growth/Personalized first day/Structured tasks/Add a link/Experiment analysis, December 2021|improve newcomer activation and retention]]. [https://phabricator.wikimedia.org/T348086] * You can [[m:Special:MyLanguage/Coolest Tool Award|nominate your favorite tools]] for the fifth edition of the Coolest Tool Award. Nominations will be open until May 10. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.2|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-23|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-04-24|en}}. It will be on all wikis from {{#time:j xg|2024-04-25|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * This is the last warning that by the end of May 2024 the Vector 2022 skin will no longer share site and user scripts/styles with old Vector. For user-scripts that you want to keep using on Vector 2022, copy the contents of [[{{#special:MyPage}}/vector.js]] to [[{{#special:MyPage}}/vector-2022.js]]. There are [[mw:Special:MyLanguage/Reading/Web/Desktop Improvements/Features/Loading Vector 2010 scripts|more technical details]] available. Interface administrators who foresee this leading to lots of technical support questions may wish to send a mass message to your community, as was done on French Wikipedia. [https://phabricator.wikimedia.org/T362701] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:28, 22 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26647188 --> == Wikipedia translation of the week: 2024-18 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1989 Serbian general election]]'''<br /> <small>''([[:sr:Председнички избори у Србији 1989.]])&#32;([[:vi:Tổng tuyển cử Serbia 1989]])''</small></div> Please be bold and help translate this article! ---- [[File:Parliament of SR Serbia (1989–1991).svg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''General elections were held in Serbia''', a constituent federal unit of SFR Yugoslavia, on 12 November 1989 to elect the president of the presidency of the Socialist Republic of Serbia and delegates of the Assembly of SR Serbia. Voting for delegates also took place on 10 and 30 November 1989. In addition to the general elections, local elections were held simultaneously. These were the first direct elections conducted after the adoption of the 1974 Yugoslav Constitution and the delegate electoral system, and the last elections conducted under a one-party system. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:32, 29 April 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-18 == <section begin="technews-2024-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/18|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for the following wikis: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hiwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-rowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-thwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}. These wikis participated to a test, where 50% of users got the new design, for one year. As this test [[Mw:Special:MyLanguage/Talk pages project/Usability/Analysis|gave positive results]], the new design is deployed on these wikis as the default design. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at all wikis in the coming weeks. [https://phabricator.wikimedia.org/T341491] * Seven new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q33014|Betawi]] ([[w:bew:|<code>w:bew:</code>]]) [https://phabricator.wikimedia.org/T357866] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35708|Kusaal]] ([[w:kus:|<code>w:kus:</code>]]) [https://phabricator.wikimedia.org/T359757] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35513|Igala]] ([[w:igl:|<code>w:igl:</code>]]) [https://phabricator.wikimedia.org/T361644] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q33541|Karakalpak]] ([[wikt:kaa:|<code>wikt:kaa:</code>]]) [https://phabricator.wikimedia.org/T362135] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9228|Burmese]] ([[s:my:|<code>s:my:</code>]]) [https://phabricator.wikimedia.org/T361085] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q9237|Malay]] ([[s:ms:|<code>s:ms:</code>]]) [https://phabricator.wikimedia.org/T363039] ** a {{int:project-localized-name-group-wikisource}} in [[d:Q8108|Georgian]] ([[s:ka:|<code>s:ka:</code>]]) [https://phabricator.wikimedia.org/T363085] * You can now [https://translatewiki.net/wiki/Support#Early_access:_Watch_Message_Groups_on_Translatewiki.net watch message groups/projects] on [[m:Special:MyLanguage/translatewiki.net|Translatewiki.net]]. Initially, this feature will notify you of added or deleted messages in these groups. [https://phabricator.wikimedia.org/T348501] * Dark mode is now available on all wikis, on mobile web for logged-in users who opt into the [[Special:MobileOptions|advanced mode]]. This is the early release of the feature. Technical editors are invited to [https://night-mode-checker.wmcloud.org/ check for accessibility issues on wikis]. See [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|more detailed guidelines]]. '''Problems''' * [[mw:Special:MyLanguage/Help:Extension:Kartographer|Kartographer]] maps can use an alternative visual style without labels, by using <bdi lang="zxx" dir="ltr"><code><nowiki>mapstyle="osm"</nowiki></code></bdi>. This wasn't working in previews, creating the wrong impression that it wasn't supported. This has now been fixed. [https://phabricator.wikimedia.org/T362531] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.3|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-04-30|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-01|en}}. It will be on all wikis from {{#time:j xg|2024-05-02|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:34, 30 April 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26689057 --> == Wikipedia translation of the week: 2024-19 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:#DDDDDD; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heinrich Bünting]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Heinrich Bünting''' (1545 – 1606) was a Protestant pastor and theologian. He is best known for his book of woodcut maps titled Itinerarium Sacrae Scripturae (Travel book through Holy Scripture) first published in 1581. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:27, 6 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26624302 --> == Tech News: 2024-19 == <section begin="technews-2024-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/19|Translations]] are available. '''Recent changes''' [[File:Talk_pages_default_look_(April_2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages changed for all wikis, except for Commons, Wikidata and most Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/18|a few]] have already received this design change). You can read the detail of the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt-out these changes [[Special:Preferences#mw-prefsection-editing|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). The deployment will happen at remaining wikis in the coming weeks. [https://phabricator.wikimedia.org/T352087][https://phabricator.wikimedia.org/T319146] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Interface admins now have greater control over the styling of article components on mobile with the introduction of the <code>SiteAdminHelper</code>. More information on how styles can be disabled can be found [[mw:Special:MyLanguage/Extension:WikimediaMessages#Site_admin_helper|at the extension's page]]. [https://phabricator.wikimedia.org/T363932] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has added article body sections in JSON format and a curated short description field to the existing parsed Infobox. This expansion to the API is also available via Wikimedia Cloud Services. [https://enterprise.wikimedia.com/blog/article-sections-and-description/] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.4|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-07|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-08|en}}. It will be on all wikis from {{#time:j xg|2024-05-09|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you look at the Special:Log page, the first view is labelled "All public logs", but it only shows some logs. This label will now say "Main public logs". [https://phabricator.wikimedia.org/T237729] '''Future changes''' * A new service will be built to replace [[mw:Special:MyLanguage/Extension:Graph|Extension:Graph]]. Details can be found in [[mw:Special:MyLanguage/Extension:Graph/Plans|the latest update]] regarding this extension. * Starting May 21, English Wikipedia and German Wikipedia will get the possibility to activate "[[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]]". This is part of the [[phab:T304110|progressive deployment of this tool to all Wikipedias]]. These communities can [[mw:Special:MyLanguage/Growth/Community configuration|activate and configure the feature locally]]. [https://phabricator.wikimedia.org/T308144] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:45, 6 May 2024 (UTC) <!-- Message sent by User:Trizek (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26729363 --> == Wikipedia translation of the week: 2024-20 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background:var(--background-color-backdrop-dark, #DDDDDD); border:1px solid #BBBBBB; color:var(--color-inverted, #000000); padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ruyan (district)]]'''<br /> <small>''([[:fa:رویان (طبرستان)]])''</small> </div> Please be bold and help translate this article! ---- [[File:Northern Iran and its surroundings during the Iranian intermezzo.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Ruyan''' (Persian: رویان), later known as Rustamdar (رستمدار), was the name of a mountainous district that encompassed the western part of Tabaristan/Mazandaran, a region on the Caspian coast of northern Iran. In Iranian mythology, Ruyan appears as one of the places that the legendary archer Arash shot his arrow from, reaching the edge of Khorasan to mark the border between Iran and Turan. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:39, 13 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26755244 --> == Tech News: 2024-20 == <section begin="technews-2024-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/20|Translations]] are available. '''Recent changes''' * On Wikisource there is a special page listing pages of works without corresponding scan images. Now you can use the new magic word <bdi lang="zxx" dir="ltr"><code>__EXPECTWITHOUTSCANS__</code></bdi> to exclude certain pages (list of editions or translations of works) from that list. [https://phabricator.wikimedia.org/T344214] * If you use the [[Special:Preferences#mw-prefsection-editing|user-preference]] "{{int:tog-uselivepreview}}", then the template-page feature "{{int:Templatesandbox-editform-legend}}" will now also work without reloading the page. [https://phabricator.wikimedia.org/T136907] * [[mw:Special:Mylanguage/Extension:Kartographer|Kartographer]] maps can now specify an alternative text via the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute. This is identical in usage to the <bdi lang="zxx" dir="ltr"><code><nowiki>alt=</nowiki></code></bdi> attribute in the [[mw:Special:MyLanguage/Help:Images#Syntax|image and gallery syntax]]. An exception for this feature is wikis like Wikivoyage where the miniature maps are interactive. [https://phabricator.wikimedia.org/T328137] * The old [[mw:Special:MyLanguage/Extension:GuidedTour|Guided Tour]] for the "[[mw:Special:MyLanguage/Edit Review Improvements/New filters for edit review|New Filters for Edit Review]]" feature has been removed. It was created in 2017 to show people with older accounts how the interface had changed, and has now been seen by most of the intended people. [https://phabricator.wikimedia.org/T217451] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.5|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-14|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-15|en}}. It will be on all wikis from {{#time:j xg|2024-05-16|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The [[{{#special:search}}]] results page will now use CSS flex attributes, for better accessibility, instead of a table. If you have a gadget or script that adjusts search results, you should update your script to the new HTML structure. [https://phabricator.wikimedia.org/T320295] '''Future changes''' * In the Vector 2022 skin, main pages will be displayed at full width (like special pages). The goal is to keep the number of characters per line large enough. This is related to the coming changes to typography in Vector 2022. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates|Learn more]]. [https://phabricator.wikimedia.org/T357706] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Two columns of the <bdi lang="zxx" dir="ltr"><code>[[mw:Special:MyLanguage/Manual:pagelinks table|pagelinks]]</code></bdi> database table (<bdi lang="zxx" dir="ltr"><code>pl_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_title</code></bdi>) are being dropped soon. Users must use two columns of the new <bdi lang="zxx" dir="ltr"><code>[[mw:special:MyLanguage/Manual:linktarget table|linktarget]]</code></bdi> table instead (<bdi lang="zxx" dir="ltr"><code>lt_namespace</code></bdi> and <bdi lang="zxx" dir="ltr"><code>lt_title</code></bdi>). In your existing SQL queries: *# Replace <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks</code></bdi> with <bdi lang="zxx" dir="ltr"><code>JOIN linktarget</code></bdi> and <bdi lang="zxx" dir="ltr"><code>pl_</code></bdi> with <bdi lang="zxx" dir="ltr"><code>lt_</code></bdi> in the <bdi lang="zxx" dir="ltr"><code>ON</code></bdi> statement *# Below that add <bdi lang="zxx" dir="ltr"><code>JOIN pagelinks ON lt_id = pl_target_id</code></bdi> ** See <bdi lang="en" dir="ltr">[[phab:T222224]]</bdi> for technical reasoning. [https://phabricator.wikimedia.org/T222224][https://phabricator.wikimedia.org/T299947] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 13 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26762074 --> == Wikipedia translation of the week: 2024-21 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Turlough (lake)]]'''<br /> <small>''([[:de:Turlough]])&#32;([[:no:Turlough]])''</small> </div> Please be bold and help translate this article! ---- [[File:Carran Turlough.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''turlough''' is a seasonal or periodic water body found mostly in limestone karst areas of Ireland, west of the River Shannon. [...] The water bodies fill and empty with the changes in the level of the water table, usually being very low or empty during summer and autumn and full in the winter. As groundwater levels drop the water drains away underground through cracks in the karstic limestone. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:31, 20 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26789673 --> == Tech News: 2024-21 == <section begin="technews-2024-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/21|Translations]] are available. '''Recent changes''' * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, will now correctly delete pages which were moved to another title. [https://phabricator.wikimedia.org/T43351] * New changes have been made to the UploadWizard in Wikimedia Commons: the overall layout has been improved, by following new styling and spacing for the form and its fields; the headers and helper text for each of the fields was changed; the Caption field is now a required field, and there is an option for users to copy their caption into the media description. [https://commons.wikimedia.org/wiki/Commons:WMF_support_for_Commons/Upload_Wizard_Improvements#Changes_to_%22Describe%22_workflow][https://phabricator.wikimedia.org/T361049] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.6|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-21|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-22|en}}. It will be on all wikis from {{#time:j xg|2024-05-23|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading_HTML_changes|is being changed to improve accessibility]]. It will change on 22 May in some skins (Timeless, Modern, CologneBlue, Nostalgia, and Monobook). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in all other skins. The developers are also considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:04, 20 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26786311 --> == Wikipedia translation of the week: 2024-22 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Geiranger Church]]'''<br /> <small>''([[:no:Geiranger kirke]])''</small> </div> Please be bold and help translate this article! ---- [[File:Iglesia parroquial, Geiranger, Noruega, 2019-09-07, DD 84-97 PAN.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Geiranger Church''' (Norwegian: Geiranger kyrkje) is a parish church of the Church of Norway in Stranda Municipality in Møre og Romsdal county, Norway. It is located in the village of Geiranger, and the end of the famous Geirangerfjorden. It is the church for the Geiranger parish which is part of the Nordre Sunnmøre prosti (deanery) in the Diocese of Møre. The white, wooden church was built in an octagonal design in 1842 using plans drawn up by the architect Hans Klipe. The church seats about 165 people. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:48, 27 May 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-22 == <section begin="technews-2024-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/22|Translations]] are available. '''Recent changes''' * Several bugs related to the latest updates to the UploadWizard on Wikimedia Commons have been fixed. For more information, see [[:phab:T365107|T365107]] and [[:phab:T365119|T365119]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] In March 2024 a new [[mw:ResourceLoader/Core_modules#addPortlet|addPortlet]] API was added to allow gadgets to create new portlets (menus) in the skin. In certain skins this can be used to create dropdowns. Gadget developers are invited to try it and [[phab:T361661|give feedback]]. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Some CSS in the Minerva skin has been removed to enable easier community configuration. Interface editors should check the rendering on mobile devices for aspects related to the classes: <bdi lang="zxx" dir="ltr"><code>.collapsible</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.multicol</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.reflist</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.coordinates</code></bdi>{{int:comma-separator/en}}<bdi lang="zxx" dir="ltr"><code>.topicon</code></bdi>. [[phab:T361659|Further details are available on replacement CSS]] if it is needed. '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.7|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-05-28|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-05-29|en}}. It will be on all wikis from {{#time:j xg|2024-05-30|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * When you visit a wiki where you don't yet have a local account, local rules such as edit filters can sometimes prevent your account from being created. Starting this week, MediaWiki takes your global rights into account when evaluating whether you can override such local rules. [https://phabricator.wikimedia.org/T316303] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 28 May 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26832205 --> == Wikipedia translation of the week: 2024-23 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Guillermo Larrazábal]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Guillermo Larrazábal Arzubide''' (10 February 1907 – 1983) was a Spanish stained glass artist who was active in Ecuador. He is considered Ecuador's most important stained glass artist. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:14, 3 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26828106 --> == Tech News: 2024-23 == <section begin="technews-2024-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/23|Translations]] are available. '''Recent changes''' * It is now possible for local administrators to add new links to the bottom of the site Tools menu without JavaScript. [[mw:Manual:Interface/Sidebar#Add or remove toolbox sections|Documentation is available]]. [https://phabricator.wikimedia.org/T6086] * The message name for the definition of the tracking category of WikiHiero has changed from "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikhiero-usage-tracking-category</code></bdi>" to "<bdi lang="zxx" dir="ltr"><code>MediaWiki:Wikihiero-usage-tracking-category</code></bdi>". [https://gerrit.wikimedia.org/r/c/mediawiki/extensions/wikihiero/+/1035855] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q5317225|Kadazandusun]] ([[w:dtp:|<code>w:dtp:</code>]]) [https://phabricator.wikimedia.org/T365220] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.8|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-04|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-05|en}}. It will be on all wikis from {{#time:j xg|2024-06-06|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Future changes''' * Next week, on wikis with the Vector 2022 skin as the default, logged-out desktop users will be able to choose between different font sizes. The default font size will also be increased for them. This is to make Wikimedia projects easier to read. [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-06 deployments|Learn more]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:35, 3 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26844397 --> == Tech News: 2024-24 == <section begin="technews-2024-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/24|Translations]] are available. '''Recent changes''' * The software used to render SVG files has been updated to a new version, fixing many longstanding bugs in SVG rendering. [https://phabricator.wikimedia.org/T265549] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML used to render all headings [[mw:Heading HTML changes|is being changed to improve accessibility]]. It was changed last week in some skins (Vector legacy and Minerva). Please test gadgets on your wiki on these skins and [[phab:T13555|report any related problems]] so that they can be resolved before this change is made in Vector-2022. The developers are still considering the introduction of a [[phab:T337286|Gadget API for adding buttons to section titles]] if that would be helpful to tool creators, and would appreciate any input you have on that. * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The HTML markup used for citations by [[mw:Special:MyLanguage/Parsoid|Parsoid]] changed last week. In places where Parsoid previously added the <bdi lang="zxx" dir="ltr"><code>mw-reference-text</code></bdi> class, Parsoid now also adds the <bdi lang="zxx" dir="ltr"><code>reference-text</code></bdi> class for better compatibility with the legacy parser. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1036705] '''Problems''' * There was a bug with the Content Translation interface that caused the tools menus to appear in the wrong location. This has now been fixed. [https://phabricator.wikimedia.org/T366374] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.9|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-11|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-12|en}}. It will be on all wikis from {{#time:j xg|2024-06-13|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The new version of MediaWiki includes another change to the HTML markup used for citations: [[mw:Special:MyLanguage/Parsoid|Parsoid]] will now generate a <bdi lang="zxx" dir="ltr"><code><nowiki><span class="mw-cite-backlink"></nowiki></code></bdi> wrapper for both named and unnamed references for better compatibility with the legacy parser. Interface administrators should verify that gadgets that interact with citations are compatible with the new markup. [[mw:Specs/HTML/2.8.0/Extensions/Cite/Announcement|More details are available]]. [https://gerrit.wikimedia.org/r/1035809] * On multilingual wikis that use the <bdi lang="zxx" dir="ltr"><code><nowiki><translate></nowiki></code></bdi> system, there is a feature that shows potentially-outdated translations with a pink background until they are updated or confirmed. From this week, confirming translations will be logged, and there is a new user-right that can be required for confirming translations if the community [[m:Special:MyLanguage/Requesting wiki configuration changes|requests it]]. [https://phabricator.wikimedia.org/T49177] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:20, 10 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26893898 --> == Wikipedia translation of the week: 2024-25 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:de:Magdalena Zeger]]'''<br /> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Magdalena Zeger''' ([mak.da.ˈleː.na ˈt͡seː.gɐ], * 1491; † 16. January 1568 in Kolding) was a calendar maker, astronomer and astrologist. Her Hamburg almanacs and forecasts from 1561 and 1563 have been preserved. Zeger's calendars are the first independent publications by a woman in the field of astronomy. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:29, 17 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-25 == <section begin="technews-2024-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/25|Translations]] are available. '''Recent changes''' * People who attempt to add an external link in the visual editor will now receive immediate feedback if they attempt to link to a domain that a project has decided to block. Please see [[mw:Special:MyLanguage/Edit_check#11_June_2024|Edit check]] for more details. [https://phabricator.wikimedia.org/T366751] * The new [[mw:Special:MyLanguage/Extension:CommunityConfiguration|Community Configuration extension]] is available [[testwiki:Special:CommunityConfiguration|on Test Wikipedia]]. This extension allows communities to customize specific features to meet their local needs. Currently only Growth features are configurable, but the extension will support other [[mw:Special:MyLanguage/Community_configuration#Use_cases|Community Configuration use cases]] in the future. [https://phabricator.wikimedia.org/T323811][https://phabricator.wikimedia.org/T360954] * The dark mode [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] is now available on category and help pages, as well as more special pages. There may be contrast issues. Please report bugs on the [[mw:Talk:Reading/Web/Accessibility_for_reading|project talk page]]. [https://phabricator.wikimedia.org/T366370] '''Problems''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] Cloud Services tools were not available for 25 minutes last week. This was caused by a faulty hardware cable in the data center. [https://wikitech.wikimedia.org/wiki/Incidents/2024-06-11_WMCS_Ceph] * Last week, styling updates were made to the Vector 2022 skin. This caused unforeseen issues with templates, hatnotes, and images. Changes to templates and hatnotes were reverted. Most issues with images were fixed. If you still see any, [[phab:T367463|report them here]]. [https://phabricator.wikimedia.org/T367480] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.10|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-18|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-19|en}}. It will be on all wikis from {{#time:j xg|2024-06-20|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting June 18, the [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Edit Check]] will be deployed to [[phab:T361843|a new set of Wikipedias]]. This feature is intended to help newcomers and to assist edit-patrollers by inviting people who are adding new content to a Wikipedia article to add a citation when they do not do so themselves. During [[mw:Special:MyLanguage/Edit_check#Reference_Check_A/B_Test|a test at 11 wikis]], the number of citations added [https://diff.wikimedia.org/?p=127553 more than doubled] when Reference Check was shown to people. Reference Check is [[mw:Special:MyLanguage/Edit check/Configuration|community configurable]]. [https://phabricator.wikimedia.org/T361843]<!-- NOTE: THE DIFF BLOG WILL BE PUBLISHED ON MONDAY --> * [[m:Special:MyLanguage/Mailing_lists|Mailing lists]] will be unavailable for roughly two hours on Tuesday 10:00–12:00 UTC. This is to enable migration to a new server and upgrade its software. [https://phabricator.wikimedia.org/T367521] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:49, 17 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26911987 --> == Wikipedia translation of the week: 2024-26 == {| class="plainlinks mw-content-ltr" lang="en" dir="ltr" style="width:100%; margin:0; background: #f8f9fa; border:1px solid #BBBBBB; color:#000000; padding .4em;" |- |style="text-align:center;"| The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Koreans in Micronesia]]'''<br /> <small>''([[:zh:朝鮮裔密克羅尼西亞人]])''</small> </div> Please be bold and help translate this article! ---- <div style="text-align:left; padding: .4em;"> '''Koreans in Micronesia''' used to form a significant population before World War II, when most of the region was ruled as the South Seas Mandate of the Empire of Japan; for example, they formed 7.3% of the population of Palau in 1943. However, after the area came under the control of the United States as the Trust Territory of the Pacific Islands, most Koreans returned to their homeland. As of 2013, about seven thousand South Korean expatriates & immigrants and Korean Americans reside in the Marianas (Guam and the Commonwealth of the Northern Mariana Islands), which have remained under U.S. control, while only around two hundred South Korean expatriates reside in the independent countries of Micronesia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 04:03, 24 June 2024 (UTC)'' </div> |} <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=26940351 --> == Tech News: 2024-26 == <section begin="technews-2024-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/26|Translations]] are available. '''Recent changes''' * Editors will notice that there have been some changes to the background color of text in the diff view, and the color of the byte-change numbers, last week. These changes are intended to make text more readable in both light mode and dark mode, and are part of a larger effort to increase accessibility. You can share your comments or questions [[mw:Talk:Reading/Web/Accessibility for reading|on the project talkpage]]. [https://phabricator.wikimedia.org/T361717] * The text colors that are used for visited-links, hovered-links, and active-links, were also slightly changed last week to improve their accessibility in both light mode and dark mode. [https://phabricator.wikimedia.org/T366515] '''Problems''' * You can [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|copy permanent links to talk page comments]] by clicking on a comment's timestamp. [[mw:Talk pages project/Permalinks|This feature]] did not always work when the topic title was very long and the link was used as a wikitext link. This has been fixed. Thanks to Lofhi for submitting the bug. [https://phabricator.wikimedia.org/T356196] '''Changes later this week''' * [[File:Octicons-sync.svg|12px|link=|alt=|Recurrent item]] The [[mw:MediaWiki 1.43/wmf.11|new version]] of MediaWiki will be on test wikis and MediaWiki.org from {{#time:j xg|2024-06-25|en}}. It will be on non-Wikipedia wikis and some Wikipedias from {{#time:j xg|2024-06-26|en}}. It will be on all wikis from {{#time:j xg|2024-06-27|en}} ([[mw:MediaWiki 1.43/Roadmap|calendar]]). [https://wikitech.wikimedia.org/wiki/Deployments/Train][https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] * Starting 26 June, all talk pages messages' timestamps will become a link at English Wikipedia, making this feature available for you to use at all wikis. This link is a permanent link to the comment. It allows users to find the comment they were linked to, even if this comment has since been moved elsewhere. You can read more about this feature [[DiffBlog:/2024/01/29/talk-page-permalinks-dont-lose-your-threads/|on Diff]] or [[mw:Special:MyLanguage/Help:DiscussionTools#Talk pages permalinking|on Mediawiki.org]]. [https://phabricator.wikimedia.org/T365974] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:33, 24 June 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=26989424 --> == Wikipedia translation of the week: 2024-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Roller printing on textiles]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Silverstudio.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Roller printing''' on fabrics is a textile printing process patented by Thomas Bell of Scotland in 1783 in an attempt to reduce the cost of the earlier copperplate printing. This method was used in Lancashire fabric mills to produce cotton dress fabrics from the 1790s, most often reproducing small monochrome patterns characterized by striped motifs and tiny dotted patterns called "machine grounds". Improvements in the technology resulted in more elaborate roller prints in bright, rich colours from the 1820s; Turkey red and chrome yellow were particularly popular. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:44, 1 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-27 == <section begin="technews-2024-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/27|Translations]] are available. '''Recent changes''' * Over the next three weeks, dark mode will become available for all users, both logged-in and logged-out, starting with the mobile web version. This fulfils one of the [[m:Special:MyLanguage/Community_Wishlist_Survey_2023/Reading/Dark_mode|top-requested community wishes]], and improves low-contrast reading and usage in low-light settings. As part of these changes, dark mode will also work on User-pages and Portals. There is more information in [[mw:Special:MyLanguage/Reading/Web/Accessibility_for_reading/Updates#June_2024:_Typography_and_dark_mode_deployments,_new_global_preferences|the latest Web team update]]. [https://phabricator.wikimedia.org/T366364] * Logged-in users can now set [[m:Special:GlobalPreferences#mw-prefsection-rendering-skin-skin-prefs|global preferences for the text-size and dark-mode]], thanks to a combined effort across Foundation teams. This allows Wikimedians using multiple wikis to set up a consistent reading experience easily, for example by switching between light and dark mode only once for all wikis. [https://phabricator.wikimedia.org/T341278] * If you use a very old web browser some features might not work on the Wikimedia wikis. This affects Internet Explorer 11 and versions of Chrome, Firefox and Safari older than 2016. This change makes it possible to use new [[d:Q46441|CSS]] features and to send less code to all readers. [https://phabricator.wikimedia.org/T288287][https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:How_to_make_a_MediaWiki_skin#Using_CSS_variables_for_supporting_different_themes_e.g._dark_mode] * Wikipedia Admins can customize local wiki configuration options easily using [[mw:Special:MyLanguage/Community Configuration|Community Configuration]]. Community Configuration was created to allow communities to customize how some features work, because each language wiki has unique needs. At the moment, admins can configure [[mw:Special:MyLanguage/Growth/Feature_summary|Growth features]] on their home wikis, in order to better recruit and retain new editors. More options will be provided in the coming months. [https://phabricator.wikimedia.org/T366458] * Editors interested in language issues that are related to [[w:en:Unicode|Unicode standards]], can now discuss those topics at [[mw:Talk:WMF membership with Unicode Consortium|a new conversation space in MediaWiki.org]]. The Wikimedia Foundation is now a [[mw:Special:MyLanguage/WMF membership with Unicode Consortium|member of the Unicode Consortium]], and the coordination group can collaboratively review the issues discussed and, where appropriate, bring them to the attention of the Unicode Consortium. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2891049|Mandailing]] ([[w:btm:|<code>w:btm:</code>]]) [https://phabricator.wikimedia.org/T368038] '''Problems''' * Editors can once again click on links within the visual editor's citation-preview, thanks to a bug fix by the Editing Team. [https://phabricator.wikimedia.org/T368119] '''Future changes''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 2 weeks. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:59, 1 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27038456 --> == Wikipedia translation of the week: 2024-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:simple:India naming dispute]]'''<br /> <small>''([[:ur:انڈیا نام کا تنازعہ]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''India naming dispute''' in 1947 refers to the argument over the use of the name India during and after the partition of British Raj, between the countries of Pakistan and the Republic of India. This dispute involved key figures such as Lord Mountbatten, the last Viceroy of British Raj, and Muhammad Ali Jinnah, the leader of the Muslim League and a founder of Pakistan. By 1947, the British Raj was going to be divided into two new nation states – Hindustan and Pakistan. Jinnah was initially convinced that Hindustan would not use the term India, since it lacked indigenous pedigree, etymologically and historically India meant the Indus Valley (modern-Pakistan). He also opposed the use of the name India as it would cause confusion regarding history. The disagreement had significant implications for national identity and international recognition. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 8 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-28 == <section begin="technews-2024-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/28|Translations]] are available. '''Recent changes''' * At the Wikimedia Foundation a new task force was formed to replace the disabled Graph with [[mw:Special:MyLanguage/Extension:Chart/Project|more secure, easy to use, and extensible Chart]]. You can [[mw:Special:MyLanguage/Newsletter:Chart Project|subscribe to the newsletter]] to get notified about new project updates and other news about Chart. * The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents]] extension is now available on Meta-wiki, Igbo Wikipedia, and Swahili Wikipedia, and can be requested on your wiki. This extension helps in managing and making events more visible, giving Event organizers the ability to use tools like the Event registration tool. To learn more about the deployment status and how to request this extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment_status|CampaignEvents page on Meta-wiki]]. * Editors using the iOS Wikipedia app who have more than 50 edits can now use the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits#Add an image|Add an Image]] feature. This feature presents opportunities for small but useful contributions to Wikipedia. * Thank you to [[mw:MediaWiki Product Insights/Contributor retention and growth/Celebration|all of the authors]] who have contributed to MediaWiki Core. As a result of these contributions, the [[mw:MediaWiki Product Insights/Contributor retention and growth|percentage of authors contributing more than 5 patches has increased by 25% since last year]], which helps ensure the sustainability of the platform for the Wikimedia projects. '''Problems''' * A problem with the color of the talkpage tabs always showing as blue, even for non-existent pages which should have been red, affecting the Vector 2022 skin, [[phab:T367982|has been fixed]]. '''Future changes''' * The Trust and Safety Product team wants to introduce [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] with as little disruption to tools and workflows as possible. Volunteer developers, including gadget and user-script maintainers, are kindly asked to update the code of their tools and features to handle temporary accounts. The team has [[mw:Trust and Safety Product/Temporary Accounts/For developers|created documentation]] explaining how to do the update. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers/2024-04 CTA|Learn more]]. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 1 more week. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:32, 8 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27080357 --> == Wikipedia translation of the week: 2024-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Adumu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Maasai 2012 05 31 2782 (7522645058).jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Adumu''', is a type of dance that the Maasai people of Kenya and Tanzania practice. Young Maasai warriors generally perform the energetic and acrobatic dance at ceremonial occasions including weddings, religious rites, and other significant cultural events. The Adumu dance is characterized by a sequence of jumps performed by the dancers, who stand in a circle and alternately jump while keeping their bodies as straight and upright as possible. In addition to wearing vividly colored shúkàs (clothes) and beaded jewelry, the dancers are typically clad in traditional Maasai costume. Traditional Maasai songs and chants are also performed during the dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:15, 15 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-29 == <section begin="technews-2024-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/29|Translations]] are available. '''Tech News survey''' * Please [https://wikimediafoundation.limesurvey.net/758713?lang=en help us to improve Tech News by taking this short survey]. The goal is to better meet the needs of the various types of people who read Tech News. The survey will be open for 3 more days. The survey is covered by [https://foundation.wikimedia.org/wiki/Legal:Tech_News_Survey_2024_Privacy_Statement this privacy statement]. Some translations are available. '''Recent changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia developers can now officially continue to use both [[mw:Special:MyLanguage/Gerrit|Gerrit]] and [[mw:Special:MyLanguage/GitLab|GitLab]], due to a June 24 decision by the Wikimedia Foundation to support software development on both platforms. Gerrit and GitLab are both code repositories used by developers to write, review, and deploy the software code that supports the MediaWiki software that the wiki projects are built on, as well as the tools used by editors to create and improve content. This decision will safeguard the productivity of our developers and prevent problems in code review from affecting our users. More details are available in the [[mw:GitLab/Migration status|Migration status]] page. * The Wikimedia Foundation seeks applicants for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product and Technology Advisory Council]] (PTAC). This group will bring technical contributors and Wikimedia Foundation together to co-define a more resilient, future-proof technological platform. Council members will evaluate and consult on the movement's product and technical activities, so that we develop multi-generational projects. We are looking for a range of technical contributors across the globe, from a variety of Wikimedia projects. [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal#Joining the PTAC as a technical volunteer|Please apply here by August 10]]. * Editors with rollback user-rights who use the Wikipedia App for Android can use the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Anti Vandalism|Edit Patrol]] features. These features include a new feed of Recent Changes, related links such as Undo and Rollback, and the ability to create and save a personal library of user talk messages to use while patrolling. If your wiki wants to make these features available to users who do not have rollback rights but have reached a certain edit threshold, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android#Contact us|you can contact the team]]. You can [[diffblog:2024/07/10/ِaddressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/|read more about this project on Diff blog]]. * Editors who have access to [[m:Special:MyLanguage/The_Wikipedia_Library|The Wikipedia Library]] can once again use non-open access content in SpringerLinks, after the Foundation [[phab:T368865|contacted]] them to restore access. You can read more about [[m:Tech/News/Recently_resolved_community_tasks|this and 21 other community-submitted tasks that were completed last week]]. '''Changes later this week''' * This week, [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-07 deployments|dark mode will be available on a number of Wikipedias]], both desktop and mobile, for logged-in and logged-out users. Interface admins and user script maintainers are encouraged to check gadgets and user scripts in the dark mode, to find any hard-coded colors and fix them. There are some [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations for dark mode compatibility]] to help. '''Future changes''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Next week, functionaries, volunteers maintaining tools, and software development teams are invited to test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on testwiki. Temporary accounts is a feature that will help improve privacy on the wikis. No further temporary account deployments are scheduled yet. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. [https://phabricator.wikimedia.org/T348895] * Editors who upload files cross-wiki, or teach other people how to do so, may wish to join a Wikimedia Commons discussion. The Commons community is discussing limiting who can upload files through the cross-wiki upload/Upload dialog feature to users auto-confirmed on Wikimedia Commons. This is due to the large amount of copyright violations uploaded this way. There is a short summary at [[c:Special:MyLanguage/Commons:Cross-wiki upload|Commons:Cross-wiki upload]] and [[c:Commons:Village pump/Proposals#Deactivate cross-wiki uploads for new users|discussion at Commons:Village Pump]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:31, 16 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27124561 --> == Wikipedia translation of the week: 2024-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Rathaus-Glockenspiel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:2019-11-16, Glockenspiel, Neues Münchner Rathaus, IMG 7463 edit Christoph Braun.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Rathaus-Glockenspiel''' is a large mechanical clock located in Marienplatz Square, in the heart of Munich, Germany. Famous for its life-size characters, the clock twice daily re-enacts scenes from Munich's history. First is the story of the marriage of Duke Wilhelm V to Renata of Lorraine in 1568, followed by the story of the Schäfflerstanz, also known as the coopers' dance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 22 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27031540 --> == Tech News: 2024-30 == <section begin="technews-2024-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/30|Translations]] are available. '''Feature News''' * Stewards can now [[:m:Special:MyLanguage/Global_blocks|globally block]] accounts. Before [[phab:T17294|the change]] only IP addresses and IP ranges could be blocked globally. Global account blocks are useful when the blocked user should not be logged out. [[:m:Special:MyLanguage/Global_locks|Global locks]] (a similar tool logging the user out of their account) are unaffected by this change. The new global account block feature is related to the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project, which is a new type of user account that replaces IP addresses of unregistered editors that are no longer made public. * Later this week, Wikimedia site users will notice that the Interface of [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") is improved and consistent with the rest of the MediaWiki interface and [[mw:Special:MyLanguage/Codex|Wikimedia's design system]]. The FlaggedRevs interface experience on mobile and [[mw:Special:MyLanguage/Skin:MinervaNeue|Minerva skin]] was inconsistent before it was fixed and ported to [[mw:Special:MyLanguage/Codex|Codex]] by the WMF Growth team and some volunteers. [https://phabricator.wikimedia.org/T191156] * Wikimedia site users can now submit account vanishing requests via [[m:Special:GlobalVanishRequest|GlobalVanishRequest]]. This feature is used when a contributor wishes to stop editing forever. It helps you hide your past association and edit to protect your privacy. Once processed, the account will be locked and renamed. [https://phabricator.wikimedia.org/T367329] * Have you tried monitoring and addressing vandalism in Wikipedia using your phone? [https://diff.wikimedia.org/2024/07/10/%d9%90addressing-vandalism-with-a-tap-the-journey-of-introducing-the-patrolling-feature-in-the-mobile-app/ A Diff blog post on Patrolling features in the Mobile App] highlights some of the new capabilities of the feature, including swiping through a feed of recent changes and a personal library of user talk messages for use when patrolling from your phone. * Wikimedia contributors and GLAM (galleries, libraries, archives, and museums) organisations can now learn and measure the impact Wikimedia Commons is having towards creating quality encyclopedic content using the [https://doc.wikimedia.org/generated-data-platform/aqs/analytics-api/reference/commons.html Commons Impact Metrics] analytics dashboard. The dashboard offers organizations analytics on things like monthly edits in a category, the most viewed files, and which Wikimedia articles are using Commons images. As a result of these new data dumps, GLAM organisation can more reliably measure their return on investment for programs bringing content into the digital Commons. [https://diff.wikimedia.org/2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/] '''Project Updates''' * Come share your ideas for improving the wikis on the newly reopened [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]]. The Community Wishlist is Wikimedia’s forum for volunteers to share ideas (called wishes) to improve how the wikis work. The new version of the wishlist is always open, works with both wikitext and Visual Editor, and allows wishes in any language. '''Learn more''' * Have you ever wondered how Wikimedia software works across over 300 languages? This is 253 languages more than the Google Chrome interface, and it's no accident. The Language and Product Localization Team at the Wikimedia Foundation supports your work by adapting all the tools and interfaces in the MediaWiki software so that contributors in our movement who translate pages and strings can translate them and have the sites in all languages. Read more about the team and their upcoming work on [https://diff.wikimedia.org/2024/07/17/building-towards-a-robust-multilingual-knowledge-ecosystem-for-the-wikimedia-movement/ Diff]. * How can Wikimedia build innovative and experimental products while maintaining such heavily used websites? A recent [https://diff.wikimedia.org/2024/07/09/on-the-value-of-experimentation/ blog post] by WMF staff Johan Jönsson highlights the work of the [[m:Future Audiences#Objectives and Key Results|WMF Future Audience initiative]], where the goal is not to build polished products but test out new ideas, such as a [[m:Future_Audiences/Experiments: conversational/generative AI|ChatGPT plugin]] and [[m:Future_Audiences/Experiment:Add a Fact|Add a Fact]], to help take Wikimedia into the future. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' You can also get other news from the [[m:Special:MyLanguage/Wikimedia Foundation Bulletin|Wikimedia Foundation Bulletin]]. </div><section end="technews-2024-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:05, 23 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27142915 --> == Wikipedia translation of the week: 2024-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Nederlandsche Cocaïnefabriek]]'''<br /> <small>''([[:es:Nederlandsche Cocaïnefabriek]])&#32;([[:nl:Nederlandsche Cocaïnefabriek]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Nederlandsche Cocainefabriek Schinkelstraat Amsterdam architect HH Baanders 1902.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Nederlandsche Cocaïnefabriek''' (Dutch pronunciation: [ˈneːdərlɑntsə koːkaːˈinəfaːˌbrik]; English: Dutch Cocaine Factory) or NCF was an Amsterdam-based company producing cocaine for medical purposes in the 20th century. It imported its raw materials mainly from the Dutch East Indies and sold its products across Europe, making good profits especially in the early years of World War I. The NCF produced morphine, heroin and ephedrine as well. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:44, 29 July 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-31 == <section begin="technews-2024-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/31|Translations]] are available. '''Feature news''' * Editors using the Visual Editor in languages that use non-Latin characters for numbers, such as Hindi, Manipuri and Eastern Arabic, may notice some changes in the formatting of reference numbers. This is a side effect of preparing a new sub-referencing feature, and will also allow fixing some general numbering issues in Visual Editor. If you notice any related problems on your wiki, please share details at the [[m:Talk:WMDE Technical Wishes/Sub-referencing|project talkpage]]. '''Bugs status''' * Some logged-in editors were briefly unable to edit or load pages last week. [[phab:T370304|These errors]] were mainly due to the addition of new [[mw:Special:MyLanguage/Help:Extension:Linter|linter]] rules which led to caching problems. Fixes have been applied and investigations are continuing. * Editors can use the [[mw:Special:MyLanguage/Trust and Safety Product/IP Info|IP Information tool]] to get information about IP addresses. This tool is available as a Beta Feature in your preferences. The tool was not available for a few days last week, but is now working again. Thank you to Shizhao for filing the bug report. You can read about that, and [[m:Tech/News/Recently resolved community tasks#2024-07-25|28 other community-submitted tasks]] that were resolved last week. '''Project updates''' * There are new features and improvements to Phabricator from the Release Engineering and Collaboration Services teams, and some volunteers, including: the search systems, the new task creation system, the login systems, the translation setup which has resulted in support for more languages (thanks to Pppery), and fixes for many edge-case errors. You can [[phab:phame/post/view/316/iterative_improvements/|read details about these and other improvements in this summary]]. * There is an [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|update on the Charts project]]. The team has decided which visualization library to use, which chart types to start focusing on, and where to store chart definitions. * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9056|Czech]] ([[voy:cs:|<code>voy:cs:</code>]]) [https://phabricator.wikimedia.org/T370905] '''Learn more''' * There is a [[diffblog:2024/07/26/the-journey-to-open-our-first-data-center-in-south-america/|new Wikimedia Foundation data center]] in São Paulo, Brazil which helps to reduce load times. * There is new [[diffblog:2024/07/22/the-perplexing-process-of-uploading-images-to-wikipedia/|user research]] on problems with the process of uploading images. * Commons Impact Metrics are [[diffblog:2024/07/19/commons-impact-metrics-now-available-via-data-dumps-and-api/|now available]] via data dumps and API. * The latest quarterly [[mw:Technical Community Newsletter/2024/July|Technical Community Newsletter]] is now available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:11, 29 July 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27164109 --> == Wikipedia translation of the week: 2024-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Suffrage drama]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pamphlet from NAWSA for women's suffrage plays, page 1.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Suffrage drama''' (also known as suffrage plays or suffrage theatre) is a form of dramatic literature that emerged during the British women's suffrage movement in the early twentieth century. Suffrage performances lasted approximately from 1907-1914. Many suffrage plays called for a predominant or all female cast. Suffrage plays served to reveal issues behind the suffrage movement. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 5 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27150339 --> == Tech News: 2024-32 == <section begin="technews-2024-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/32|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Two new parser functions will be available this week: <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#dir|#dir]]<nowiki>}}</nowiki></code> and <code><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic_words#bcp47|#bcp47]]<nowiki>}}</nowiki></code>. These will reduce the need for <code>Template:Dir</code> and <code>Template:BCP47</code> on Commons and allow us to [[phab:T343131|drop 100 million rows]] from the "what links here" database. Editors at any wiki that use these templates, can help by replacing the templates with these new functions. The templates at Commons will be updated during the Hackathon at Wikimania. [https://phabricator.wikimedia.org/T359761][https://phabricator.wikimedia.org/T366623] * Communities can request the activation of the visual editor on entire namespaces where discussions sometimes happen (for instance ''Wikipedia:'' or ''Wikisource:'' namespaces) if they understand the [[mw:Special:MyLanguage/Help:VisualEditor/FAQ#WPNS|known limitations]]. For discussions, users can already use [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]] in these namespaces. * The tracking category "Pages using Timeline" has been renamed to "Pages using the EasyTimeline extension" [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3ATimeline-tracking-category&namespace=8 in TranslateWiki]. Wikis that have created the category locally should rename their local creation to match. '''Project updates''' * Editors who help to organize WikiProjects and similar on-wiki collaborations, are invited to share ideas and examples of successful collaborations with the Campaigns and Programs teams. You can fill out [[m:Special:MyLanguage/Campaigns/WikiProjects|a brief survey]] or share your thoughts [[m:Talk:Campaigns/WikiProjects|on the talkpage]]. The teams are particularly looking for details about successful collaborations on non-English wikis. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The new parser is being rolled out on {{int:project-localized-name-group-wikivoyage}} wikis over the next few months. The {{int:project-localized-name-enwikivoyage}} and {{int:project-localized-name-hewikivoyage}} were [[phab:T365367|switched]] to Parsoid last week. For more information, see [[mw:Parsoid/Parser_Unification|Parsoid/Parser Unification]]. '''Learn more''' * There will be more than 200 sessions at Wikimania this week. Here is a summary of some of the [[diffblog:2024/08/05/interested-in-product-and-tech-here-are-some-wikimania-sessions-you-dont-want-to-miss/|key sessions related to the product and technology area]]. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/07-02|Wikimedia Foundation Bulletin]] is available. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/July|Language and Internationalization newsletter]] is available. It includes: New design previews for Translatable pages; Updates about MinT for Wiki Readers; the release of Translation dumps; and more. * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/31|Growth newsletter]] is available. * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/July 2024|MediaWiki Product Insights newsletter]] is available. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 5 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27233905 --> == Wikipedia translation of the week: 2024-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Karatgurk]]'''<br /> <small>''([[:it:Karatgurk]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the Australian Aboriginal mythology of the Aboriginal people of south-eastern Australian state of Victoria, the '''Karatgurk''' were seven sisters who represented the constellation known in western astronomy as the Pleiades. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]] --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 12 August 2024 (UTC)'' </div> </div> <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27264174 --> == Tech News: 2024-33 == <section begin="technews-2024-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/33|Translations]] are available. '''Feature news''' * [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilter]] editors and maintainers can now [[mw:Special:MyLanguage/Extension:AbuseFilter/Actions#Show a CAPTCHA|make a CAPTCHA show if a filter matches an edit]]. This allows communities to quickly respond to spamming by automated bots. [https://phabricator.wikimedia.org/T20110] * [[m:Special:MyLanguage/Stewards|Stewards]] can now specify if global blocks should prevent account creation. Before [[phab:T17273|this change]] by the [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product]] Team, all global blocks would prevent account creation. This will allow stewards to reduce the unintended side-effects of global blocks on IP addresses. '''Project updates''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#August_2024_committee_nominations|Nominations are open on Wikitech]] for new members to refresh the [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]]. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open until at least 2024-08-26. * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q2880037|West Coast Bajau]] ([[w:bdr:|<code>w:bdr:</code>]]) [https://phabricator.wikimedia.org/T371757] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:22, 12 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27253654 --> == Wikipedia translation of the week: 2024-34 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:B1 (classification)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''B1''' is a medical-based Paralympic classification for blind sport. Athletes in this classification are totally or almost totally blind. It is used by a number of blind sports including blind tennis, para-alpine skiing, para-Nordic skiing, blind cricket, blind golf, five-a-side football, goalball and judo. Some other sports, including adaptive rowing, athletics and swimming, have equivalents to this class. The B1 classification was first created by the IBSA in the 1970s, and has largely remained unchanged since despite an effort by the International Paralympic Committee (IPC) to move towards a more functional and evidence-based classification system. Classification is often handled on the international level by the International Blind Sports Federation (IBSA) but it sometimes handled by national sport federations. There are exceptions for sports like athletics and cycling, where classification is handled by their own governing bodies. Equipment utilized by competitors in this class may differ from sport to sport, and may include sighted guides, guide rails, beeping balls and clapsticks. There may be some modifications related to equipment and rules to specifically address needs of competitors in this class to allow them to compete in specific sports. Some sports specifically do not allow a guide, whereas cycling and skiing require one. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 19 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27278917 --> == Tech News: 2024-34 == <section begin="technews-2024-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/34|Translations]] are available. '''Feature news''' * Editors who want to re-use references but with different details such as page numbers, will be able to do so by the end of 2024, using a new [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Sub-referencing in a nutshell|sub-referencing]] feature. You can read more [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|about the project]] and [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#Test|how to test the prototype]]. * Editors using tracking categories to identify which pages use specific extensions may notice that six of the categories have been renamed to make them more easily understood and consistent. These categories are automatically added to pages that use specialized MediaWiki extensions. The affected names are for: [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aintersection-category&namespace=8 DynamicPageList], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Akartographer-tracking-category&namespace=8 Kartographer], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Aphonos-tracking-category&namespace=8 Phonos], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Arss-tracking-category&namespace=8 RSS], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Ascore-use-category&namespace=8 Score], [https://translatewiki.net/wiki/Special:Translations?message=MediaWiki%3Awikihiero-usage-tracking-category&namespace=8 WikiHiero]. Wikis that have created the category locally should rename their local creation to match. Thanks to Pppery for these improvements. [https://phabricator.wikimedia.org/T347324] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Technical volunteers who edit modules and want to get a list of the categories used on a page, can now do so using the <code><bdi lang="zxx" dir="ltr">categories</bdi></code> property of <code><bdi lang="zxx" dir="ltr">[[mediawikiwiki:Special:MyLanguage/Extension:Scribunto/Lua reference manual#Title objects|mw.title objects]]</bdi></code>. This enables wikis to configure workflows such as category-specific edit notices. Thanks to SD001 for these improvements. [https://phabricator.wikimedia.org/T50175][https://phabricator.wikimedia.org/T85372] '''Bugs status''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Your help is needed to check if any pages need to be moved or deleted. A maintenance script was run to clean up unreachable pages (due to Unicode issues or introduction of new namespaces/namespace aliases). The script tried to find appropriate names for the pages (e.g. by following the Unicode changes or by moving pages whose titles on Wikipedia start with <code>Talk:WP:</code> so that their titles start with <code>Wikipedia talk:</code>), but it may have failed for some pages, and moved them to <bdi lang="zxx" dir="ltr">[[Special:PrefixIndex/T195546/]]</bdi> instead. Your community should check if any pages are listed there, and move them to the correct titles, or delete them if they are no longer needed. A full log (including pages for which appropriate names could be found) is available in [[phab:P67388]]. * Editors who volunteer as [[mw:Special:MyLanguage/Help:Growth/Mentorship|mentors]] to newcomers on their wiki are once again able to access lists of potential mentees who they can connect with to offer help and guidance. This functionality was restored thanks to [[phab:T372164|a bug fix]]. Thank you to Mbch331 for filing the bug report. You can read about that, and 18 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * The application deadline for the [[m:Special:MyLanguage/Product and Technology Advisory Council/Proposal|Product & Technology Advisory Council]] (PTAC) has been extended to September 16. Members will help by providing advice to Foundation Product and Technology leadership on short and long term plans, on complex strategic problems, and help to get feedback from more contributors and technical communities. Selected members should expect to spend roughly 5 hours per month for the Council, during the one year pilot. Please consider applying, and spread the word to volunteers you think would make a positive contribution to the committee. '''Learn more''' * The [[m:Special:MyLanguage/Coolest Tool Award#2024 Winners|2024 Coolest Tool Awards]] were awarded at Wikimania, in seven categories. For example, one award went to the ISA Tool, used for adding structured data to files on Commons, which was recently improved during the [[m:Event:Wiki Mentor Africa ISA Hackathon 2024|Wiki Mentor Africa Hackathon]]. You can see video demonstrations of each tool at the awards page. Congratulations to this year's recipients, and thank you to all tool creators and maintainers. * The latest [[m:Special:MyLanguage/Wikimedia Foundation Bulletin/2024/08-01|Wikimedia Foundation Bulletin]] is available, and includes some highlights from Wikimania, an upcoming Language community meeting, and other news from the movement. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:54, 20 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27307284 --> == Wikipedia translation of the week: 2024-35 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Erzi (village)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Caucasus, Ingushetia, Ингушские боевые и смотровые башни, горы Кавказа.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Erzi''' (Russian: Эрзи; Ingush: Аьрзи, romanized: Ärzi, lit. 'Eagle') is a medieval village (aul) in the Dzheyrakhsky District of Ingushetia. It is part of the rural settlement (administrative center) of Olgeti. The entire territory of the settlement is included in the Dzheyrakh-Assa State Historical-Architectural and Natural Museum-Reserve and is under state protection. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:19, 26 August 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27345183 --> == Tech News: 2024-35 == <section begin="technews-2024-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/35|Translations]] are available. '''Feature news''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Administrators can now test the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] feature on test2wiki. This was done to allow cross-wiki testing of temporary accounts, for when temporary accounts switch between projects. The feature was enabled on testwiki a few weeks ago. No further temporary account deployments are scheduled yet. Temporary Accounts is a project to create a new type of user account that replaces IP addresses of unregistered editors which are no longer made public. Please [[mw:Talk:Trust and Safety Product/Temporary Accounts|share your opinions and questions on the project talk page]]. * Later this week, editors at wikis that use [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs]] (also known as "Pending Changes") may notice that the indicators at the top of articles have changed. This change makes the system more consistent with the rest of the MediaWiki interface. [https://phabricator.wikimedia.org/T191156] '''Bugs status''' * Editors who use the 2010 wikitext editor, and use the Character Insert buttons, will [[phab:T361465|no longer]] experience problems with the buttons adding content into the edit-summary instead of the edit-window. You can read more about that, and 26 other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Project updates''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Please review and vote on [[m:Special:MyLanguage/Community Wishlist/Focus areas|Focus Areas]], which are groups of wishes that share a problem. Focus Areas were created for the newly reopened Community Wishlist, which is now open year-round for submissions. The first batch of focus areas are specific to moderator workflows, around welcoming newcomers, minimizing repetitive tasks, and prioritizing tasks. Once volunteers have reviewed and voted on focus areas, the Foundation will then review and select focus areas for prioritization. * Do you have a project and are willing to provide a three (3) month mentorship for an intern? [[mw:Special:MyLanguage/Outreachy|Outreachy]] is a twice a year program for people to participate in a paid internship that will start in December 2024 and end in early March 2025, and they need mentors and projects to work on. Projects can be focused on coding or non-coding (design, documentation, translation, research). See the Outreachy page for more details, and a list of past projects since 2013. '''Learn more''' * If you're curious about the product and technology improvements made by the Wikimedia Foundation last year, read [[diffblog:2024/08/21/wikimedia-foundation-product-technology-improving-the-user-experience/|this recent highlights summary on Diff]]. * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Community Configuration - Shaping On-Wiki Functionality Together.webm|Community Configuration - Shaping On-Wiki Functionality Together]] (55 mins) - about the [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] project. ** [[c:File:Wikimania 2024 - Belgrade - Day 1 - Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views.webm|Future of MediaWiki. A sustainable platform to support a collaborative user base and billions of page views]] (30 mins) - an overview for both technical and non technical audiences, covering some of the challenges and open questions, related to the [[mw:MediaWiki Product Insights|platform evolution, stewardship and developer experiences]] research. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:34, 26 August 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27341211 --> == Tech News: 2024-36 == <section begin="technews-2024-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/36|Translations]] are available. '''Weekly highlight''' * Editors and volunteer developers interested in data visualisation can now test the new software for charts. Its early version is available on beta Commons and beta Wikipedia. This is an important milestone before making charts available on regular wikis. You can [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|read more about this project update]] and help to test the charts. '''Feature news''' * Editors who use the [[{{#special:Unusedtemplates}}]] page can now filter out pages which are expected to be there permanently, such as sandboxes, test-cases, and templates that are always substituted. Editors can add the new magic word [[mw:Special:MyLanguage/Help:Magic words#EXPECTUNUSEDTEMPLATE|<code dir="ltr"><nowiki>__EXPECTUNUSEDTEMPLATE__</nowiki></code>]] to a template page to hide it from the listing. Thanks to Sophivorus and DannyS712 for these improvements. [https://phabricator.wikimedia.org/T184633] * Editors who use the New Topic tool on discussion pages, will [[phab:T334163|now be reminded]] to add a section header, which should help reduce the quantity of newcomers who add sections without a header. You can read more about that, and {{formatnum:28}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Last week, some Toolforge tools had occasional connection problems. The cause is still being investigated, but the problems have been resolved for now. [https://phabricator.wikimedia.org/T373243] * Translation administrators at multilingual wikis, when editing multiple translation units, can now easily mark which changes require updates to the translation. This is possible with the [[phab:T298852#10087288|new dropdown menu]]. '''Project updates''' * A new draft text of a policy discussing the use of Wikimedia's APIs [[m:Special:MyLanguage/API Policy Update 2024|has been published on Meta-Wiki]]. The draft text does not reflect a change in policy around the APIs; instead, it is an attempt to codify existing API rules. Comments, questions, and suggestions are welcome on [[m:Talk:API Policy Update 2024|the proposed update’s talk page]] until September 13 or until those discussions have concluded. '''Learn more''' * To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Ohrid - Day 2 - Charts, the successor of Graphs - A secure and extensible tool for data visualization.webm|Charts, the successor of Graphs - A secure and extensible tool for data visualization]] (25 mins) – about the above-mentioned Charts project. ** [[c:File:Wikimania 2024 - Ohrid - Day 3 - State of Language Technology and Onboarding at Wikimedia.webm|State of Language Technology and Onboarding at Wikimedia]] (90 mins) – about some of the language tools that support Wikimedia sites, such as [[mw:Special:MyLanguage/Content translation|Content]]/[[mw:Special:MyLanguage/Content translation/Section translation|Section Translation]], [[mw:Special:MyLanguage/MinT|MinT]], and LanguageConverter; also the current state and future of languages onboarding. [https://phabricator.wikimedia.org/T368772] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:08, 3 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27390268 --> == Wikipedia translation of the week: 2024-37 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cappadocian calendar]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cappadocian calendar''' was a solar calendar that was derived from the Persian Zoroastrian calendar. It is named after the historic region Cappadocia in present-day Turkey, where it was used. The calendar, which had 12 months of 30 days each and five epagomenal days, originated between 550 and 330 BC, when Cappadocia was part of the Persian Achaemenid Empire. The Cappadocian calendar was identical to the Zoroastrian calendar; this can be seen in its structure, in the Avestan names and in the order of the months. The Cappadocian calendar reflects the Iranian cultural influence in the region. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:42, 9 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27357319 --> == Tech News: 2024-37 == <section begin="technews-2024-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/37|Translations]] are available. '''Feature news''' * Starting this week, the standard [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will receive new colors that make them compatible in dark mode. This is the first of many changes to come as part of a major upgrade to syntax highlighting. You can learn more about what's to come on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. [https://phabricator.wikimedia.org/T365311][https://phabricator.wikimedia.org/T259059] * Editors of wikis using Wikidata will now be notified of only relevant Wikidata changes in their watchlist. This is because the Lua functions <bdi lang="zxx" dir="ltr"><code>entity:getSitelink()</code></bdi> and <bdi lang="zxx" dir="ltr"><code>mw.wikibase.getSitelink(qid)</code></bdi> will have their logic unified for tracking different aspects of sitelinks to reduce junk notifications from [[m:Wikidata For Wikimedia Projects/Projects/Watchlist Wikidata Sitelinks Tracking|inconsistent sitelinks tracking]]. [https://phabricator.wikimedia.org/T295356] '''Project updates''' * Users of all Wikis will have access to Wikimedia sites as read-only for a few minutes on September 25, starting at 15:00 UTC. This is a planned datacenter switchover for maintenance purposes. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. [https://phabricator.wikimedia.org/T370962] * Contributors of [[phab:T363538#10123348|11 Wikipedias]], including English will have a new <bdi lang="zxx" dir="ltr"><code>MOS</code></bdi> namespace added to their Wikipedias. This improvement ensures that links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> (usually shortcuts to the [[w:en:Wikipedia:Manual of Style|Manual of Style]]) are not broken by [[w:en:Mooré|Mooré]] Wikipedia (language code <bdi lang="zxx" dir="ltr"><code>mos</code></bdi>). [https://phabricator.wikimedia.org/T363538] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 September 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27424457 --> == Tech News: 2024-38 == <section begin="technews-2024-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/38|Translations]] are available. '''Improvements and Maintenance''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Editors interested in templates can help by reading the latest Wishlist focus area, [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template recall and discovery]], and share your feedback on the talkpage. This input helps the Community Tech team to decide the right technical approach to build. Everyone is also encouraged to continue adding [[m:Special:MyLanguage/Community Wishlist|new wishes]]. * The new automated [[{{#special:NamespaceInfo}}]] page helps editors understand which [[mw:Special:MyLanguage/Help:Namespaces|namespaces]] exist on each wiki, and some details about how they are configured. Thanks to DannyS712 for these improvements. [https://phabricator.wikimedia.org/T263513] * [[mw:Special:MyLanguage/Help:Edit check#Reference check|References Check]] is a feature that encourages editors to add a citation when they add a new paragraph to a Wikipedia article. For a short time, the corresponding tag "Edit Check (references) activated" was erroneously being applied to some edits outside of the main namespace. This has been fixed. [https://phabricator.wikimedia.org/T373692] * It is now possible for a wiki community to change the order in which a page’s categories are displayed on their wiki. By default, categories are displayed in the order they appear in the wikitext. Now, wikis with a consensus to do so can [[m:Special:MyLanguage/Requesting wiki configuration changes|request]] a configuration change to display them in alphabetical order. [https://phabricator.wikimedia.org/T373480] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool authors can now access ToolsDB's [[wikitech:Portal:Data Services#ToolsDB|public databases]] from both [[m:Special:MyLanguage/Research:Quarry|Quarry]] and [[wikitech:Superset|Superset]]. Those databases have always been accessible to every [[wikitech:Portal:Toolforge|Toolforge]] user, but they are now more broadly accessible, as Quarry can be accessed by anyone with a Wikimedia account. In addition, Quarry's internal database can now be [[m:Special:MyLanguage/Research:Quarry#Querying Quarry's own database|queried from Quarry itself]]. This database contains information about all queries that are being run and starred by users in Quarry. This information was already public through the web interface, but you can now query it using SQL. You can read more about that, and {{formatnum:20}} other community-submitted tasks that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. * Any pages or tools that still use the very old CSS classes <bdi lang="zxx" dir="ltr"><code>mw-message-box</code></bdi> need to be updated. These old classes will be removed next week or soon afterwards. Editors can use a [https://global-search.toolforge.org/?q=mw-message-box&regex=1&namespaces=&title= global-search] to determine what needs to be changed. It is possible to use the newer <bdi lang="zxx" dir="ltr"><code>cdx-message</code></bdi> group of classes as a replacement (see [https://doc.wikimedia.org/codex/latest/components/demos/message.html#css-only-version the relevant Codex documentation], and [https://meta.wikimedia.org/w/index.php?title=Tech/Header&diff=prev&oldid=27449042 an example update]), but using locally defined onwiki classes would be best. [https://phabricator.wikimedia.org/T374499] '''Technical project updates''' * Next week, all Wikimedia wikis will be read-only for a few minutes. This will start on September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. This is a planned datacenter switchover for maintenance purposes. [[m:Special:MyLanguage/Tech/Server switch|This maintenance process also targets other services.]] The previous switchover took 3 minutes, and the Site Reliability Engineering teams use many tools to make sure that this essential maintenance work happens as quickly as possible. [https://phabricator.wikimedia.org/T370962] '''Tech in depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/August 2024|MediaWiki Product Insights newsletter]] is available. This edition includes details about: research about [[mw:Special:MyLanguage/Manual:Hooks|hook]] handlers to help simplify development, research about performance improvements, work to improve the REST API for end-users, and more. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] To learn more about the technology behind the Wikimedia projects, you can now watch sessions from the technology track at Wikimania 2024 on Commons. This week, check out: ** [[c:File:Wikimania 2024 - Auditorium Kyiv - Day 4 - Hackathon Showcase.webm|Hackathon Showcase]] (45 mins) - 19 short presentations by some of the Hackathon participants, describing some of the projects they worked on, such as automated testing of maintenance scripts, a video-cutting command line tool, and interface improvements for various tools. There are [[phab:T369234|more details and links available]] in the Phabricator task. ** [[c:File:Co-Creating a Sustainable Future for the Toolforge Ecosystem.webm|Co-Creating a Sustainable Future for the Toolforge Ecosystem]] (40 mins) - a roundtable discussion for tool-maintainers, users, and supporters of Toolforge about how to make the platform sustainable and how to evaluate the tools available there. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:03, 17 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27460876 --> == Wikipedia translation of the week: 2024-39 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Independence Day (Albania)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Independence Day''' (Albanian: Dita e Pavarësisë) is a public holiday in Albania observed on 28 November. It commemorates the Albanian Declaration of Independence (from the Ottoman Empire), which was ratified by the All-Albanian Congress on 28 November 1912, establishing the state of Albania. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:29, 23 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-39 == <section begin="technews-2024-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/39|Translations]] are available. '''Weekly highlight''' * All wikis will be [[m:Special:MyLanguage/Tech/Server switch|read-only]] for a few minutes on Wednesday September 25 at [https://zonestamp.toolforge.org/1727276400 15:00 UTC]. Reading the wikis will not be interrupted, but editing will be paused. These twice-yearly processes allow WMF's site reliability engineering teams to remain prepared to keep the wikis functioning even in the event of a major interruption to one of our data centers. '''Updates for editors''' [[File:Add alt text from a halfsheet, with the article behind.png|thumb|A screenshot of the interface for the Alt Text suggested-edit feature]] * Editors who use the iOS Wikipedia app in Spanish, Portuguese, French, or Chinese, may see the [[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|Alt Text suggested-edit experiment]] after editing an article, or completing a suggested edit using "[[mw:Special:MyLanguage/Wikimedia Apps/iOS Suggested edits project#Hypothesis 2 Add an Image Suggested Edit|Add an image]]". Alt-text helps people with visual impairments to read Wikipedia articles. The team aims to learn if adding alt-text to images is a task that editors can be successful with. Please share any feedback on [[mw:Talk:Wikimedia Apps/iOS Suggested edits project/Alt Text Experiment|the discussion page]]. * The Codex color palette has been updated with new and revised colors for the MediaWiki user interfaces. The [[mw:Special:MyLanguage/Design System Team/Color/Design documentation#Updates|most noticeable changes]] for editors include updates for: dark mode colors for Links and for quiet Buttons (progressive and destructive), visited Link colors for both light and dark modes, and background colors for system-messages in both light and dark modes. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] It is now possible to include clickable wikilinks and external links inside code blocks. This includes links that are used within <code><nowiki><syntaxhighlight></nowiki></code> tags and on code pages (JavaScript, CSS, Scribunto and Sanitized CSS). Uses of template syntax <code><nowiki>{{…}}</nowiki></code> are also linked to the template page. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T368166] * Two bugs were fixed in the [[m:Special:MyLanguage/Account vanishing|GlobalVanishRequest]] system by improving the logging and by removing an incorrect placeholder message. [https://phabricator.wikimedia.org/T370595][https://phabricator.wikimedia.org/T372223] * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] From [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]]: ** The API now enables 5,000 on-demand API requests per month and twice-monthly HTML snapshots freely (gratis and libre). More information on the updates and also improvements to the software development kits (SDK) are explained on [https://enterprise.wikimedia.com/blog/enhanced-free-api/ the project's blog post]. While Wikimedia Enterprise APIs are designed for high-volume commercial reusers, this change enables many more community use-cases to be built on the service too. ** The Snapshot API (html dumps) have added beta Structured Contents endpoints ([https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/ blog post on that]) as well as released two beta datasets (English and French Wikipedia) from that endpoint to Hugging Face for public use and feedback ([https://enterprise.wikimedia.com/blog/hugging-face-dataset/ blog post on that]). These pre-parsed data sets enable new options for researchers, developers, and data scientists to use and study the content. '''In depth''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The Wikidata Query Service (WDQS) is used to get answers to questions using the Wikidata data set. As Wikidata grows, we had to make a major architectural change so that WDQS could remain performant. As part of the [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS graph split|WDQS Graph Split project]], we have new SPARQL endpoints available for serving the "[https://query-scholarly.wikidata.org scholarly]" and "[https://query-main.wikidata.org main]" subgraphs of Wikidata. The [http://query.wikidata.org query.wikidata.org endpoint] will continue to serve the full Wikidata graph until March 2025. After this date, it will only serve the main graph. For more information, please see [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|the announcement on Wikidata]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:37, 23 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27493779 --> == Wikipedia translation of the week: 2024-40 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wildlife of Bahrain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Birds in Al-Areen Wildlife Park.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The wildlife of the archipelago of Bahrain, is more varied than might be expected of this small group of islands in the Persian Gulf. Apart from a strip of the north and west of the main island, where crops are grown with irrigation, the land is arid. With a very hot dry summer, a mild winter, and brackish groundwater, the plants need adaptations in order to survive. Nevertheless, 196 species of higher plant have been recorded here, as well as about seventeen species of terrestrial mammals, many birds and reptiles, and many migratory birds visit the islands in autumn and spring. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 30 September 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27456350 --> == Tech News: 2024-40 == <section begin="technews-2024-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/40|Translations]] are available. '''Updates for editors''' * Readers of [[phab:T375401|42 more wikis]] can now use Dark Mode. If the option is not yet available for logged-out users of your wiki, this is likely because many templates do not yet display well in Dark Mode. Please use the [https://night-mode-checker.wmcloud.org/ night-mode-checker tool] if you are interested in helping to reduce the number of issues. The [[mw:Special:MyLanguage/Recommendations for night mode compatibility on Wikimedia wikis|recommendations page]] provides guidance on this. Dark Mode is enabled on additional wikis once per month. * Editors using the 2010 wikitext editor as their default can access features from the 2017 wikitext editor by adding <code dir=ltr>?veaction=editsource</code> to the URL. If you would like to enable the 2017 wikitext editor as your default, it can be set in [[Special:Preferences#mw-input-wpvisualeditor-newwikitext|your preferences]]. [https://phabricator.wikimedia.org/T239796] * For logged-out readers using the Vector 2022 skin, the "donate" link has been moved from a collapsible menu next to the content area into a more prominent top menu, next to "Create an account". This restores the link to the level of prominence it had in the Vector 2010 skin. [[mw:Readers/2024 Reader and Donor Experiences#Donor Experiences (Key Result WE 3.2 and the related hypotheses)|Learn more]] about the changes related to donor experiences. [https://phabricator.wikimedia.org/T373585] * The CampaignEvents extension provides tools for organizers to more easily manage events, communicate with participants, and promote their events on the wikis. The extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|enabled]] on Arabic Wikipedia, Igbo Wikipedia, Swahili Wikipedia, and Meta-Wiki. [[w:zh:Wikipedia:互助客栈/其他#引進CampaignEvents擴充功能|Chinese Wikipedia has decided]] to enable the extension, and discussions on the extension are in progress [[w:es:Wikipedia:Votaciones/2024/Sobre la política de Organizadores de Eventos|on Spanish Wikipedia]] and [[d:Wikidata:Project chat#Enabling the CampaignEvents Extention on Wikidata|on Wikidata]]. To learn how to enable the extension on your wiki, you can visit [[m:Special:MyLanguage/CampaignEvents|the CampaignEvents page on Meta-Wiki]]. * View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers with an account on Wikitech-wiki should [[wikitech:Wikitech/SUL-migration|check if any action is required]] for their accounts. The wiki is being changed to use the single-user-login (SUL) system, and other configuration changes. This change will help reduce the overall complexity for the weekly software updates across all our wikis. '''In depth''' * The [[m:Special:MyLanguage/Tech/Server switch|server switch]] was completed successfully last week with a read-only time of [[wikitech:Switch Datacenter#Past Switches|only 2 minutes 46 seconds]]. This periodic process makes sure that engineers can switch data centers and keep all of the wikis available for readers, even if there are major technical issues. It also gives engineers a chance to do maintenance and upgrades on systems that normally run 24 hours a day, and often helps to reveal weaknesses in the infrastructure. The process involves dozens of software services and hundreds of hardware servers, and requires multiple teams working together. Work over the past few years has reduced the time from 17 minutes down to 2–3 minutes. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/66ZW7B2MG63AESQVTXDIFQBDBS766JGW/] '''Meetings and events''' * October 4–6: [[m:Special:MyLanguage/WikiIndaba conference 2024|WikiIndaba Conference's Hackathon]] in Johannesburg, South Africa * November 4–6: [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] in Vienna, Austria '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:21, 30 September 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27530062 --> == Tech News: 2024-41 == <section begin="technews-2024-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/41|Translations]] are available. '''Weekly highlight''' * Communities can now request installation of [[mw:Special:MyLanguage/Moderator Tools/Automoderator|Automoderator]] on their wiki. Automoderator is an automated anti-vandalism tool that reverts bad edits based on scores from the new "Revert Risk" machine learning model. You can [[mw:Special:MyLanguage/Extension:AutoModerator/Deploying|read details about the necessary steps]] for installation and configuration. [https://phabricator.wikimedia.org/T336934] '''Updates for editors''' * Translators in wikis where [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|the mobile experience of Content Translation is available]], can now customize their articles suggestion list from 41 filtering options when using the tool. This topic-based article suggestion feature makes it easy for translators to self-discover relevant articles based on their area of interest and translate them. You can [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions try it with your mobile device]. [https://phabricator.wikimedia.org/T368422] * View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * It is now possible for <bdi lang="zxx" dir="ltr"><code><nowiki><syntaxhighlight></nowiki></code></bdi> code blocks to offer readers a "Copy" button if the <bdi lang="zxx" dir="ltr"><code><nowiki>copy=1</nowiki></code></bdi> attribute is [[mw:Special:MyLanguage/Extension:SyntaxHighlight#copy|set on the tag]]. Thanks to SD0001 for these improvements. [https://phabricator.wikimedia.org/T40932] * Customized copyright footer messages on all wikis will be updated. The new versions will use wikitext markup instead of requiring editing raw HTML. [https://phabricator.wikimedia.org/T375789] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this month, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] will be rolled out on several pilot wikis. The final list of the wikis will be published in the second half of the month. If you maintain any tools, bots, or gadgets on [[phab:T376499|these 11 wikis]], and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Rate limiting has been enabled for the code review tools [[Wikitech:Gerrit|Gerrit]] and [[Wikitech:GitLab|GitLab]] to address ongoing issues caused by malicious traffic and scraping. Clients that open too many concurrent connections will be restricted for a few minutes. This rate limiting is managed through [[Wikitech:nftables|nftables]] firewall rules. For more details, see Wikitech's pages on [[Wikitech:Firewall#Throttling with nftables|Firewall]], [[Wikitech:GitLab/Abuse and rate limiting|GitLab limits]] and [[Wikitech:Gerrit/Operations#Throttling IPs|Gerrit operations]]. * Five new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q49224|Komering]] ([[w:kge:|<code>w:kge:</code>]]) [https://phabricator.wikimedia.org/T374813] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36096|Mooré]] ([[m:mos:|<code>m:mos:</code>]]) [https://phabricator.wikimedia.org/T374641] ** a {{int:project-localized-name-group-wiktionary}} in [[d:Q36213|Madurese]] ([[wikt:mad:|<code>wikt:mad:</code>]]) [https://phabricator.wikimedia.org/T374968] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q2501174|Gorontalo]] ([[q:gor:|<code>q:gor:</code>]]) [https://phabricator.wikimedia.org/T375088] ** a {{int:project-localized-name-group-wikinews}} in [[d:Q56482|Shan]] ([[n:shn:|<code>n:shn:</code>]]) [https://phabricator.wikimedia.org/T375430] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 7 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27557422 --> == Wikipedia translation of the week: 2024-42 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Little Danes experiment]]'''<br /> <small>''([[:fa:آزمایش دانمارکی‌های کوچک]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Children play at a Danish Red Cross-run orphanage in Greenland.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''little Danes experiment''' was a 1951 Danish operation where 22 Greenlandic Inuit children were sent to Danish foster families in an attempt to re-educate them as "little Danes". While the children were all supposed to be orphans, most were not. Six children were adopted while in Denmark, and sixteen returned to Greenland, only to be placed in Danish-speaking orphanages and never live with their families again. Half of the children experienced mental health disturbances, and half of them died in young adulthood. The government of Denmark officially apologised in 2020, after several years of demands from Greenlandic officials. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:16, 14 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-42 == <section begin="technews-2024-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/42|Translations]] are available. '''Updates for editors''' * The Structured Discussion extension (also known as Flow) is starting to be removed. This extension is unmaintained and causes issues. It will be replaced by [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]], which is used on any regular talk page. [[mw:Special:MyLanguage/Structured Discussions/Deprecation#Deprecation timeline|A first set of wikis]] are being contacted. These wikis are invited to stop using Flow, and to move all Flow boards to sub-pages, as archives. At these wikis, a script will move all Flow pages that aren't a sub-page to a sub-page automatically, starting on 22 October 2024. On 28 October 2024, all Flow boards at these wikis will be set in read-only mode. [https://www.mediawiki.org/wiki/Structured_Discussions/Deprecation][https://phabricator.wikimedia.org/T370722] * WMF's Search Platform team is working on making it easier for readers to perform text searches in their language. A [[phab:T332342|change last week]] on over 30 languages makes it easier to find words with accents and other diacritics. This applies to both full-text search and to types of advanced search such as the <bdi lang="en" dir="ltr">''hastemplate''</bdi> and <bdi lang="en" dir="ltr">''incategory''</bdi> keywords. More technical details (including a few other minor search upgrades) are available. [https://www.mediawiki.org/wiki/User:TJones_%28WMF%29/Notes/Language_Analyzer_Harmonization_Notes#ASCII-folding/ICU-folding_%28T332342%29] * View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Help:Edit check|EditCheck]] was installed at Russian Wikipedia, and fixes were made for some missing user interface styles. '''Updates for technical contributors''' * Editors who use the Toolforge tool [[toolforge:copyvios|Earwig's Copyright Violation Detector]] will now be required to log in with their Wikimedia account before running checks using the "search engine" option. This change is needed to help prevent external bots from misusing the system. Thanks to Chlod for these improvements. [https://en.wikipedia.org/wiki/Wikipedia_talk:New_pages_patrol/Reviewers#Authentication_is_now_required_for_search_engine_checks_on_Earwig's_Copyvio_Tool] * [[m:Special:MyLanguage/Phabricator|Phabricator]] users can create tickets and add comments on existing tickets via Email again. [[mw:Special:MyLanguage/Phabricator/Help#Using email|Sending email to Phabricator]] has been fixed. [https://phabricator.wikimedia.org/T356077] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Some HTML elements in the interface are now wrapped with a <code><nowiki><bdi></nowiki></code> element, to make our HTML output more aligned with Web standards. More changes like this will be coming in future weeks. This change might break some tools that rely on the previous HTML structure of the interface. Note that relying on the HTML structure of the interface is [[mw:Special:MyLanguage/Stable interface policy/Frontend#What is not stable?|not recommended]] and might break at any time. [https://phabricator.wikimedia.org/T375975] '''In depth''' * The latest monthly [[mw:Special:MyLanguage/MediaWiki Product Insights/Reports/September 2024|MediaWiki Product Insights newsletter]] is available. This edition includes: updates on Wikimedia's authentication system, research to simplify feature development in the MediaWiki platform, updates on Parser Unification and MathML rollout, and more. * The latest quarterly [[mw:Technical Community Newsletter/2024/October|Technical Community Newsletter]] is now available. This edition include: research about improving topic suggestions related to countries, improvements to PHPUnit tests, and more. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:22, 14 October 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27597254 --> == Wikipedia translation of the week: 2024-43 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kharayeb]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Muharram 1Oth-Ashouraa 2007 in Kharayeb - panoramio.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Kharayeb''' (Arabic: الخرايب) is a historic town in the Sidon District in the South Governorate, Lebanon. The town is 77 km (48 mi) south of Beirut, and stands at an average altitude of 190 m (620 ft) above sea level. The town boasts a rich historical legacy, with archaeological excavations revealing a complex settlement history spanning from Prehistory to the Ottoman period. Notably, Kharayeb's origins can be traced back to the Persian period (539–330 BC), when it played a pivotal role in the region's agricultural and economic landscape, culminating in the construction of its Phoenician temple around the 6th century BC. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:38, 21 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27572997 --> == Tech News: 2024-43 == <section begin="technews-2024-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/43|Translations]] are available. '''Weekly highlight''' * The Mobile Apps team has released an [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh#Phase 1: Creating a user Profile Menu (T373714)|update]] to the iOS app's navigation, and it is now available in the latest App store version. The team added a new Profile menu that allows for easy access to editor features like Notifications and Watchlist from the Article view, and brings the "Donate" button into a more accessible place for users who are reading an article. This is the first phase of a larger planned [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Navigation Refresh|navigation refresh]] to help the iOS app transition from a primarily reader-focused app, to an app that fully supports reading and editing. The Wikimedia Foundation has added more editing features and support for on-wiki communication based on volunteer requests in recent years. [[File:IOS App Navigation refresh first phase 05.png|thumb|iOS Wikipedia App's profile menu and contents]] '''Updates for editors''' * Wikipedia readers can now download a browser extension to experiment with some early ideas on potential features that recommend articles for further reading, automatically summarize articles, and improve search functionality. For more details and to stay updated, check out the Web team's [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments|Content Discovery Experiments page]] and [[mw:Special:MyLanguage/Newsletter:Web team's projects|subscribe to their newsletter]]. * Later this month, logged-out editors of [[phab:T376499|these 12 wikis]] will start to have [[mw:Special:Mylanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] created. The list may slightly change - some wikis may be removed but none will be added. Temporary account is a new [[mw:Special:MyLanguage/User account types|type of user account]]. It enhances the logged-out editors' privacy and makes it easier for community members to communicate with them. If you maintain any tools, bots, or gadgets on these 12 wikis, and your software is using data about IP addresses or is available for logged-out users, please check if it needs to be updated to work with temporary accounts. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|Guidance on how to update the code is available]]. Read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|deployment plan across all wikis]]. * View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[w:nr:Main Page|South Ndebele]], [[w:rsk:Главни бок|Pannonian Rusyn]], [[w:ann:Uwu|Obolo]], [[w:iba:Lambar Keterubah|Iban]] and [[w:tdd:ᥞᥨᥝᥴ ᥘᥣᥲ ᥖᥥᥰ|Tai Nüa]] Wikipedia languages were created last week. [https://www.wikidata.org/wiki/Q36785][https://www.wikidata.org/wiki/Q35660][https://www.wikidata.org/wiki/Q36614][https://www.wikidata.org/wiki/Q33424][https://www.wikidata.org/wiki/Q36556] * It is now possible to create functions on Wikifunctions using Wikidata lexemes, through the new [[f:Z6005|Wikidata lexeme type]] launched last week. When you go to one of these functions, the user interface provides a lexeme selector that helps you pick a lexeme from Wikidata that matches the word you type. After hitting run, your selected lexeme is retrieved from Wikidata, transformed into a Wikidata lexeme type, and passed into the selected function. Read more about this in [[f:Special:MyLanguage/Wikifunctions:Status updates/2024-10-17#Function of the Week: select representation from lexeme|the latest Wikifunctions newsletter]]. '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Users of the Wikimedia sites can now format dates more easily in different languages with the new <code dir="ltr">{{[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##timef|#timef]]:…}}</code> parser function. For example, <code dir="ltr"><nowiki>{{#timef:now|date|en}}</nowiki></code> will show as "<bdi lang="en" dir="ltr">{{#timef:now|date|en}}</bdi>". Previously, <code dir="ltr"><nowiki>{{#time:…}}</nowiki></code> could be used to format dates, but this required knowledge of the order of the time and date components and their intervening punctuation. <code dir="ltr">#timef</code> (or <code dir="ltr">#timefl</code> for local time) provides access to the standard date formats that MediaWiki uses in its user interface. This may help to simplify some templates on multi-lingual wikis like Commons and Meta. [https://phabricator.wikimedia.org/T223772][https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:ParserFunctions##timef] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Commons and Meta users can now efficiently [[mw:Special:MyLanguage/Help:Magic words#Localization|retrieve the user's language]] using <code dir="ltr"><nowiki>{{USERLANGUAGE}}</nowiki></code> instead of using <code dir="ltr"><nowiki>{{int:lang}}</nowiki></code>. [https://phabricator.wikimedia.org/T4085] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Tech Advisory Council]] (PTAC) now has its pilot members with representation across Africa, Asia, Europe, North America and South America. They will work to address the [[Special:MyLanguage/Movement Strategy/Initiatives/Technology Council|Movement Strategy's Technology Council]] initiative of having a co-defined and more resilient technological platform. [https://meta.wikimedia.org/wiki/Movement_Strategy/Initiatives/Technology_Council] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/32|Growth newsletter]] is available. It includes: an upcoming Newcomer Homepage Community Updates module, new Community Configuration options, and details on new projects. * The Wikimedia Foundation is [[mw:Special:MyLanguage/Wikimedia Security Team#CNA Partnership|now an official partner of the CVE program]], which is an international effort to catalog publicly disclosed cybersecurity vulnerabilities. This partnership will allow the Security Team to instantly publish [[w:en:Common Vulnerabilities and Exposures|common vulnerabilities and exposures]] (CVE) records that are affecting MediaWiki core, extensions, and skins, along with any other code the Foundation is a steward of. * The [[m:Special:MyLanguage/Community Wishlist|Community Wishlist]] is now [[m:Community Wishlist/Updates#October 16, 2024: Conversations Made Easier: Machine-Translated Wishes Are Here!|testing machine translations]] for Wishlist content. Volunteers can now read machine-translated versions of wishes and dive into discussions even before translators arrive to translate content. '''Meetings and events''' * 24 October - Wiki Education Speaker Series Webinar - [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/N4XTB4G55BUY3M3PNGUAKQWJ7A4UOPAK/ Open Source Tech: Building the Wiki Education Dashboard], featuring Wikimedia interns and a Web developer in the panel. * 20–22 December 2024 - [[m:Special:MyLanguage/Indic Wikimedia Hackathon Bhubaneswar 2024|Indic Wikimedia Hackathon Bhubaneswar 2024]] in Odisha, India. A hackathon for community members, including developers, designers and content editors, to build technical solutions that improve contributors' experiences. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:53, 21 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27634672 --> == Wikipedia translation of the week: 2024-44 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas horror]]'''<br /> <small>''([[:es:Terror navideño]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Christmascarol1843 -- 169.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Christmas horror''' is a fiction genre and film genre that incorporates horror elements into a seasonal setting. It is popular in multiple countries. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 28 October 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-44 == <section begin="technews-2024-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/44|Translations]] are available. '''Updates for editors''' * Later in November, the Charts extension will be deployed to the test wikis in order to help identify and fix any issue. A security review is underway to then enable deployment to pilot wikis for broader testing. You can read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates#October 2024: Working towards production deployment|the October project update]] and see the [https://en.wikipedia.beta.wmflabs.org/wiki/Charts latest documentation and examples on Beta Wikipedia]. * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[w:en:PediaPress|Pediapress.com]], an external service that creates books from Wikipedia, can now use [[mw:Special:MyLanguage/Wikimedia Maps|Wikimedia Maps]] to include existing pre-rendered infobox map images in their printed books on Wikipedia. [https://phabricator.wikimedia.org/T375761] '''Updates for technical contributors''' * Wikis can use [[:mw:Special:MyLanguage/Extension:GuidedTour|the Guided Tour extension]] to help newcomers understand how to edit. The Guided Tours extension now works with [[mw:Special:MyLanguage/Manual:Dark mode|dark mode]]. Guided Tour maintainers can check their tours to see that nothing looks odd. They can also set <code>emitTransitionOnStep</code> to <code>true</code> to fix an old bug. They can use the new flag <code>allowAutomaticBack</code> to avoid back-buttons they don't want. [https://phabricator.wikimedia.org/T73927#10241528] * Administrators in the Wikimedia projects who use the [[mw:Special:MyLanguage/Help:Extension:Nuke|Nuke Extension]] will notice that mass deletions done with this tool have the "Nuke" tag. This change will make reviewing and analyzing deletions performed with the tool easier. [https://phabricator.wikimedia.org/T366068] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:57, 28 October 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27668811 --> == Wikipedia translation of the week: 2024-45 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Placenta cake]]'''<br /> <small>''([[:simple:Placenta cake]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Bucharest, Greek pie-maker, 1880.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Placenta cake''' is a dish from ancient Greece and Rome consisting of many dough layers interspersed with a mixture of cheese and honey and flavored with bay leaves, baked and then covered in honey. The dessert is mentioned in classical texts such as the Greek poems of Archestratos and Antiphanes, as well as the De agri cultura of Cato the Elder. It is often seen as the predecessor of baklava and börek. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:16, 4 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27647428 --> == Tech News: 2024-45 == <section begin="technews-2024-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/45|Translations]] are available. '''Updates for editors''' * Stewards can now make [[m:Special:MyLanguage/Global blocks|global account blocks]] cause global [[mw:Special:MyLanguage/Autoblock|autoblocks]]. This will assist stewards in preventing abuse from users who have been globally blocked. This includes preventing globally blocked temporary accounts from exiting their session or switching browsers to make subsequent edits for 24 hours. Previously, temporary accounts could exit their current session or switch browsers to continue editing. This is an anti-abuse tool improvement for the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] project. You can read more about the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|progress on key features for temporary accounts]]. [https://phabricator.wikimedia.org/T368949] * Wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]] can now use the [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Event list#October 29, 2024: Collaboration List launched|Collaboration List]] feature. This list provides a new, easy way for contributors to learn about WikiProjects on their wikis. Thanks to the Campaign team for this work that is part of [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2024-2025/Product %26 Technology OKRs#WE KRs|the 2024/25 annual plan]]. If you are interested in bringing the CampaignEvents extension to your wiki, you can [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|follow these steps]] or you can reach out to User:Udehb-WMF for help. * The text color for red links will be slightly changed later this week to improve their contrast in light mode. [https://phabricator.wikimedia.org/T370446] * View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, on multilingual wikis, users [[phab:T216368|can now]] hide translations from the WhatLinksHere special page. '''Updates for technical contributors''' * XML [[m:Special:MyLanguage/Data dumps|data dumps]] have been temporarily paused whilst a bug is investigated. [https://lists.wikimedia.org/hyperkitty/list/xmldatadumps-l@lists.wikimedia.org/message/BXWJDPO5QI2QMBCY7HO36ELDCRO6HRM4/] '''In depth''' * Temporary Accounts have been deployed to six wikis; thanks to the Trust and Safety Product team for [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|this work]], you can read about [[phab:T340001|the deployment plans]]. Beginning next week, Temporary Accounts will also be enabled on [[phab:T378336|seven other projects]]. If you are active on these wikis and need help migrating your tools, please reach out to [[m:User:Udehb-WMF|User:Udehb-WMF]] for assistance. * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2024/October|Language and Internationalization newsletter]] is available. It includes: New languages supported in translatewiki or in MediaWiki; New keyboard input methods for some languages; details about recent and upcoming meetings, and more. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2024|MediaWiki Users and Developers Conference Fall 2024]] is happening in Vienna, Austria and online from 4 to 6 November 2024. The conference will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 4 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27693917 --> == Wikipedia translation of the week: 2024-46 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Trisomy 16]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chromosome 16.svg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Trisomy 16''' is a chromosomal abnormality in which there are 3 copies of chromosome 16 rather than two. It is the most common trisomy leading to miscarriage and the second most common chromosomal cause of it, closely following X-chromosome monosomy. About 6% of miscarriages have trisomy 16. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:09, 11 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27708700 --> == Tech News: 2024-46 == <section begin="technews-2024-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/46|Translations]] are available. '''Updates for editors''' * On wikis with the [[mw:Special:MyLanguage/Help:Extension:Translate|Translate extension]] enabled, users will notice that the FuzzyBot will now automatically create translated versions of categories used on translated pages. [https://phabricator.wikimedia.org/T285463] * View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the submitted task to use the [[mw:Special:MyLanguage/Extension:SecurePoll|SecurePoll extension]] for English Wikipedia's special [[w:en:Wikipedia:Administrator elections|administrator election]] was resolved on time. [https://phabricator.wikimedia.org/T371454] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] In <code dir="ltr">[[mw:MediaWiki_1.44/wmf.2|1.44.0-wmf-2]]</code>, the logic of Wikibase function <code>getAllStatements</code> changed to behave like <code>getBestStatements</code>. Invoking the function now returns a copy of values which are immutable. [https://phabricator.wikimedia.org/T270851] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. The API will be rerouting some page content endpoints from RESTbase to the newer [[mw:Special:MyLanguage/API:REST API|MediaWiki REST API]] endpoints. The [[phab:T374683|impacted endpoints]] include getting page/revision metadata and rendered HTML content. These changes will be available on testwiki later this week, with other projects to follow. This change should not affect existing functionality, but active users of the impacted endpoints should verify behavior on testwiki, and raise any concerns on the related [[phab:T374683|Phabricator ticket]]. '''In depth''' * Admins and users of the Wikimedia projects [[mw:Special:MyLanguage/Moderator_Tools/Automoderator#Usage|where Automoderator is enabled]] can now monitor and evaluate important metrics related to Automoderator's actions. [https://superset.wmcloud.org/superset/dashboard/unified-automoderator-activity-dashboard/ This Superset dashboard] calculates and aggregates metrics about Automoderator's behaviour on the projects in which it is deployed. Thanks to the Moderator Tools team for this Dashboard; you can visit [[mw:Special:MyLanguage/Moderator Tools/Automoderator/Unified Activity Dashboard|the documentation page]] for more information about this work. [https://phabricator.wikimedia.org/T369488] '''Meetings and events''' * 21 November 2024 ([[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] & [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]) - [[c:Commons:WMF support for Commons/Commons community calls|Community call]] with Wikimedia Commons volunteers and stakeholders to help prioritize support efforts for 2025-2026 Fiscal Year. The theme of this call is how content should be organised on Wikimedia Commons. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:08, 12 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27732268 --> == Wikipedia translation of the week: 2024-47 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Boana platanera]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Rana platanera - Boana platanera.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Boana platanera''''', commonly known as the banana tree dwelling frog, is a species of tree frog in the family Hylidae. It is distributed within Venezuela, Colombia, Panama, and Trinidad and Tobago. Boana platanera was described in 2021, and individuals of the species were previously classified as Boana crepitans or Boana xerophylla. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:53, 18 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27735014 --> == Tech News: 2024-47 == <section begin="technews-2024-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/47|Translations]] are available. '''Updates for editors''' * Users of Wikimedia sites will now be warned when they create a [[mw:Special:MyLanguage/Help:Redirects|redirect]] to a page that doesn't exist. This will reduce the number of broken redirects to red links in our projects. [https://phabricator.wikimedia.org/T326057] * View all {{formatnum:42}} community-submitted {{PLURAL:42|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, [[mw:Special:MyLanguage/Manual:Pywikibot/Overview|Pywikibot]], which automates work on MediaWiki sites, was upgraded to 9.5.0 on Toolforge. [https://phabricator.wikimedia.org/T378676] '''Updates for technical contributors''' * On wikis that use the [[mw:Special:MyLanguage/Extension:FlaggedRevs|FlaggedRevs extension]], pages created or moved by users with the appropriate permissions are marked as flagged automatically. This feature has not been working recently, and changes fixing it should be deployed this week. Thanks to Daniel and Wargo for working on this. [https://phabricator.wikimedia.org/T379218][https://phabricator.wikimedia.org/T368380] '''In depth''' * There is a new [https://diff.wikimedia.org/2024/11/05/say-hi-to-temporary-accounts-easier-collaboration-with-logged-out-editors-with-better-privacy-protection Diff post] about Temporary Accounts, available in more than 15 languages. Read it to learn about what Temporary Accounts are, their impact on different groups of users, and the plan to introduce the change on all wikis. '''Meetings and events''' * Technical volunteers can now register for the [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which will take place in Istanbul, Turkey. [https://pretix.eu/wikimedia/hackathon2025/ Application for travel and accommodation scholarships] is open from '''November 12 to December 10 2024'''. The registration for the event will close in mid-April 2025. The Wikimedia Hackathon is an annual gathering that unites the global technical community to collaborate on existing projects and explore new ideas. * Join the [[C:Special:MyLanguage/Commons:WMF%20support%20for%20Commons/Commons%20community%20calls|Wikimedia Commons community calls]] this week to help prioritize support for Commons which will be planned for 2025–2026. The theme will be how content should be organised on Wikimedia Commons. This is an opportunity for volunteers who work on different things to come together and talk about what matters for the future of the project. The calls will take place '''November 21, 2024, [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 8:00 UTC|8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 21 November 2024 16:00 UTC|16:00 UTC]]'''. * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place '''November 29, 16:00 UTC''' to discuss updates and technical problem-solving. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:01, 19 November 2024 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27806858 --> == Wikipedia translation of the week: 2024-48 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Wang Su-bok]]'''<br /> <small>''([[:fa:وانگ سو بوک]])&#32;([[:ko:왕수복]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Wang Su-bok''' was a singer from North Korea, who was the most popular singer in Japanese-occupied Korea in 1935. She was credited as a ground-breaking female artist, whose work led the way for the modern K-pop phenomenon. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 25 November 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-48 == <section begin="technews-2024-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/48|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new version of the standard wikitext editor-mode [[mw:Special:MyLanguage/Extension:CodeMirror|syntax highlighter]] will be available as a [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] later this week. This brings many new features and bug fixes, including right-to-left support, [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Template folding|template folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and an improved search panel. You can learn more on the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|help page]]. * The 2010 wikitext editor now supports common keyboard shortcuts such <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>B</code></bdi> for bold and <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>I</code></bdi> for italics. A full [[mw:Help:Extension:WikiEditor#Keyboard shortcuts|list of all six shortcuts]] is available. Thanks to SD0001 for this improvement. [https://phabricator.wikimedia.org/T62928] * Starting November 28, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>bswiki</bdi>{{int:comma-separator/en}}<bdi>elwiki</bdi>{{int:comma-separator/en}}<bdi>euwiki</bdi>{{int:comma-separator/en}}<bdi>fawiki</bdi>{{int:comma-separator/en}}<bdi>fiwiki</bdi>{{int:comma-separator/en}}<bdi>frwikiquote</bdi>{{int:comma-separator/en}}<bdi>frwikisource</bdi>{{int:comma-separator/en}}<bdi>frwikiversity</bdi>{{int:comma-separator/en}}<bdi>frwikivoyage</bdi>{{int:comma-separator/en}}<bdi>idwiki</bdi>{{int:comma-separator/en}}<bdi>lvwiki</bdi>{{int:comma-separator/en}}<bdi>plwiki</bdi>{{int:comma-separator/en}}<bdi>ptwiki</bdi>{{int:comma-separator/en}}<bdi>urwiki</bdi>{{int:comma-separator/en}}<bdi>viwikisource</bdi>{{int:comma-separator/en}}<bdi>zhwikisource</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. * View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a user creating a new AbuseFilter can now only set the filter to "protected" [[phab:T377765|if it includes a protected variable]]. '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]], which can be used in JavaScript, CSS, JSON, and Lua pages, [[phab:T377663|now offers]] live autocompletion. Thanks to SD0001 for this improvement. The feature can be temporarily disabled on a page by pressing <bdi lang="zxx" dir="ltr"><code>Ctrl</code>+<code>,</code></bdi> and un-selecting "<bdi lang="en" dir="ltr">Live Autocompletion</bdi>". * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Tool-maintainers who use the Graphite system for tracking metrics, need to migrate to the newer Prometheus system. They can check [https://grafana.wikimedia.org/d/K6DEOo5Ik/grafana-graphite-datasource-utilization?orgId=1 this dashboard] and the list in the Description of the [[phab:T350592|task T350592]] to see if their tools are listed, and they should claim metrics and dashboards connected to their tools. They can then disable or migrate all existing metrics by following the instructions in the task. The Graphite service will become read-only in April. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/KLUV4IOLRYXPQFWD6WKKJUHMWE77BMSZ/] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The [[mw:Special:MyLanguage/NewPP parser report|New PreProcessor parser performance report]] has been fixed to give an accurate count for the number of Wikibase entities accessed. It had previously been resetting after 400 entities. [https://phabricator.wikimedia.org/T279069] '''Meetings and events''' * A [[mw:Special:MyLanguage/Wikimedia_Language_and_Product_Localization/Community meetings#29 November 2024|Language community meeting]] will take place November 29 at [https://zonestamp.toolforge.org/1732896000 16:00 UTC]. There will be presentations on topics like developing language keyboards, the creation of the Mooré Wikipedia, the language support track at [[m:Wiki Indaba|Wiki Indaba]], and a report from the Wayuunaiki community on their experiences with the Incubator and as a new community over the last 3 years. This meeting will be in English and will also have Spanish interpretation. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:42, 25 November 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27847039 --> == Wikipedia translation of the week: 2024-49 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Storm Filomena]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Spain’s chilly blanket ESA22415247.jpeg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Storm Filomena''' was an extratropical cyclone in early January 2021 that was most notable for bringing unusually heavy snowfall to parts of Spain, with Madrid recording its heaviest snowfall in over a century, and with Portugal being hit less severely. The eighth named storm of the 2020–21 European windstorm season, Filomena formed over the Atlantic Ocean close to the Canary Islands on 7 January, subsequently taking a slow track north-eastwards towards the Iberian Peninsula and then eastwards across the Mediterranean Sea. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:48, 2 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-49 == <section begin="technews-2024-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/49|Translations]] are available. '''Updates for editors''' * Two new parser functions were added this week. The <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interwikilink|#interwikilink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interwiki links|interwiki link]] and the <code dir="ltr"><nowiki>{{</nowiki>[[mw:Special:MyLanguage/Help:Magic words#interlanguagelink|#interlanguagelink]]<nowiki>}}</nowiki></code> function adds an [[mw:Special:MyLanguage/Help:Links#Interlanguage links|interlanguage link]]. These parser functions are useful on wikis where namespaces conflict with interwiki prefixes. For example, links beginning with <bdi lang="zxx" dir="ltr"><code>MOS:</code></bdi> on English Wikipedia [[phab:T363538|conflict with the <code>mos</code> language code prefix of Mooré Wikipedia]]. * Starting this week, Wikimedia wikis no longer support connections using old RSA-based HTTPS certificates, specifically rsa-2048. This change is to improve security for all users. Some older, unsupported browser or smartphone devices will be unable to connect; Instead, they will display a connectivity error. See the [[wikitech:HTTPS/Browser_Recommendations|HTTPS Browser Recommendations page]] for more-detailed information. All modern operating systems and browsers are always able to reach Wikimedia projects. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/CTYEHVNSXUD3NFAAMG3BLZVTVQWJXJAH/] * Starting December 16, Flow/Structured Discussions pages will be automatically archived and set to read-only at the following wikis: <bdi>arwiki</bdi>{{int:comma-separator/en}}<bdi>cawiki</bdi>{{int:comma-separator/en}}<bdi>frwiki</bdi>{{int:comma-separator/en}}<bdi>mediawikiwiki</bdi>{{int:comma-separator/en}}<bdi>orwiki</bdi>{{int:comma-separator/en}}<bdi>wawiki</bdi>{{int:comma-separator/en}}<bdi>wawiktionary</bdi>{{int:comma-separator/en}}<bdi>wikidatawiki</bdi>{{int:comma-separator/en}}<bdi>zhwiki</bdi>. This is done as part of [[mw:Special:MyLanguage/Structured_Discussions/Deprecation|StructuredDiscussions deprecation work]]. If you need any assistance to archive your page in advance, please contact [[m:User:Trizek (WMF)|Trizek (WMF)]]. [https://phabricator.wikimedia.org/T380910] * This month the Chart extension was deployed to production and is now available on Commons and Testwiki. With the security review complete, pilot wiki deployment is expected to start in the first week of December. You can see a working version [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug with the "Download as PDF" system was fixed. [https://phabricator.wikimedia.org/T376438] '''Updates for technical contributors''' * In late February, temporary accounts will be rolled out on at least 10 large wikis. This deployment will have a significant effect on the community-maintained code. This is about Toolforge tools, bots, gadgets, and user scripts that use IP address data or that are available for logged-out users. The Trust and Safety Product team wants to identify this code, monitor it, and assist in updating it ahead of the deployment to minimize disruption to workflows. The team asks technical editors and volunteer developers to help identify such tools by adding them to [[mw:Trust and Safety Product/Temporary Accounts/For developers/Impacted tools|this list]]. In addition, review the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/For developers|updated documentation]] to learn how to adjust the tools. Join the discussions on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|project talk page]] or in the [[discord:channels/221049808784326656/1227616742340034722|dedicated thread]] on the [[w:Wikipedia:Discord|Wikimedia Community Discord server (in English)]] for support and to share feedback. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:23, 2 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27873992 --> == Wikipedia translation of the week: 2024-50 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Syrian literature]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Poem about Baybars page 1 from Hakawati book.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Syrian literature''' is modern fiction written or orally performed in Arabic by writers from Syria since the independence of the Syrian Arab Republic in 1946. It is part of the historically and geographically wider Arabic literature. The modern states of Syria, Lebanon, Jordan, Israel as well as the Palestinian autonomous areas only came into being in the mid-20th century. Therefore, Syrian literature has since been referred to by literary scholarship as the national literature of the Syrian Arab Republic, as well as the works created in Arabic by Syrian writers in the diaspora. This literature has been influenced by the country's political history, the literature of other Arabic-speaking countries and, especially in its early days, by French literature. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:59, 9 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27846897 --> == Tech News: 2024-50 == <section begin="technews-2024-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/50|Translations]] are available. '''Weekly highlight''' * Technical documentation contributors can find updated resources, and new ways to connect with each other and the Wikimedia Technical Documentation Team, at the [[mw:Special:MyLanguage/Documentation|Documentation hub]] on MediaWiki.org. This page links to: resources for writing and improving documentation, a new <bdi lang="zxx" dir="ltr">#wikimedia-techdocs</bdi> IRC channel on libera.chat, a listing of past and upcoming documentation events, and ways to request a documentation consultation or review. If you have any feedback or ideas for improvements to the documentation ecosystem, please [[mw:Wikimedia Technical Documentation Team#Contact us|contact the Technical Documentation Team]]. '''Updates for editors''' [[File:Edit Check on Desktop.png|thumb|Layout change for the Edit Check feature]] * Later this week, [[mw:Special:MyLanguage/Edit check|Edit Check]] will be relocated to a sidebar on desktop. Edit check is the feature for new editors to help them follow policies and guidelines. This layout change creates space to present people with [[mw:Edit check#1 November 2024|new Checks]] that appear ''while'' they are typing. The [[mw:Special:MyLanguage/Edit check#Reference Check A/B Test|initial results]] show newcomers encountering Edit Check are 2.2 times more likely to publish a new content edit that includes a reference and is not reverted. * The Chart extension, which enables editors to create data visualizations, was successfully made available on MediaWiki.org and three pilot wikis (Italian, Swedish, and Hebrew Wikipedias). You can see a working examples [[testwiki:Charts|on Testwiki]] and read [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|the November project update]] for more details. * Translators in wikis where the [[mw:Special:MyLanguage/Content translation/Section translation#Try the tool|mobile experience of Content Translation is available]], can now discover articles in Wikiproject campaigns of their interest from the "[https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=specialcx&filter-type=automatic&filter-id=collections&active-list=suggestions&from=es&to=en All collection]" category in the articles suggestion feature. Wikiproject Campaign organizers can use this feature, to help translators to discover articles of interest, by adding the <code dir=ltr><nowiki><page-collection> </page-collection></nowiki></code> tag to their campaign article list page on Meta-wiki. This will make those articles discoverable in the Content Translation tool. For more detailed information on how to use the tool and tag, please refer to [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists/How to use the features|the step-by-step guide]]. [https://phabricator.wikimedia.org/T378958] * The [[mw:Special:MyLanguage/Extension:Nuke|Nuke]] feature, which enables administrators to mass delete pages, now has a [[phab:T376379#10310998|multiselect filter for namespace selection]]. This enables users to select multiple specific namespaces, instead of only one or all, when fetching pages for deletion. * The Nuke feature also now [[phab:T364225#10371365|provides links]] to the userpage of the user whose pages were deleted, and to the pages which were not selected for deletion, after page deletions are queued. This enables easier follow-up admin-actions. Thanks to Chlod and the Moderator Tools team for both of these improvements. [https://phabricator.wikimedia.org/T364225#10371365] * The Editing Team is working on making it easier to populate citations from archive.org using the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|Citoid]] tool, the auto-filled citation generator. They are asking communities to add two parameters preemptively, <code dir=ltr>archiveUrl</code> and <code dir=ltr>archiveDate</code>, within the TemplateData for each citation template using Citoid. You can see an [https://en.wikipedia.org/w/index.php?title=Template%3ACite_web%2Fdoc&diff=1261320172&oldid=1260788022 example of a change in a template], and a [https://global-search.toolforge.org/?namespaces=10&q=%5C%22citoid%5C%22%3A%20%5C%7B&regex=1&title= list of all relevant templates]. [https://phabricator.wikimedia.org/T374831] * One new wiki has been created: a {{int:project-localized-name-group-wikivoyage}} in [[d:Q9240|Indonesian]] ([[voy:id:|<code>voy:id:</code>]]) [https://phabricator.wikimedia.org/T380726] * Last week, all wikis had problems serving pages to logged-in users and some logged-out users for 30–45 minutes. This was caused by a database problem, and investigation is ongoing. [https://www.wikimediastatus.net/incidents/3g2ckc7bp6l9] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug in the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add Link]] feature has been fixed. Previously, the list of sections which are excluded from Add Link was partially ignored in certain cases. [https://phabricator.wikimedia.org/T380455][https://phabricator.wikimedia.org/T380329] '''Updates for technical contributors''' * [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, now has an early-stage [[gitiles:design/codex-php|implementation in PHP]]. It is available for general use in MediaWiki extensions and Toolforge apps through [https://packagist.org/packages/wikimedia/codex Composer], with use in MediaWiki core coming soon. More information is available in [[wmdoc:design-codex-php/main/index.html|the documentation]]. Thanks to Doğu for the inspiration and many contributions to the library. [https://phabricator.wikimedia.org/T379662] * [https://en.wikipedia.org/api/rest_v1/ Wikimedia REST API] users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. On December 4, the MediaWiki Interfaces team began rerouting page/revision metadata and rendered HTML content endpoints on [[testwiki:|testwiki]] from RESTbase to comparable MediaWiki REST API endpoints. The team encourages active users of these endpoints to verify their tool's behavior on testwiki and raise any concerns on the related [[phab:T374683|Phabricator ticket]] before the end of the year, as they intend to roll out the same change across all Wikimedia projects in early January. These changes are part of the work to replace the outdated [[mw:RESTBase/deprecation|RESTBase]] system. * The [https://wikimediafoundation.limesurvey.net/986172 2024 Developer Satisfaction Survey] is seeking the opinions of the Wikimedia developer community. Please take the survey if you have any role in developing software for the Wikimedia ecosystem. The survey is open until 3 January 2025, and has an associated [[foundation:Legal:Developer Satisfaction Survey 2024 Privacy Statement|privacy statement]]. * There is no new MediaWiki version this week. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar] '''Meetings and events''' * The next meeting in the series of [[c:Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation discussions with the Wikimedia Commons community]] will take place on [[m:Event:Commons community discussion - 12 December 2024 08:00 UTC|December 12 at 8:00 UTC]] and [[m:Event:Commons community discussion - 12_December 2024 16:00 UTC|at 16:00 UTC]]. The topic of this call is new media and new contributors. Contributors from all wikis are welcome to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:16, 9 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27919424 --> == Wikipedia translation of the week: 2024-51 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Mars ocean theory]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:AncientMars.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Mars ocean theory''' states that nearly a third of the surface of Mars was covered by an ocean of liquid water early in the planet's geologic history. This primordial ocean, dubbed Paleo-Ocean or Oceanus Borealis (/oʊˈsiːənəs ˌbɒriˈælɪs/ oh-SEE-ə-nəs BORR-ee-AL-iss), would have filled the basin Vastitas Borealis in the northern hemisphere, a region that lies 4–5 km (2.5–3 miles) below the mean planetary elevation, at a time period of approximately 4.1–3.8 billion years ago. Evidence for this ocean includes geographic features resembling ancient shorelines, and the chemical properties of the Martian soil and atmosphere <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:44, 16 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27933909 --> == Tech News: 2024-51 == <section begin="technews-2024-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2024/51|Translations]] are available. '''Weekly highlight''' * Interested in improving event management on your home wiki? The [[m:Special:MyLanguage/CampaignEvents|CampaignEvents extension]] offers organizers features like event registration management, event/wikiproject promotion, finding potential participants, and more - all directly on-wiki. If you are an organizer or think your community would benefit from this extension, start a discussion to enable it on your wiki today. To learn more about how to enable this extension on your wiki, visit the [[m:CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|deployment status page]]. '''Updates for editors''' * Users of the iOS Wikipedia App in Italy and Mexico on the Italian, Spanish, and English Wikipedias, can see a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review|personalized Year in Review]] with insights based on their reading and editing history. * Users of the Android Wikipedia App in Sub-Saharan Africa and South Asia can see the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Rabbit Holes|Rabbit Holes]] feature. This feature shows a suggested search term in the Search bar based on the current article being viewed, and a suggested reading list generated from the user’s last two visited articles. * The [[m:Special:MyLanguage/Global reminder bot|global reminder bot]] is now active and running on nearly 800 wikis. This service reminds most users holding temporary rights when they are about to expire, so that they can renew should they want to. See [[m:Global reminder bot/Technical details|the technical details page]] for more information. * The next issue of Tech News will be sent out on 13 January 2025 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was [[phab:T374988|fixed]] in the Android Wikipedia App which had caused translatable SVG images to show the wrong language when they were tapped. '''Updates for technical contributors''' * There is no new MediaWiki version next week. The next deployments will start on 14 January. [https://wikitech.wikimedia.org/wiki/Deployments/Yearly_calendar/2025] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2024/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2024-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:25, 16 December 2024 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=27942374 --> == Wikipedia translation of the week: 2024-52 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2024 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2023 Slovenia floods]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Sava v Tacnu 4. avgusta ob 16h.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> In August 2023, major floods occurred in large part of Slovenia and neighbouring areas of Austria and Croatia due to heavy rain. Amongst others, the level of rivers Sava, Mur and Drava was exceptionally high. Several settlements and transport links in Slovene Littoral, Upper Carniola and Slovenian Carinthia were flooded. Due to the amount of rain, the streams in Idrija, Cerkno and Škofja Loka Hills overflowed. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:55, 23 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=27933909 --> == Wikipedia translation of the week: 2025-01 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Uganda Railways Corporation]]'''<br /> <small>''([[:de:Schienenverkehr in Uganda]])&#32;([[:no:Uganda Railways Corporation]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:9620 mit Güterzug.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Uganda Railways Corporation''' (URC) is the parastatal railway of Uganda. It was formed after the breakup of the East African Railways Corporation (EARC) in 1977 when it took over the Ugandan part of the East African railways. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:37, 30 December 2024 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28019313 --> == Wikipedia translation of the week: 2025-02 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Internment of Japanese Canadians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Japanese road camp.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> From 1942 to 1949, Canada forcibly relocated and incarcerated over 22,000 Japanese Canadians—comprising over 90% of the total Japanese Canadian population—from British Columbia in the name of "national security". The majority were Canadian citizens by birth and were targeted based on their ancestry. This decision followed the events of the Japanese Empire's war in the Pacific against the Western Allies, such as the invasion of Hong Kong, the attack on Pearl Harbor in Hawaii, and the Fall of Singapore which led to the Canadian declaration of war on Japan during World War II. Similar to the actions taken against Japanese Americans in neighbouring United States, this forced relocation subjected many Japanese Canadians to government-enforced curfews and interrogations, job and property losses, and forced repatriation to Japan <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:56, 6 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28070038 --> == Wikipedia translation of the week: 2025-03 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Christmas seals]]'''<br /> <small>''([[:no:Julemerke]])&#32;([[:ru:Рождественская виньетка]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:1915 US Christmas Seal.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Christmas seals''' are adhesive labels that are similar in appearance to postage stamps that are sold then affixed to mail during the Christmas season to raise funds and awareness for charitable programs. Christmas seals have become particularly associated with lung diseases such as tuberculosis, and with child welfare in general. They were first issued in Denmark beginning in 1904, with Sweden and Iceland following with issues that same year. Thereafter the use of Christmas seals proved to be popular and spread quickly around the world, with 130 countries producing their own issues. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 13 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28086717 --> == Tech News: 2025-03 == <section begin="technews-2025-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/03|Translations]] are available. '''Weekly highlight''' * The Single User Login system is being updated over the next few months. This is the system which allows users to fill out the login form on one Wikimedia site and get logged in on all others at the same time. It needs to be updated because of the ways that browsers are increasingly restricting cross-domain cookies. To accommodate these restrictions, login and account creation pages will move to a central domain, but it will still appear to the user as if they are on the originating wiki. The updated code will be enabled this week for users on test wikis. This change is planned to roll out to all users during February and March. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and a timeline. '''Updates for editors''' * On wikis with [[mw:Special:MyLanguage/Extension:PageAssessments|PageAssessments]] installed, you can now [[mw:Special:MyLanguage/Extension:PageAssessments#Search|filter search results]] to pages in a given WikiProject by using the <code dir=ltr>inproject:</code> keyword. (These wikis: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwikivoyage/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-huwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-newiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}) [https://phabricator.wikimedia.org/T378868] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia}} in [[d:Q34129|Tigre]] ([[w:tig:|<code>w:tig:</code>]]) [https://phabricator.wikimedia.org/T381377] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with updating a user's edit-count after making a rollback edit, which is now fixed. [https://phabricator.wikimedia.org/T382592] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia REST API users, such as bot operators and tool maintainers, may be affected by ongoing upgrades. Starting the week of January 13, we will begin rerouting [[phab:T374683|some page content endpoints]] from RESTbase to the newer MediaWiki REST API endpoints for all wiki projects. This change was previously available on testwiki and should not affect existing functionality, but active users of the impacted endpoints may raise issues directly to the [[phab:project/view/6931/|MediaWiki Interfaces Team]] in Phabricator if they arise. * Toolforge tool maintainers can now share their feedback on Toolforge UI, an initiative to provide a web platform that allows creating and managing Toolforge tools through a graphic interface, in addition to existing command-line workflows. This project aims to streamline active maintainers’ tasks, as well as make registration and deployment processes more accessible for new tool creators. The initiative is still at a very early stage, and the Cloud Services team is in the process of collecting feedback from the Toolforge community to help shape the solution to their needs. [[wikitech:Wikimedia Cloud Services team/EnhancementProposals/Toolforge UI|Read more and share your thoughts about Toolforge UI]]. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] For tool and library developers who use the OAuth system: The identity endpoint used for [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user|OAuth 1]] and [[mw:Special:MyLanguage/OAuth/For Developers#Identifying the user 2|OAuth 2]] returned a JSON object with an integer in its <code>sub</code> field, which was incorrect (the field must always be a string). This has been fixed; the fix will be deployed to Wikimedia wikis on the week of January 13. [https://phabricator.wikimedia.org/T382139] * Many wikis currently use [[:mw:Parsoid/Parser Unification/Cite CSS|Cite CSS]] to render custom footnote markers in Parsoid output. Starting January 20 these rules will be disabled, but the developers ask you to ''not'' clean up your <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi> until February 20 to avoid issues during the migration. Your wikis might experience some small changes to footnote markers in Visual Editor and when using experimental Parsoid read mode, but if there are changes these are expected to bring the rendering in line with the legacy parser output. [https://phabricator.wikimedia.org/T370027] '''Meetings and events''' * The next meeting in the series of [[c:Special:MyLanguage/Commons:WMF support for Commons/Commons community calls|Wikimedia Foundation Community Conversations with the Wikimedia Commons community]] will take place on [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 08:00 UTC|January 15 at 8:00 UTC]] and [[m:Special:MyLanguage/Event:Commons community discussion - 15 January 2025 16:00 UTC|at 16:00 UTC]]. The topic of this call is defining the priorities in tool investment for Commons. Contributors from all wikis, especially users who are maintaining tools for Commons, are welcome to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:42, 14 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28048614 --> == Wikipedia translation of the week: 2025-04 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Nagorno-Karabakh clashes]]'''<br /> <small>''([[:it:Scontri del Nagorno Karabakh del 2010]])&#32;([[:tr:2010 Dağlık Karabağ çatışmaları]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''2010 Nahorno karabakh war''' were a series of exchanges of gunfire that took place on February 18 on the line of contact dividing Azerbaijani and the Karabakh Armenian military forces. Azerbaijan accused the Armenian forces of firing on the Azerbaijani positions near Tap Qaraqoyunlu, Qızıloba, Qapanlı, Yusifcanlı and Cavahirli villages, as well as in uplands of Agdam Rayon with small arms fire including snipers. As a result, three Azerbaijani soldiers were killed and one wounded. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:20, 20 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28099770 --> == Tech News: 2025-04 == <section begin="technews-2025-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/04|Translations]] are available. '''Updates for editors''' * Administrators can mass-delete multiple pages created by a user or IP address using [[mw:Special:MyLanguage/Extension:Nuke|Extension:Nuke]]. It previously only allowed deletion of pages created in the last 30 days. It can now delete pages from the last 90 days, provided it is targeting a specific user or IP address. [https://phabricator.wikimedia.org/T380846] * On [[phab:P72148|wikis that use]] the [[mw:Special:MyLanguage/Help:Patrolled edits|Patrolled edits]] feature, when the rollback feature is used to revert an unpatrolled page revision, that revision will now be marked as "manually patrolled" instead of "autopatrolled", which is more accurate. Some editors that use [[mw:Special:MyLanguage/Help:New filters for edit review/Filtering|filters]] on Recent Changes may need to update their filter settings. [https://phabricator.wikimedia.org/T302140] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Visual Editor's "Insert link" feature did not always suggest existing pages properly when an editor started typing, which has now been [[phab:T383497|fixed]]. '''Updates for technical contributors''' * The Structured Discussion extension (also known as Flow) is being progressively removed from the wikis. This extension is unmaintained and causes issues. It will be replaced by [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]], which is used on any regular talk page. [[mw:Special:MyLanguage/Structured Discussions/Deprecation#Deprecation timeline|The last group of wikis]] ({{int:project-localized-name-cawikiquote/en}}{{int:comma-separator/en}}{{int:project-localized-name-fiwikimedia/en}}{{int:comma-separator/en}}{{int:project-localized-name-gomwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kabwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwikibooks/en}}{{int:comma-separator/en}}{{int:project-localized-name-sewikimedia/en}}) will soon be contacted. If you have questions about this process, please ping [[m:User:Trizek (WMF)|Trizek (WMF)]] at your wiki. [https://phabricator.wikimedia.org/T380912] * The latest quarterly [[mw:Technical_Community_Newsletter/2025/January|Technical Community Newsletter]] is now available. This edition includes: updates about services from the Data Platform Engineering teams, information about Codex from the Design System team, and more. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:37, 21 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28129769 --> == Wikipedia translation of the week: 2025-05 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Jinnah's birthday]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Yorkstatue.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Jinnah's Birthday''', officially Quaid-e-Azam Day and sometimes known as Quaid Day, is a public holiday in Pakistan observed annually on 25 December to celebrate the birthday of the founder of Pakistan, Muhammad Ali Jinnah, known as Quaid-i-Azam ("Great Leader"). A major holiday, commemorations for Jinnah began during his lifetime in 1942, and have continued ever since. The event is primarily observed by the government and the citizens of the country where the national flag is hoisted at major architectural structures such as private and public buildings, particularly at the top of Quaid-e-Azam House in Karachi. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:30, 27 January 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28156501 --> == Tech News: 2025-05 == <section begin="technews-2025-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/05|Translations]] are available. '''Weekly highlight''' * Patrollers and admins - what information or context about edits or users could help you to make patroller or admin decisions more quickly or easily? The Wikimedia Foundation wants to hear from you to help guide its upcoming annual plan. Please consider sharing your thoughts on this and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|13 other questions]] to shape the technical direction for next year. '''Updates for editors''' * iOS Wikipedia App users worldwide can now access a [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Personalized Wikipedia Year in Review/How your data is used|personalized Year in Review]] feature, which provides insights based on their reading and editing history on Wikipedia. This project is part of a broader effort to help welcome new readers as they discover and interact with encyclopedic content. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] Edit patrollers now have a new feature available that can highlight potentially problematic new pages. When a page is created with the same title as a page which was previously deleted, a tag ('Recreated') will now be added, which users can filter for in [[{{#special:RecentChanges}}]] and [[{{#special:NewPages}}]]. [https://phabricator.wikimedia.org/T56145] * Later this week, there will be a new warning for editors if they attempt to create a redirect that links to another redirect (a [[mw:Special:MyLanguage/Help:Redirects#Double redirects|double redirect]]). The feature will recommend that they link directly to the second redirect's target page. Thanks to the user SomeRandomDeveloper for this improvement. [https://phabricator.wikimedia.org/T326056] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Wikimedia wikis allow [[w:en:WebAuthn|WebAuthn]]-based second factor checks (such as hardware tokens) during login, but the feature is [[m:Community Wishlist Survey 2023/Miscellaneous/Fix security key (WebAuthn) support|fragile]] and has very few users. The MediaWiki Platform team is temporarily disabling adding new WebAuthn keys, to avoid interfering with the rollout of [[mw:MediaWiki Platform Team/SUL3|SUL3]] (single user login version 3). Existing keys are unaffected. [https://phabricator.wikimedia.org/T378402] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For developers that use the [[wikitech:Data Platform/Data Lake/Edits/MediaWiki history dumps|MediaWiki History dumps]]: The Data Platform Engineering team has added a couple of new fields to these dumps, to support the [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|Temporary Accounts]] initiative. If you maintain software that reads those dumps, please review your code and the updated documentation, since the order of the fields in the row will change. There will also be one field rename: in the <bdi lang="zxx" dir="ltr"><code>mediawiki_user_history</code></bdi> dump, the <bdi lang="zxx" dir="ltr"><code>anonymous</code></bdi> field will be renamed to <bdi lang="zxx" dir="ltr"><code>is_anonymous</code></bdi>. The changes will take effect with the next release of the dumps in February. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LKMFDS62TXGDN6L56F4ABXYLN7CSCQDI/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:15, 27 January 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28149374 --> == Wikipedia translation of the week: 2025-06 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:French conquest of Corsica]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Bataille de Ponte Novu.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''French conquest of Corsica''' was a successful expedition by French forces of the Kingdom of France under Comte de Vaux, against Corsican forces under Pasquale Paoli of the Corsican Republic. The expedition was launched in May 1768, in the aftermath of the Seven Years' War. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:20, 3 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28200320 --> == Tech News: 2025-06 == <section begin="technews-2025-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/06|Translations]] are available. '''Updates for editors''' * Editors who use the "Special characters" editing-toolbar menu can now see the 32 special characters you have used most recently, across editing sessions on that wiki. This change should help make it easier to find the characters you use most often. The feature is in both the 2010 wikitext editor and VisualEditor. [https://phabricator.wikimedia.org/T110722] * Editors using the 2010 wikitext editor can now create sublists with correct indentation by selecting the line(s) you want to indent and then clicking the toolbar buttons.[https://phabricator.wikimedia.org/T380438] You can now also insert <code><nowiki><code></nowiki></code> tags using a new toolbar button.[https://phabricator.wikimedia.org/T383010] Thanks to user stjn for these improvements. * Help is needed to ensure the [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]] works properly on each wiki. ** (1) Administrators should update the local versions of the page <code dir=ltr>MediaWiki:Citoid-template-type-map.json</code> to include entries for <code dir=ltr>preprint</code>, <code dir=ltr>standard</code>, and <code dir=ltr>dataset</code>; Here are example diffs to replicate [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1189164774&oldid=1165783565 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=MediaWiki%3ACitoid-template-type-map.json&diff=1270832208&oldid=1270828390 for 'standard' and 'dataset']. ** (2.1) If the citoid map in the citation template used for these types of references is missing, [[mediawikiwiki:Citoid/Enabling Citoid on your wiki#Step 2.a: Create a 'citoid' maps value for each citation template|one will need to be added]]. (2.2) If the citoid map does exist, the TemplateData will need to be updated to include new field names. Here are example updates [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270829051&oldid=1262470053 for 'preprint'] and [https://en.wikipedia.org/w/index.php?title=Template%3ACitation%2Fdoc&diff=1270831369&oldid=1270829480 for 'standard' and 'dataset']. The new fields that may need to be supported are <code dir=ltr>archiveID</code>, <code dir=ltr>identifier</code>, <code dir=ltr>repository</code>, <code dir=ltr>organization</code>, <code dir=ltr>repositoryLocation</code>, <code dir=ltr>committee</code>, and <code dir=ltr>versionNumber</code>. [https://phabricator.wikimedia.org/T383666] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q15637215|Central Kanuri]] ([[w:knc:|<code>w:knc:</code>]]) [https://phabricator.wikimedia.org/T385181] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mediawikiwiki:Special:MyLanguage/Help:Extension:Wikisource/Wikimedia OCR|OCR (optical character recognition) tool]] used for Wikisource now supports a new language, Church Slavonic. [https://phabricator.wikimedia.org/T384782] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:09, 4 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28203495 --> == Wikipedia translation of the week: 2025-07 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Assassination of Spencer Perceval]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:PercevalShooting.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> On 11 May 1812, at about 5:15 pm, Spencer Perceval, the prime minister of the United Kingdom of Great Britain and Ireland, was shot dead in the lobby of the House of Commons by John Bellingham, a Liverpool merchant with a grievance against the government. Bellingham was detained; four days after the murder, he was tried, convicted and sentenced to death. He was hanged at Newgate Prison on 18 May, one week after the assassination and one month before the start of the War of 1812. Perceval remains the sole British prime minister to have been assassinated. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 10 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28200320 --> == Tech News: 2025-07 == <section begin="technews-2025-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/07|Translations]] are available. '''Weekly highlight''' * The Product and Technology Advisory Council (PTAC) has published [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|a draft of their recommendations]] for the Wikimedia Foundation's Product and Technology department. They have recommended focusing on [[m:Special:MyLanguage/Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback/Mobile experiences|mobile experiences]], particularly contributions. They request community [[m:Talk:Product and Technology Advisory Council/February 2025 draft PTAC recommendation for feedback|feedback at the talk page]] by 21 February. '''Updates for editors''' * The "Special pages" portlet link will be moved from the "Toolbox" into the "Navigation" section of the main menu's sidebar by default. This change is because the Toolbox is intended for tools relating to the current page, not tools relating to the site, so the link will be more logically and consistently located. To modify this behavior and update CSS styling, administrators can follow the instructions at [[phab:T385346|T385346]]. [https://phabricator.wikimedia.org/T333211] * As part of this year's work around improving the ways readers discover content on the wikis, the Web team will be running an experiment with a small number of readers that displays some suggestions for related or interesting articles within the search bar. Please check out [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments#Experiment 1: Display article recommendations in more prominent locations, search|the project page]] for more information. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template editors who use TemplateStyles can now customize output for users with specific accessibility needs by using accessibility related media queries (<code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-motion prefers-reduced-motion]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-reduced-transparency prefers-reduced-transparency]</code>, <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-contrast prefers-contrast]</code>, and <code dir=ltr>[https://developer.mozilla.org/en-US/docs/Web/CSS/@media/forced-colors forced-colors]</code>). Thanks to user Bawolff for these improvements. [https://phabricator.wikimedia.org/T384175] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:22}} community-submitted {{PLURAL:22|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the global blocks log will now be shown directly on the {{#special:CentralAuth}} page, similarly to global locks, to simplify the workflows for stewards. [https://phabricator.wikimedia.org/T377024] '''Updates for technical contributors''' * Wikidata [[d:Special:MyLanguage/Help:Default values for labels and aliases|now supports a special language as a "default for all languages"]] for labels and aliases. This is to avoid excessive duplication of the same information across many languages. If your Wikidata queries use labels, you may need to update them as some existing labels are getting removed. [https://phabricator.wikimedia.org/T312511] * The function <code dir="ltr">getDescription</code> was invoked on every Wiki page read and accounts for ~2.5% of a page's total load time. The calculated value will now be cached, reducing load on Wikimedia servers. [https://phabricator.wikimedia.org/T383660] * As part of the RESTBase deprecation [[mw:RESTBase/deprecation|effort]], the <code dir="ltr">/page/related</code> endpoint has been blocked as of February 6, 2025, and will be removed soon. This timeline was chosen to align with the deprecation schedules for older Android and iOS versions. The stable alternative is the "<code dir="ltr">morelike</code>" action API in MediaWiki, and [[gerrit:c/mediawiki/services/mobileapps/+/982154/13/pagelib/src/transform/FooterReadMore.js|a migration example]] is available. The MediaWiki Interfaces team [[phab:T376297|can be contacted]] for any questions. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/GFC2IJO7L4BWO3YTM7C5HF4MCCBE2RJ2/] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/January|Language and Internationalization newsletter]] is available. It includes: Updates about the "Contribute" menu; details on some of the newest language editions of Wikipedia; details on new languages supported by the MediaWiki interface; updates on the Community-defined lists feature; and more. * The latest [[mw:Extension:Chart/Project/Updates#January 2025: Better visibility into charts and tabular data usage|Chart Project newsletter]] is available. It includes updates on the progress towards bringing better visibility into global charts usage and support for categorizing pages in the Data namespace on Commons. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:12, 11 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28231022 --> == Wikipedia translation of the week: 2025-08 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:2010 Malagasy constitutional referendum]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A constitutional referendum was held in Madagascar on 17 November 2010, in which voters approved a proposal for the state's fourth Constitution. The Malagasy people were asked to answer "Yes" or "No" to the proposed new constitution, which was considered to help consolidate Andry Rajoelina's grip on power. At the time of the referendum, Rajoelina headed the governing Highest Transitional Authority (HAT), an interim junta established following the military-backed coup d'état against then President Marc Ravalomanana in March 2009. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:21, 17 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28245290 --> == Tech News: 2025-08 == <section begin="technews-2025-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/08|Translations]] are available. '''Weekly highlight''' * Communities using growth tools can now showcase one event on the <code>{{#special:Homepage}}</code> for newcomers. This feature will help newcomers to be informed about editing activities they can participate in. Administrators can create a new event to showcase at <code>{{#special:CommunityConfiguration}}</code>. To learn more about this feature, please read [[diffblog:2025/02/12/community-updates-module-connecting-newcomers-to-your-initiatives/|the Diff post]], have a look [[mw:Special:MyLanguage/Help:Growth/Tools/Community updates module|at the documentation]], or contact [[mw:Talk:Growth|the Growth team]]. '''Updates for editors''' [[File:Page Frame Features on desktop.png|thumb|Highlighted talk pages improvements]] * Starting next week, talk pages at these wikis – {{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}} – will get [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|a new design]]. This change was extensively tested as a Beta feature and is the last step of [[mw:Special:MyLanguage/Talk pages project/Feature summary|talk pages improvements]]. [https://phabricator.wikimedia.org/T379102] * You can now navigate to view a redirect page directly from its action pages, such as the history page. Previously, you were forced to first go to the redirect target. This change should help editors who work with redirects a lot. Thanks to user stjn for this improvement. [https://phabricator.wikimedia.org/T5324] * When a Cite reference is reused many times, wikis currently show either numbers like "1.23" or localized alphabetic markers like "a b c" in the reference list. Previously, if there were so many reuses that the alphabetic markers were all used, [[MediaWiki:Cite error references no backlink label|an error message]] was displayed. As part of the work to [[phab:T383036|modernize Cite customization]], these errors will no longer be shown and instead the backlinks will fall back to showing numeric markers like "1.23" once the alphabetic markers are all used. * The log entries for each change to an editor's user-groups are now clearer by specifying exactly what has changed, instead of the plain before and after listings. Translators can [[phab:T369466|help to update the localized versions]]. Thanks to user Msz2001 for these improvements. * A new filter has been added to the [[{{#special:Nuke}}]] tool, which allows administrators to mass delete pages, to enable users to filter for pages in a range of page sizes (in bytes). This allows, for example, deleting pages only of a certain size or below. [https://phabricator.wikimedia.org/T378488] * Non-administrators can now check which pages are able to be deleted using the [[{{#special:Nuke}}]] tool. Thanks to user MolecularPilot for this and the previous improvements. [https://phabricator.wikimedia.org/T376378] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:25}} community-submitted {{PLURAL:25|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed in the configuration for the AV1 video file format, which enables these files to play again. [https://phabricator.wikimedia.org/T382193] '''Updates for technical contributors''' * Parsoid Read Views is going to be rolling out to most Wiktionaries over the next few weeks, following the successful transition of Wikivoyage to Parsoid Read Views last year. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/T385923][https://phabricator.wikimedia.org/T371640] * Developers of tools that run on-wiki should note that <code dir=ltr>mw.Uri</code> is deprecated. Tools requiring <code dir=ltr>mw.Uri</code> must explicitly declare <code dir=ltr>mediawiki.Uri</code> as a ResourceLoader dependency, and should migrate to the browser native <code dir=ltr>URL</code> API soon. [https://phabricator.wikimedia.org/T384515] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:17, 17 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28275610 --> == Wikipedia translation of the week: 2025-09 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Cooler Heads Coalition]]'''<br /> <small>''([[:de:Cooler Heads Coalition]])&#32;([[:fr:Cooler Heads Coalition]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Cooler Heads Coalition''' is a politically conservative "informal and ad-hoc group" in the United States, financed and operated by the Competitive Enterprise Institute. The group, which rejects the scientific consensus on climate change, made efforts to stop the government from addressing climate change. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 24 February 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28300238 --> == Tech News: 2025-09 == <section begin="technews-2025-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/09|Translations]] are available. '''Updates for editors''' * Administrators can now customize how the [[m:Special:MyLanguage/User language|Babel feature]] creates categories using [[{{#special:CommunityConfiguration/Babel}}]]. They can rename language categories, choose whether they should be auto-created, and adjust other settings. [https://phabricator.wikimedia.org/T374348] * The <bdi lang="en" dir="ltr">[https://www.wikimedia.org/ wikimedia.org]</bdi> portal has been updated – and is receiving some ongoing improvements – to modernize and improve the accessibility of our portal pages. It now has better support for mobile layouts, updated wording and links, and better language support. Additionally, all of the Wikimedia project portals, such as <bdi lang="en" dir="ltr">[https://wikibooks.org wikibooks.org]</bdi>, now support dark mode when a reader is using that system setting. [https://phabricator.wikimedia.org/T373204][https://phabricator.wikimedia.org/T368221][https://meta.wikimedia.org/wiki/Project_portals] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33965|Santali]] ([[wikt:sat:|<code>wikt:sat:</code>]]) [https://phabricator.wikimedia.org/T386619] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that prevented clicking on search results in the web-interface for some Firefox for Android phone configurations. [https://phabricator.wikimedia.org/T381289] '''Meetings and events''' * The next Language Community Meeting is happening soon, February 28th at [https://zonestamp.toolforge.org/1740751200 14:00 UTC]. This week's meeting will cover: highlights and technical updates on keyboard and tools for the Sámi languages, Translatewiki.net contributions from the Bahasa Lampung community in Indonesia, and technical Q&A. If you'd like to join, simply [[mw:Wikimedia Language and Product Localization/Community meetings#28 February 2025|sign up on the wiki page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:42, 25 February 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28296129 --> == Wikipedia translation of the week: 2025-10 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:pt:Transmissor de Ondas]]'''<br /> <small>''([[:en:Wave Transmitter]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Esq eletr transm ondas color.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Transmissor de Ondas''' é um equipamento precursor do rádio, desenvolvido por Roberto Landell de Moura na década de 1890, capaz de transmitir áudio via ondas eletromagnéticas, com sua primeira demonstração pública documentada tendo ocorrido no dia 16 de julho de 1899. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:49, 3 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28317097 --> == Tech News: 2025-10 == <section begin="technews-2025-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/10|Translations]] are available. '''Updates for editors''' * All logged-in editors using the mobile view can now edit a full page. The "{{int:Minerva-page-actions-editfull}}" link is accessible from the "{{int:minerva-page-actions-overflow}}" menu in the toolbar. This was previously only available to editors using the [[mw:Special:MyLanguage/Reading/Web/Advanced mobile contributions|Advanced mobile contributions]] setting. [https://phabricator.wikimedia.org/T387180] * Interface administrators can now help to remove the deprecated Cite CSS code matching "<code dir="ltr">mw-ref</code>" from their local <bdi lang="en" dir="ltr">[[MediaWiki:Common.css]]</bdi>. The list of wikis in need of cleanup, and the code to remove, [https://global-search.toolforge.org/?q=mw-ref%5B%5E-a-z%5D&regex=1&namespaces=8&title=.*css can be found with this global search] and in [https://ace.wikipedia.org/w/index.php?title=MediaWiki:Common.css&oldid=145662#L-139--L-144 this example], and you can learn more about how to help on the [[mw:Parsoid/Parser Unification/Cite CSS|CSS migration project page]]. The Cite footnote markers ("<code dir="ltr">[1]</code>") are now rendered by [[mw:Special:MyLanguage/Parsoid|Parsoid]], and the deprecated CSS is no longer needed. The CSS for backlinks ("<code dir="ltr">mw:referencedBy</code>") should remain in place for now. This cleanup is expected to cause no visible changes for readers. Please help to remove this code before March 20, after which the development team will do it for you. * When editors embed a file (e.g. <code><nowiki>[[File:MediaWiki.png]]</nowiki></code>) on a page that is protected with cascading protection, the software will no longer restrict edits to the file description page, only to new file uploads.[https://phabricator.wikimedia.org/T24521] In contrast, transcluding a file description page (e.g. <code><nowiki>{{:File:MediaWiki.png}}</nowiki></code>) will now restrict edits to the page.[https://phabricator.wikimedia.org/T62109] * When editors revert a file to an earlier version it will now require the same permissions as ordinarily uploading a new version of the file. The software now checks for 'reupload' or 'reupload-own' rights,[https://phabricator.wikimedia.org/T304474] and respects cascading protection.[https://phabricator.wikimedia.org/T140010] * When administrators are listing pages for deletion with the Nuke tool, they can now also list associated talk pages and redirects for deletion, alongside pages created by the target, rather than needing to manually delete these pages afterwards. [https://phabricator.wikimedia.org/T95797] * The [[m:Special:MyLanguage/Tech/News/2025/03|previously noted]] update to Single User Login, which will accommodate browser restrictions on cross-domain cookies by moving login and account creation to a central domain, will now roll out to all users during March and April. The team plans to enable it for all new account creation on [[wikitech:Deployments/Train#Tuesday|Group0]] wikis this week. See [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3#Deployment|the SUL3 project page]] for more details and an updated timeline. * Since last week there has been a bug that shows some interface icons as black squares until the page has fully loaded. It will be fixed this week. [https://phabricator.wikimedia.org/T387351] * One new wiki has been created: a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q2044560|Sylheti]] ([[w:syl:|<code>w:syl:</code>]]) [https://phabricator.wikimedia.org/T386441] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed with loading images in very old versions of the Firefox browser on mobile. [https://phabricator.wikimedia.org/T386400] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.19|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 02:31, 4 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28334563 --> == Wikipedia translation of the week: 2025-11 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Smoky (mascotte olimpica)]]'''<br /> <small>''([[:en:Smoky (Olympic mascot)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Smoky 1932 Olympic Village Mascot.webp|center|300px]] <div style="text-align:left; padding: .4em;"> '''Smoky''' (Los Angeles, 1931 o 1932 - Los Angeles, aprile 1934), occasionalmente scritto Smokey, è stato un cane che divenne la mascotte del villaggio olimpico estivo del 1932 e, successivamente, dell'evento generale. Pur non essendo oggi riconosciuto dal CIO, è stato, seppur non in modo ufficiale, la prima mascotte olimpica dei Giochi, oltre che a essere attualmente l'unica a essere stata un animale vero. Le successive edizioni non ebbero mascotte, dovendo aspettare i X Giochi olimpici invernali di Grenoble nel 1968 per ritrovarne una ufficialmente riconosciuta, lo sciatore stilizzato Schuss, allora non considerato ufficiale ma successivamente riconosciuto come tale. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:50, 10 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28317097 --> == Tech News: 2025-11 == <section begin="technews-2025-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/11|Translations]] are available. '''Updates for editors''' * Editors who use password managers at multiple wikis may notice changes in the future. The way that our wikis provide information to password managers about reusing passwords across domains has recently been updated, so some password managers might now offer you login credentials that you saved for a different Wikimedia site. Some password managers already did this, and are now doing it for more Wikimedia domains. This is part of the [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|SUL3 project]] which aims to improve how our unified login works, and to keep it compatible with ongoing changes to the web-browsers we use. [https://phabricator.wikimedia.org/T385520][https://phabricator.wikimedia.org/T384844] * The Wikipedia Apps Team is inviting interested users to help improve Wikipedia’s offline and limited internet use. After discussions in [[m:Afrika Baraza|Afrika Baraza]] and the last [[m:Special:MyLanguage/ESEAP Hub/Meetings|ESEAP call]], key challenges like search, editing, and offline access are being explored, with upcoming focus groups to dive deeper into these topics. All languages are welcome, and interpretation will be available. Want to share your thoughts? [[mw:Special:MyLanguage/Wikimedia Apps/Improving Wikipedia Mobile Apps for Offline & Limited Internet Use|Join the discussion]] or email <bdi lang="en" dir="ltr">aramadan@wikimedia.org</bdi>! * All wikis will be read-only for a few minutes on March 19. This is planned at [https://zonestamp.toolforge.org/1742392800 14:00 UTC]. More information will be published in Tech News and will also be posted on individual wikis in the coming weeks. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.20|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/33|Growth newsletter]] is available. It includes: the launch of the Community Updates module, the most recent changes in Community Configuration, and the upcoming test of in-article suggestions for first-time editors. * An old API that was previously used in the Android Wikipedia app is being removed at the end of March. There are no current software uses, but users of the app with a version that is older than 6 months by the time of removal (2025-03-31), will no longer have access to the Suggested Edits feature, until they update their app. You can [[diffblog:2025/02/24/sunset-of-wikimedia-recommendation-api/|read more details about this change]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:10, 10 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28372257 --> == Wikipedia translation of the week: 2025-12 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Amazonas, o maior rio do mundo]]'''<br /> <small>''([[:pt:Amazonas, o maior rio do mundo]])&#32;([[:es:Amazonas, o maior rio do mundo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Frame A from Amazonas, o maior rio do mundo.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''''Amazonas, o maior rio do mundo''''' (lit. 'Amazon: The Greatest River in the World') is a 1922 Brazilian silent documentary film produced in 1918 by Silvino Santos. It is a black-and-white film that portrays life in the Amazon rainforest. Completed in 1920, it is considered one of the oldest cinematic records of the Amazon. It was presumed lost in 1931 and only rediscovered in 2023 at the Czech Film Archive. Silvino Santos produced the work over three years using sophisticated cinematic techniques, which led it to be deemed of "immense artistic value" by Le Monde. It has also been described as the "Holy Grail of Brazilian silent cinema" by The Guardian. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:57, 17 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28392163 --> == Tech News: 2025-12 == <section begin="technews-2025-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/12|Translations]] are available. '''Weekly highlight''' * Twice a year, around the equinoxes, the Wikimedia Foundation's Site Reliability Engineering (SRE) team performs [[m:Special:MyLanguage/Tech/Server switch|a datacenter server switchover]], redirecting all traffic from one primary server to its backup. This provides reliability in case of a crisis, as we can always fall back on the other datacenter. [http://listen.hatnote.com/ Thanks to the Listen to Wikipedia] tool, you can hear the switchover take place: Before it begins, you'll hear the steady stream of edits; Then, as the system enters a brief read-only phase, the sound stops for a couple of minutes, before resuming after the switchover. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. If you want to keep an ear out for the next server switchover, listen to the wikis on [https://zonestamp.toolforge.org/1742392800 March 19 at 14:00 UTC]. '''Updates for editors''' * The [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=es improved Content Translation tool dashboard] is now available in [[phab:T387820|10 Wikipedias]] and will be available for all Wikipedias [[phab:T387821|soon]]. With [[mw:Special:MyLanguage/Content translation#Improved translation experience|the unified dashboard]], desktop users can now: Translate new sections of an article; Discover and access topic-based [https://ig.m.wikipedia.org/w/index.php?title=Special:ContentTranslation&active-list=suggestions&from=en&to=ig&filter-type=automatic&filter-id=previous-edits article suggestion filters] (initially available only for mobile device users); Discover and access the [[mw:Special:MyLanguage/Translation suggestions: Topic-based & Community-defined lists|Community-defined lists]] filter, also known as "Collections", from wiki-projects and campaigns. * On Wikimedia Commons, a [[c:Commons:WMF support for Commons/Upload Wizard Improvements#Improve category selection|new system to select the appropriate file categories]] has been introduced: if a category has one or more subcategories, users will be able to click on an arrow that will open the subcategories directly within the form, and choose the correct one. The parent category name will always be shown on top, and it will always be possible to come back to it. This should decrease the amount of work for volunteers in fixing/creating new categories. The change is also available on mobile. These changes are part of planned improvements to the UploadWizard. * The Community Tech team is seeking wikis to join a pilot for the [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] feature and a refreshed Special:Block page in late March. Multiblocks enables administrators to impose multiple different types of blocks on the same user at the same time. If you are an admin or steward and would like us to discuss joining the pilot with your community, please leave a message on the [[m:Talk:Community Wishlist Survey 2023/Multiblocks|project talk page]]. * Starting March 25, the Editing team will test a new feature for Edit Check at [[phab:T384372|12 Wikipedias]]: [[mw:Special:MyLanguage/Help:Edit check#Multi-check|Multi-Check]]. Half of the newcomers on these wikis will see all [[mw:Special:MyLanguage/Help:Edit check#ref|Reference Checks]] during their edit session, while the other half will continue seeing only one. The goal of this test is to see if users are confused or discouraged when shown multiple Reference Checks (when relevant) within a single editing session. At these wikis, the tags used on edits that show References Check will be simplified, as multiple tags could be shown within a single edit. Changes to the tags are documented [[phab:T373949|on Phabricator]]. [https://phabricator.wikimedia.org/T379131] * The [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]], which is a service for notifying users that their temporary user-rights are about to expire, now supports using the localized name of the user-rights group in the message heading. Translators can see the [[m:Global reminder bot/Translation|listing of existing translations and documentation]] to check if their language needs updating or creation. * The [[Special:GlobalPreferences|GlobalPreferences]] gender setting, which is used for how the software should refer to you in interface messages, now works as expected by overriding the local defaults. [https://phabricator.wikimedia.org/T386584] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:26}} community-submitted {{PLURAL:26|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Wikipedia App for Android had a bug fixed for when a user is browsing and searching in multiple languages. [https://phabricator.wikimedia.org/T379777] '''Updates for technical contributors''' * Later this week, the way that Codex styles are loaded will be changing. There is a small risk that this may result in unstyled interface message boxes on certain pages. User generated content (e.g. templates) is not impacted. Gadgets may be impacted. If you see any issues [[phab:T388847|please report them]]. See the linked task for details, screenshots, and documentation on how to fix any affected gadgets. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.21|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:48, 17 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28412594 --> == Wikipedia translation of the week: 2025-13 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ali of the Eretnids]]'''<br /> <small>''([[:tr:Alaaddin Ali Bey]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Ala al-Din Ali''' (January 1353 – August 1380) was the third Sultan of the Eretnids ruling from 1366 until his death. He inherited the throne at a very early age and was removed from administrative matters. He was characterized as particularly keen on personal pleasures, which later discredited his authority. During his rule, emirs under the Eretnids enjoyed considerable autonomy, and the state continued to shrink as neighboring powers captured several towns. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:59, 24 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28433698 --> == Tech News: 2025-13 == <section begin="technews-2025-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/13|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation is seeking your feedback on the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|drafts of the objectives and key results that will shape the Foundation's Product and Technology priorities]] for the next fiscal year (starting in July). The objectives are broad high-level areas, and the key-results are measurable ways to track the success of their objectives. Please share your feedback on the talkpage, in any language, ideally before the end of April. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] will be released to multiple wikis (see [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|deployment plan]] for details) in April 2025, and the team has begun the process of engaging communities on the identified wikis. The extension provides tools to organize, manage, and promote collaborative activities (like events, edit-a-thons, and WikiProjects) on the wikis. The extension has three tools: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Campaigns/Foundation Product Team/Invitation list|Invitation Lists]]. It is currently on 13 Wikipedias, including English Wikipedia, French Wikipedia, and Spanish Wikipedia, as well as Wikidata. Questions or requests can be directed to the [[mw:Help talk:Extension:CampaignEvents|extension talk page]] or in Phabricator (with <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). * Starting the week of March 31st, wikis will be able to set which user groups can view private registrants in [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], as part of the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents]] extension. By default, event organizers and the local wiki admins will be able to see private registrants. This is a change from the current behavior, in which only event organizers can see private registrants. Wikis can change the default setup by [[m:Special:MyLanguage/Requesting wiki configuration changes|requesting a configuration change]] in Phabricator (and adding the <bdi lang="en" dir="ltr" style="white-space: nowrap;">#campaigns-product-team</bdi> tag). Participants of past events can cancel their registration at any time. * Administrators at wikis that have a customized <bdi lang="en" dir="ltr">[[MediaWiki:Sidebar]]</bdi> should check that it contains an entry for the {{int:specialpages}} listing. If it does not, they should add it using <code dir=ltr style="white-space: nowrap;">* specialpages-url|specialpages</code>. Wikis with a default sidebar will see the link moved from the page toolbox into the sidebar menu in April. [https://phabricator.wikimedia.org/T388927] * The Minerva skin (mobile web) combines both Notice and Alert notifications within the bell icon ([[File:OOjs UI icon bell.svg|16px|link=|class=skin-invert]]). There was a long-standing bug where an indication for new notifications was only shown if you had unseen Alerts. This bug is now fixed. In the future, Minerva users will notice a counter atop the bell icon when you have 1 or more unseen Notices and/or Alerts. [https://phabricator.wikimedia.org/T344029] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * VisualEditor has introduced a [[mw:VisualEditor/Hooks|new client-side hook]] for developers to use when integrating with the VisualEditor target lifecycle. This hook should replace the existing lifecycle-related hooks, and be more consistent between different platforms. In addition, the new hook will apply to uses of VisualEditor outside of just full article editing, allowing gadgets to interact with the editor in DiscussionTools as well. The Editing Team intends to deprecate and eventually remove the old lifecycle hooks, so any use cases that this new hook does not cover would be of interest to them and can be [[phab:T355555|shared in the task]]. * Developers who use the <code dir=ltr>mw.Api</code> JavaScript library, can now identify the tool using it with the <code dir=ltr>userAgent</code> parameter: <code dir=ltr>var api = new mw.Api( { userAgent: 'GadgetNameHere/1.0.1' } );</code>. If you maintain a gadget or user script, please set a user agent, because it helps with library and server maintenance and with differentiating between legitimate and illegitimate traffic. [https://phabricator.wikimedia.org/T373874][https://foundation.wikimedia.org/wiki/Policy:Wikimedia_Foundation_User-Agent_Policy] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:43, 24 March 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28443127 --> == Wikipedia translation of the week: 2025-14 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chilembwe uprising]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Chilembwe supporters being led to be executed (cropped).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Chilembwe uprising''' was a rebellion against British colonial rule in Nyasaland (modern-day Malawi) which took place in January 1915. It was led by John Chilembwe, an American-educated Baptist minister. Based around his church in the village of Mbombwe in the south-east of the colony, the leaders of the revolt were mainly from an emerging black middle class. They were motivated by grievances against the British colonial system, which included forced labour, racial discrimination and new demands imposed on the African population following the outbreak of World War I. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:52, 31 March 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-14 == <section begin="technews-2025-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/14|Translations]] are available. '''Updates for editors''' * The Editing team is working on a new [[mw:Special:MyLanguage/Edit Check|Edit check]]: [[mw:Special:MyLanguage/Edit check#26 March 2025|Peacock check]]. This check's goal is to identify non-neutral terms while a user is editing a wikipage, so that they can be informed that their edit should perhaps be changed before they publish it. This project is at the early stages, and the team is looking for communities' input: [[phab:T389445|in this Phabricator task]], they are gathering on-wiki policies, templates used to tag non-neutral articles, and the terms (jargon and keywords) used in edit summaries for the languages they are currently researching. You can participate by editing the table on Phabricator, commenting on the task, or directly messaging [[m:user:Trizek (WMF)|Trizek (WMF)]]. * [[mw:Special:MyLanguage/MediaWiki Platform Team/SUL3|Single User Login]] has now been updated on all wikis to move login and account creation to a central domain. This makes user login compatible with browser restrictions on cross-domain cookies, which have prevented users of some browsers from staying logged in. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:35}} community-submitted {{PLURAL:35|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting on March 31st, the MediaWiki Interfaces team will begin a limited release of generated OpenAPI specs and a SwaggerUI-based sandbox experience for [[mw:Special:MyLanguage/API:REST API|MediaWiki REST APIs]]. They invite developers from a limited group of non-English Wikipedia communities (Arabic, German, French, Hebrew, Interlingua, Dutch, Chinese) to review the documentation and experiment with the sandbox in their preferred language. In addition to these specific Wikipedia projects, the sandbox and OpenAPI spec will be available on the [[testwiki:Special:RestSandbox|on the test wiki REST Sandbox special page]] for developers with English as their preferred language. During the preview period, the MediaWiki Interfaces Team also invites developers to [[mw:MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|share feedback about your experience]]. The preview will last for approximately 2 weeks, after which the sandbox and OpenAPI specs will be made available across all wiki projects. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.23|MediaWiki]] '''In depth''' * Sometimes a small, [[gerrit:c/operations/cookbooks/+/1129184|one line code change]] can have great significance: in this case, it means that for the first time in years we're able to run all of the stack serving <bdi lang="en" dir="ltr">[http://maps.wikimedia.org/ maps.wikimedia.org]</bdi> - a host dedicated to serving our wikis and their multi-lingual maps needs - from a single core datacenter, something we test every time we perform a [[m:Special:MyLanguage/Tech/Server switch|datacenter switchover]]. This is important because it means that in case one of our datacenters is affected by a catastrophe, we'll still be able to serve the site. This change is the result of [[phab:T216826|extensive work]] by two developers on porting the last component of the maps stack over to [[w:en:Kubernetes|kubernetes]], where we can allocate resources more efficiently than before, thus we're able to withstand more traffic in a single datacenter. This work involved a lot of complicated steps because this software, and the software libraries it uses, required many long overdue upgrades. This type of work makes the Wikimedia infrastructure more sustainable. '''Meetings and events''' * [[mw:Special:MyLanguage/MediaWiki Users and Developers Workshop Spring 2025|MediaWiki Users and Developers Workshop Spring 2025]] is happening in Sandusky, USA, and online, from 14–16 May 2025. The workshop will feature discussions around the usage of MediaWiki software by and within companies in different industries and will inspire and onboard new users. Registration and presentation signup is now available at the workshop's website. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 1 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28473566 --> == Wikipedia translation of the week: 2025-15 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:1930 Bago earthquake]]'''<br /> <small>''([[:my:၁၉၃၀ ပဲခူးငလျင်]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Thiao Mueang Phama (1955, p. 165).jpg|center|300px]] <div style="text-align:left; padding: .4em;"> An earthquake affected Myanmar on 5 May 1930 with a moment magnitude (Mw ) 7.4. The shock occurred 35 km (22 mi) beneath the surface with a maximum Rossi–Forel intensity of IX (Devastating tremor). The earthquake was the result of rupture along a 131 km (81 mi) segment of the Sagaing Fault—a major strike-slip fault that runs through the country. Extensive damage was reported in the southern part of the country, particularly in Bago and Yangon, where buildings collapsed and fires erupted. At least 550, and possibly up to 7,000 people were killed. A moderate tsunami struck the Burmese coast which caused minor damage to ships and a port. It was felt for over 570,000 km2 (220,000 sq mi) and as far as Shan State and Thailand. The mainshock was followed by many aftershocks; several were damaging. The December earthquake was similarly sized which also occurred along the Sagaing Fault. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:54, 7 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-15 == <section begin="technews-2025-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/15|Translations]] are available. '''Updates for editors''' * From now on, [[m:Special:MyLanguage/Interface administrators|interface admins]] and [[m:Special:MyLanguage/Central notice administrators|centralnotice admins]] are technically required to enable [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] before they can use their privileges. In the future this might be expanded to more groups with advanced user-rights. [https://phabricator.wikimedia.org/T150898] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The Design System Team is preparing to release the next major version of Codex (v2.0.0) on April 29. Editors and developers who use CSS from Codex should see the [[mw:Codex/Release Timeline/2.0|2.0 overview documentation]], which includes guidance related to a few of the breaking changes such as <code dir=ltr style="white-space: nowrap;">font-size</code>, <code dir=ltr style="white-space: nowrap;">line-height</code>, and <code dir=ltr style="white-space: nowrap;">size-icon</code>. * The results of the [[mw:Developer Satisfaction Survey/2025|Developer Satisfaction Survey (2025)]]  are now available. Thank you to all participants. These results help the Foundation decide what to work on next and to review what they recently worked on. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.24|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]] will take place in Istanbul, Turkey, between 2–4 May. Registration for attending the in-person event will close on 13 April. Before registering, please note the potential need for a [https://www.mfa.gov.tr/turkish-representations.en.mfa visa] or [https://www.mfa.gov.tr/visa-information-for-foreigners.en.mfa e-visa] to enter the country. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 7 April 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28507470 --> == Wikipedia translation of the week: 2025-16 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Museum of Zoology of the University of São Paulo]]'''<br /> <small>''([[:pt:Museu de Zoologia da Universidade de São Paulo]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Museu de Zoologia da USP 02.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Museum of Zoology of the University of São Paulo''' (Portuguese: Museu de Zoologia da Universidade de São Paulo, abbreviated MZUSP) is a public natural history museum located in the historic Ipiranga district of São Paulo, Brazil. The MZUSP is an educational and research institution that is part of the University of São Paulo. The museum began at the end of the 19th century as part of the Museu Paulista; in 1941, it moved into a dedicated building. In 1969 the museum became a part of the University of São Paulo, receiving its current name. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:27, 14 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28454663 --> == Tech News: 2025-16 == <section begin="technews-2025-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/16|Translations]] are available. '''Weekly highlight''' * Later this week, the default thumbnail size will be increased from 220px to 250px. This changes how pages are shown in all wikis and has been requested by some communities for many years, but wasn't previously possible due to technical limitations. [https://phabricator.wikimedia.org/T355914] * File thumbnails are now stored in discrete sizes. If a page specifies a thumbnail size that's not among the standard sizes (20, 40, 60, 120, 250, 330, 500, 960), then MediaWiki will pick the closest larger thumbnail size but will tell the browser to downscale it to the requested size. In these cases, nothing will change visually but users might load slightly larger images. If it doesn't matter which thumbnail size is used in a page, please pick one of the standard sizes to avoid the extra in-browser down-scaling step. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Images#Thumbnail_sizes][https://phabricator.wikimedia.org/T355914] '''Updates for editors''' * The Wikimedia Foundation are working on a system called [[m:Edge Uniques|Edge Uniques]] which will enable [[:w:en:A/B testing|A/B testing]], help protect against [[:w:en:Denial-of-service attack|Distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is so that they can more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. * To improve security for users, a small percentage of logins will now require that the account owner input a one-time password [[mw:Special:MyLanguage/Help:Extension:EmailAuth|emailed to their account]]. It is recommended that you [[Special:Preferences#mw-prefsection-personal-email|check]] that the email address on your account is set correctly, and that it has been confirmed, and that you have an email set for this purpose. [https://phabricator.wikimedia.org/T390662] * "Are you interested in taking a short survey to improve tools used for reviewing or reverting edits on your Wiki?" This question will be [[phab:T389401|asked at 7 wikis starting next week]], on Recent Changes and Watchlist pages. The [[mw:Special:MyLanguage/Moderator Tools|Moderator Tools team]] wants to know more about activities that involve looking at new edits made to your Wikimedia project, and determining whether they adhere to your project's policies. * On April 15, the full Wikidata graph will no longer be supported on <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi>. After this date, scholarly articles will be available through <bdi lang="zxx" dir="ltr" style="white-space:nowrap;">[https://query-scholarly.wikidata.org/ query-scholarly.wikidata.org]</bdi>, while the rest of the data hosted on Wikidata will be available through the <bdi lang="zxx" dir="ltr">[https://query.wikidata.org/ query.wikidata.org]</bdi> endpoint. This is part of the scheduled split of the Wikidata Graph, which was [[d:Special:MyLanguage/Wikidata:SPARQL query service/WDQS backend update/September 2024 scaling update|announced in September 2024]]. More information is [[d:Wikidata:SPARQL query service/WDQS graph split|available on Wikidata]]. * The latest quarterly [[m:Special:MyLanguage/Wikimedia Apps/Newsletter/First quarter of 2025|Wikimedia Apps Newsletter]] is now available. It covers updates, experiments, and improvements made to the Wikipedia mobile apps. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The latest quarterly [[mw:Technical Community Newsletter/2025/April|Technical Community Newsletter]] is now available. This edition includes: an invitation for tool maintainers to attend the Toolforge UI Community Feedback Session on April 15th; recent community metrics; and recent technical blog posts. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.25|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:25, 15 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28540654 --> == Wikipedia translation of the week: 2025-17 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fear of crime]]'''<br /> <small>''([[:ar:الخوف من الجريمة]])&#32;([[:it:Criminofobia]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Fear of crime''' refers to the fear of being a victim of crime, which is not necessarily reflective of the actual probability of being such a victim. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:23, 21 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28559524 --> == Tech News: 2025-17 == <section begin="technews-2025-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/17|Translations]] are available. '''Updates for editors''' * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] is now integrated with [[w:dag:Solɔɣu|Dagbani Wikipedia]] since April 15. It is the first project that will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in articles. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. [https://www.wikifunctions.org/wiki/Special:MyLanguage/Wikifunctions:Status_updates/2025-04-16] * A new type of lint error has been created: [[Special:LintErrors/empty-heading|{{int:linter-category-empty-heading}}]] ([[mw:Special:MyLanguage/Help:Lint errors/empty-heading|documentation]]). The [[mw:Special:MyLanguage/Help:Extension:Linter|Linter extension]]'s purpose is to identify wikitext patterns that must or can be fixed in pages and provide some guidance about what the problems are with those patterns and how to fix them. [https://phabricator.wikimedia.org/T368722] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Following its publication on HuggingFace, the "Structured Contents" dataset, developed by Wikimedia Enterprise, is [https://enterprise.wikimedia.com/blog/kaggle-dataset/ now also available on Kaggle]. This Beta initiative is focused on making Wikimedia data more machine-readable for high-volume reusers. They are releasing this beta version in a location that open dataset communities already use, in order to seek feedback, to help improve the product for a future wider release. You can read more about the overall [https://enterprise.wikimedia.com/blog/structured-contents-snapshot-api/#open-datasets Structured Contents project], and about the [https://enterprise.wikimedia.com/blog/structured-contents-wikipedia-infobox/ first release that's freely usable]. * There is no new MediaWiki version this week. '''Meetings and events''' * The Editing and Machine Learning Teams invite interested volunteers to a video meeting to discuss [[mw:Special:MyLanguage/Edit check/Peacock check|Peacock check]], which is the latest [[mw:Special:MyLanguage/Edit check|Edit check]] that will detect "peacock" or "overly-promotional" or "non-neutral" language whilst an editor is typing. Editors who work with newcomers, or help to fix this kind of writing, or are interested in how we use artificial intelligence in our projects are encouraged to attend. The [[mw:Special:MyLanguage/Editing team/Community Conversations#Next Conversation|meeting will be on April 28, 2025]] at [https://zonestamp.toolforge.org/1745863200 18:00–19:00 UTC] and hosted on Zoom. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:01, 21 April 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28578245 --> == Wikipedia translation of the week: 2025-18 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Heritage preservation in South Korea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Korean.Dance-03.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The heritage preservation system of South Korea is a multi-level program aiming to preserve and cultivate Korean cultural heritage. The program is administered by the Cultural Heritage Administration (CHA), and the legal framework is provided by the Cultural Heritage Protection Act of 1962, last updated in 2012. The program started in 1962 and has gradually been extended and upgraded since then. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:57, 28 April 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28583422 --> == Tech News: 2025-18 == <section begin="technews-2025-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/18|Translations]] are available. '''Updates for editors''' * Event organizers who host collaborative activities on [[m:Special:MyLanguage/CampaignEvents/Deployment status#Global Deployment Plan|multiple wikis]], including Bengali, Japanese, and Korean Wikipedias, will have access to the [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents extension]] this week. Also, admins in the Wikipedia where the extension is enabled will automatically be granted the event organizer right soon. They won't have to manually grant themselves the right before they can manage events as [[phab:T386861|requested by a community]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The release of the next major version of [[mw:Special:MyLanguage/Codex|Codex]], the design system for Wikimedia, is scheduled for 29 April 2025. Technical editors will have access to the release by the week of 5 May 2025. This update will include a number of [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Breaking_changes|breaking changes]] and minor [[mw:Special:MyLanguage/Codex/Release_Timeline/2.0#Visual_changes|visual changes]]. Instructions on handling the breaking and visual changes are documented on [[mw:Special:MyLanguage/Codex/Release Timeline/2.0#|this page]]. Pre-release testing is reported in [[phab:T386298|T386298]], with post-release issues tracked in [[phab:T392379|T392379]] and [[phab:T392390|T392390]]. * Users of [[wikitech:Special:MyLanguage/Help:Wiki_Replicas|Wiki Replicas]] will notice that the database views of <code dir="ltr">ipblocks</code>, <code dir="ltr">ipblocks_ipindex</code>, and <code dir="ltr">ipblocks_compat</code> are [[phab:T390767|now deprecated]]. Users can query the <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_table|block]]</code> and <code dir="ltr">[[mw:Special:MyLanguage/Manual:Block_target_table|block_target]]</code> new views that mirror the new tables in the production database instead. The deprecated views will be removed entirely from Wiki Replicas in June, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.27|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April|Language and Internationalization Newsletter]] is now available. This edition includes an overview of the improved [https://test.wikipedia.org/w/index.php?title=Special:ContentTranslation&campaign=contributionsmenu&to=es&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en#/ Content Translation Dashboard Tool], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Language Support for New and Existing Languages|support for new languages]], [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/April#Wiki Loves Ramadan Articles Made In Content Translation Mobile Workflow|highlights from the Wiki Loves Ramadan campaign]], [[m:Special:MyLanguage/Research:Languages Onboarding Experiment 2024 - Executive Summary|results from the Language Onboarding Experiment]], an analysis of topic diversity in articles, and information on upcoming community meetings and events. '''Meetings and events''' * The [[Special:MyLanguage/Grants:Knowledge_Sharing/Connect/Calendar|Let's Connect Learning Clinic]] will take place on [https://zonestamp.toolforge.org/1745937000 April 29 at 14:30 UTC]. This edition will focus on "Understanding and Navigating Conflict in Wikimedia Projects". You can [[m:Special:MyLanguage/Event:Learning Clinic %E2%80%93 Understanding and Navigating Conflict in Wikimedia Projects (Part_1)|register now]] to attend. * The [[mw:Special:MyLanguage/Wikimedia Hackathon 2025|2025 Wikimedia Hackathon]], which brings the global technical community together to connect, brainstorm, and hack existing projects, will take place from May 2 to 4th, 2025, at Istanbul, Turkey. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 28 April 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28585685 --> == Wikipedia translation of the week: 2025-19 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lhamana]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:We-Wa, a Zuni berdache, weaving - NARA - 523796 (cropped).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lhamana''', in traditional Zuni culture, are biologically male people who take on the social and ceremonial roles usually performed by women in their culture, at least some of the time. They wear a mixture of women's and men's clothing and much of their work is in the areas usually occupied by Zuni women. Some contemporary lhamana participate in the pan-Indian two-spirit community. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 07:28, 5 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28583422 --> == Tech News: 2025-19 == <section begin="technews-2025-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/19|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared the latest draft update to their [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|annual plan]] for next year (July 2025–June 2026). This includes an [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|executive summary]] (also on [[diffblog:2025/04/25/sharing-the-wikimedia-foundations-2025-2026-draft-annual-plan/|Diff]]), details about the three main [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals|goals]] ([[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Product & Technology OKRs|Infrastructure]], [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Volunteer Support|Volunteer Support]], and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Goals/Effectiveness|Effectiveness]]), [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Global Trends|global trends]], and the [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Budget Overview|budget]] and [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026/Financial Model|financial model]]. Feedback and questions are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2025-2026|talk page]] until the end of May. '''Updates for editors''' * For wikis that have the [[m:Special:MyLanguage/CampaignEvents/Deployment status|CampaignEvents extension enabled]], two new feature improvements have been released: ** Admins can now choose which namespaces are permitted for [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] via [[mw:Special:MyLanguage/Community Configuration|Community Configuration]] ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Permitted namespaces|documentation]]). The default setup is for event registration to be permitted in the Event namespace, but other namespaces (such as the project namespace or WikiProject namespace) can now be added. With this change, communities like WikiProjects can now more easily use Event Registration for their collaborative activities. ** Editors can now [[mw:Special:MyLanguage/Transclusion|transclude]] the Collaboration List on a wiki page ([[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Collaboration list/Transclusion|documentation]]). The Collaboration List is an automated list of events and WikiProjects on the wikis, accessed via {{#special:AllEvents}} ([[w:en:Special:AllEvents|example]]). Now, the Collaboration List can be added to all sorts of wiki pages, such as: a wiki mainpage, a WikiProject page, an affiliate page, an event page, or even a user page. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers who use the <code dir=ltr>moment</code> library in gadgets and user scripts should revise their code to use alternatives like the <code dir=ltr>Intl</code> library or the new <code dir=ltr>mediawiki.DateFormatter</code> library. The <code dir=ltr>moment</code> library has been deprecated and will begin to log messages in the developer console. You can see a global search for current uses, and [[phab:T392532|ask related questions in this Phabricator task]]. * Developers who maintain a tool that queries the Wikidata term store tables (<code dir=ltr style="white-space: nowrap;">wbt_*</code>) need to update their code to connect to a separate database cluster. These tables are being split into a separate database cluster. Tools that query those tables via the wiki replicas must be adapted to connect to the new cluster instead. [[wikitech:News/2025 Wikidata term store database split|Documentation and related links are available]]. [https://phabricator.wikimedia.org/T390954] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.44/wmf.28|MediaWiki]] '''In depth''' * The latest [[mw:Special:MyLanguage/Extension:Chart/Project/Updates|Chart Project newsletter]] is available. It includes updates on preparing to expand the deployment to additional wikis as soon as this week (starting May 6) and scaling up over the following weeks, plus exploring filtering and transforming source data. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:15, 6 May 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28665011 --> == Wikipedia translation of the week: 2025-20 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Gruppo del Sileno]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Parco3.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Sileno ed Egle con Mnasilo e Cromi''', meglio noto come Gruppo del Sileno, è un monumento in marmo di Carrara, realizzato da Jean-Baptiste Boudard nel 1765 per il Giardino Ducale di Parma; sostituito nel 1991 con una copia in polvere di marmo e resina, l'originale si trova provvisoriamente nel chiostro della Fontana del monastero di San Paolo, in attesa della definitiva collocazione prevista all'interno del palazzetto Eucherio Sanvitale nel parco Ducale. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:28, 12 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28709947 --> == Tech News: 2025-20 == <section begin="technews-2025-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/20|Translations]] are available. '''Weekly highlight''' * The [[m:Special:MyLanguage/Wikimedia URL Shortener|"Get shortened URL"]] link on the sidebar now includes a [[phab:T393309|QR code]]. Wikimedia site users can now use it by scanning or downloading it to quickly share and access shared content from Wikimedia sites, conveniently. '''Updates for editors''' * The Wikimedia Foundation is working on a system called [[m:Edge Uniques|Edge Uniques]], which will enable [[w:en:A/B testing|A/B testing]], help protect against [[w:en:Denial-of-service attack|distributed denial-of-service attacks]] (DDoS attacks), and make it easier to understand how many visitors the Wikimedia sites have. This is to help more efficiently build tools which help readers, and make it easier for readers to find what they are looking for. Tech News has [[m:Special:MyLanguage/Tech/News/2025/16|previously written about this]]. The deployment will be gradual. Some might see the Edge Uniques cookie the week of 19 May. You can discuss this on the [[m:Talk:Edge Uniques|talk page]]. * Starting May 19, 2025, Event organisers in wikis with the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled can use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] in the project namespace (e.g., Wikipedia namespace, Wikidata namespace). With this change, communities don't need admins to use the feature. However, wikis that don't want this change can remove and add the permitted namespaces at [[Special:CommunityConfiguration/CampaignEvents]]. * The Wikipedia project now has a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q36720|Nupe]] ([[w:nup:|<code>w:nup:</code>]]). This is a language primarily spoken in the North Central region of Nigeria. Speakers of this language are invited to contribute to [[w:nup:Tatacin feregi|new Wikipedia]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Developers can now access pre-parsed Dutch Wikipedia, amongst others (English, German, French, Spanish, Italian, and Portuguese) through the [https://enterprise.wikimedia.com/docs/snapshot/#structured-contents-snapshot-bundle-info-beta Structured Contents snapshots (beta)]. The content includes parsed Wikipedia abstracts, descriptions, main images, infoboxes, article sections, and references. * The <code dir="ltr">/page/data-parsoid</code> REST API endpoint is no longer in use and will be deprecated. It is [[phab:T393557|scheduled to be turned off]] on June 7, 2025. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.1|MediaWiki]] '''In depth''' * The [https://wikitech.wikimedia.org/wiki/News/2025_Cloud_VPS_VXLAN_IPv6_migration IPv6 support] is a newly introduced Cloud virtual network that significantly boosts Wikimedia platforms' scalability, security, and readiness for the future. If you are a technical contributor eager to learn more, check out [https://techblog.wikimedia.org/2025/05/06/wikimedia-cloud-vps-ipv6-support/ this blog post] for an in-depth look at the journey to IPv6. '''Meetings and events''' * The 2nd edition of 2025 of [[m:Special:MyLanguage/Afrika Baraza|Afrika Baraza]], a virtual platform for African Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747328400 May 15 at 17:00 UTC]. This edition will focus on discussions regarding [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2025-2026|Wikimedia Annual planning and progress]]. * The [[m:Special:MyLanguage/MENA Connect Community Call|MENA Connect Community Call]], a virtual meeting for [[w:en:Middle East and North Africa|MENA]] Wikimedians to connect, will take place on [https://zonestamp.toolforge.org/1747501200 May 17 at 17:00 UTC]. You can [[m:Event:MENA Connect (Wiki_Diwan) APP Call|register now]] to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:38, 12 May 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28714188 --> == Wikipedia translation of the week: 2025-21 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lorrin A. Thurston]]'''<br /> <small>''([[:fi:Lorrin Thurston]])&#32;([[:ko:로린 A. 서스턴]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Lorrinandrewsthurston1892.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Lorrin Andrews Thurston''' (July 31, 1858 – May 11, 1931) was a Hawaiian citizen lawyer, politician, and businessman. Thurston played a prominent role in the revolution that overthrew the Hawaiian Kingdom to replace Queen Liliʻuokalani with the Republic of Hawaii, with discreet US support for which Congress much later apologized. He published the Pacific Commercial Advertiser (a forerunner of the present-day Honolulu Star-Advertiser), and owned other enterprises. From 1906 to 1916, he and his network lobbied with national politicians to create a national park to preserve the Hawaiian volcanoes. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 19 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28731710 --> == Tech News: 2025-21 == <section begin="technews-2025-W21"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/21|Translations]] are available. '''Weekly highlight''' * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Edit check/Peacock check|Peacock check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Peacock language model for the following languages: Arabic, Spanish, Portuguese, English, and Japanese. Users from these wikis interested in reviewing this model are [[mw:Edit check/Peacock check/model test|invited to sign up at MediaWiki.org]]. The deadline to sign up is on May 23, which will be the start date of the test. '''Updates for editors''' * From May 20, 2025, [[m:Special:MyLanguage/Oversight policy|oversighters]] and [[m:Special:MyLanguage/Meta:CheckUsers|checkusers]] will need to have their accounts secured with two-factor authentication (2FA) to be able to use their advanced rights. All users who belong to these two groups and do not have 2FA enabled have been informed. In the future, this requirement may be extended to other users with advanced rights. [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|Learn more]]. * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[m:Special:MyLanguage/Community Wishlist Survey 2023/Multiblocks|Multiblocks]] will begin mass deployment by the end of the month: all non-Wikipedia projects plus Catalan Wikipedia will adopt Multiblocks in the week of May 26, while all other Wikipedias will adopt it in the week of June 2. Please [[m:Talk:Community Wishlist Survey 2023/Multiblocks|contact the team]] if you have concerns. Administrators can test the new user interface now on your own wiki by browsing to [{{fullurl:Special:Block|usecodex=1}} {{#special:Block}}?usecodex=1], and can test the full multiblocks functionality [[testwiki:Special:Block|on testwiki]]. Multiblocks is the feature that makes it possible for administrators to impose different types of blocks on the same user at the same time. See the [[mw:Special:MyLanguage/Help:Manage blocks|help page]] for more information. [https://phabricator.wikimedia.org/T377121] * Later this week, the [[{{#special:SpecialPages}}]] listing of almost all special pages will be updated with a new design. This page has been [[phab:T219543|redesigned]] to improve the user experience in a few ways, including: The ability to search for names and aliases of the special pages, sorting, more visible marking of restricted special pages, and a more mobile-friendly look. The new version can be [https://meta.wikimedia.beta.wmflabs.org/wiki/Special:SpecialPages previewed] at Beta Cluster now, and feedback shared in the task. [https://phabricator.wikimedia.org/T219543] * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is being enabled on more wikis. For a detailed list of when the extension will be enabled on your wiki, please read the [[mw:Special:MyLanguage/Extension:Chart/Project#Deployment Timeline|deployment timeline]]. * [[f:Special:MyLanguage/Wikifunctions:Main Page|Wikifunctions]] will be deployed on May 27 on five Wiktionaries: [[wikt:ha:|Hausa]], [[wikt:ig:|Igbo]], [[wikt:bn:|Bengali]], [[wikt:ml:|Malayalam]], and [[wikt:dv:|Dhivehi/Maldivian]]. This is the second batch of deployment planned for the project. After deployment, the projects will be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them in their pages. A function is something that takes one or more inputs and transforms them into a desired output, such as adding up two numbers, converting miles into metres, calculating how much time has passed since an event, or declining a word into a case. Wikifunctions will allow users to do that through a simple call of [[f:Special:MyLanguage/Wikifunctions:Catalogue|a stable and global function]], rather than via a local template. * Later this week, the Wikimedia Foundation will publish a hub for [[diffblog:2024/07/09/on-the-value-of-experimentation/|experiments]]. This is to showcase and get user feedback on product experiments. The experiments help the Wikimedia movement [[diffblog:2023/07/13/exploring-paths-for-the-future-of-free-knowledge-new-wikipedia-chatgpt-plugin-leveraging-rich-media-social-apps-and-other-experiments/|understand new users]], how they interact with the internet and how it could affect the Wikimedia movement. Some examples are [[m:Special:MyLanguage/Future Audiences/Generated Video|generated video]], the [[m:Special:MyLanguage/Future Audiences/Roblox game|Wikipedia Roblox speedrun game]] and [[m:Special:MyLanguage/Future Audiences/Discord bot|the Discord bot]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a bug with creating an account using the API, which has now been fixed. [https://phabricator.wikimedia.org/T390751] '''Updates for technical contributors''' * Gadgets and user scripts that interact with [[{{#special:Block}}]] may need to be updated to work with the new [[mw:Special:MyLanguage/Help:Manage blocks|manage blocks interface]]. Please review the [[mw:Help:Manage blocks/Developers|developer guide]] for more information. If you need help or are unable to adapt your script to the new interface, please let the team know on the [[mw:Help talk:Manage blocks/Developers|talk page]]. [https://phabricator.wikimedia.org/T377121] * The <code dir=ltr>mw.title</code> object allows you to get information about a specific wiki page in the [[w:en:Wikipedia:Lua|Lua]] programming language. Starting this week, a new property will be added to the object, named <code dir=ltr>isDisambiguationPage</code>. This property allows you to check if a page is a disambiguation page, without the need to write a custom function. [https://phabricator.wikimedia.org/T71441] * [[File:Octicons-tools.svg|15px|link=|class=skin-invert|Advanced item]] User script developers can use a [[toolforge:gitlab-content|new reverse proxy tool]] to load javascript and css from [[gitlab:|gitlab.wikimedia.org]] with <code dir=ltr>mw.loader.load</code>. The tool's author hopes this will enable collaborative development workflows for user scripts including linting, unit tests, code generation, and code review on <bdi lang="zxx" dir="ltr">gitlab.wikimedia.org</bdi> without a separate copy-and-paste step to publish scripts to a Wikimedia wiki for integration and acceptance testing. See [[wikitech:Tool:Gitlab-content|Tool:Gitlab-content on Wikitech]] for more information. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.2|MediaWiki]] '''Meetings and events''' * The 12th edition of [[m:Special:MyLanguage/Wiki Workshop 2025|Wiki Workshop 2025]], a forum that brings together researchers that explore all aspects of Wikimedia projects, will be held virtually on 21-22 May. Researchers can [https://pretix.eu/wikimedia/wikiworkshop2025/ register now]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/21|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W21"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:13, 19 May 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28724712 --> == Wikipedia translation of the week: 2025-22 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Lamiera bugnata]]'''<br /> <small>''([[:en:Tread plate]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Diamond Plate.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Una '''lamiera bugnata''' o mandorlata è una lamiera di metallo ottenuta dalla laminazione di una bramma attraverso rulli che, tramite punzonatura o goffratura, imprimono sulla lamina rilievi a forma di rombo o ellisse, detti bugne. Nel caso questi rilievi siano alternati singolarmente nei due assi, si parla di lamiera diamantata, mentre se le forme sono predisposte in maniera parallela per formare piccoli quadranti tra di loro tangenti, questo pattern viene identificato con il nome di mandorlato. We tend to ignore the fact that this type of plate is the only reason we don't slip when we walk on steel and wet or frozen surfaces. The Italian article it's short but quite complete, and has just the right amount of citations, unlike other poor languages' versions. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 06:03, 26 May 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28751788 --> == Tech News: 2025-22 == <section begin="technews-2025-W22"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/22|Translations]] are available. '''Weekly highlight''' * A community-wide discussion about a very delicate issue for the development of [[m:Special:MyLanguage/Abstract Wikipedia|Abstract Wikipedia]] is now open on Meta: where to store the abstract content that will be developed through functions from Wikifunctions and data from Wikidata. The discussion is open until June 12 at [[m:Special:MyLanguage/Abstract Wikipedia/Location of Abstract Content|Abstract Wikipedia/Location of Abstract Content]], and every opinion is welcomed. The decision will be made and communicated after the consultation period by the Foundation. '''Updates for editors''' * Since last week, on all wikis except [[phab:T388604|the largest 20]], people using the mobile visual editor will have [[phab:T385851|additional tools in the menu bar]], accessed using the new <code>+</code> toolbar button. To start, the new menu will include options to add: citations, hieroglyphs, and code blocks. Deployment to the remaining wikis is [[phab:T388605|scheduled]] to happen in June. * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] The <code dir=ltr>[[mw:Special:MyLanguage/Help:Extension:ParserFunctions##ifexist|#ifexist]]</code> parser function will no longer register a link to its target page. This will improve the usefulness of [[{{#special:WantedPages}}]], which will eventually only list pages that are the target of an actual red link. This change will happen gradually as the source pages are updated. [https://phabricator.wikimedia.org/T14019] * This week, the Moderator Tools team will launch [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], starting at Indonesian Wikipedia. This new filter highlights edits that are likely to be reverted. The goal is to help Recent Changes patrollers identify potentially problematic edits. Other wikis will benefit from this filter in the future. * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading. The feature will be available on both desktop and mobile. Readers of Catalan, Hebrew, and Italian Wikipedias and some sister projects will receive the change between May 21 and mid-June. Readers of other wikis will receive the change later. The goal is to encourage users to read the wikis more. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * Some users of the Wikipedia Android app can use a new feature for readers, [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|WikiGames]], a daily trivia game based on real historical events. The release has started as an A/B test, available to 50% of users in the following languages: English, French, Portuguese, Russian, Spanish, Arabic, Chinese, and Turkish. * The [[mw:Special:MyLanguage/Extension:Newsletter|Newsletter extension]] that is available on MediaWiki.org allows the creation of [[mw:Special:Newsletters|various newsletters]] for global users. The extension can now publish new issues as section links on an existing page, instead of requiring a new page for each issue. [https://phabricator.wikimedia.org/T393844] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The previously deprecated <code dir=ltr>[[mw:Special:MyLanguage/Manual:Ipblocks table|ipblocks]]</code> views in [[wikitech:Help:Wiki Replicas|Wiki Replicas]] will be removed in the beginning of June. Users are encouraged to query the new <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block table|block]]</code> and <code dir=ltr>[[mw:Special:MyLanguage/Manual:Block target table|block_target]]</code> views instead. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.3|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:Wikidata and Sister Projects|Wikidata and Sister Projects]] is a multi-day online event that will focus on how Wikidata is integrated to Wikipedia and the other Wikimedia projects. The event runs from May 29 – June 1. You can [[d:Special:MyLanguage/Event:Wikidata and Sister Projects#Sessions|read the Program schedule]] and [[d:Special:RegisterForEvent/1291|register]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/22|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W22"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:05, 26 May 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28788673 --> == Wikipedia translation of the week: 2025-23 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Angelo azzurro (cocktail)]]'''<br /> <small>''([[:es:Ángel azul (cóctel)]])&#32;([[:fr:Ange bleu (cocktail)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Angelo Azzurro Cocktail.png|300px|center]] <div style="text-align:left; padding: .4em;"> L''''angelo azzurro''' è un cocktail alcolico italiano. È considerato uno dei cocktail più popolari in Italia negli anni novanta, insieme al B-52 e all'Invisibile. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 05:39, 2 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-23 == <section begin="technews-2025-W23"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/23|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Extension:Chart|Chart extension]] is now available on all Wikimedia wikis. Editors can use this new extension to create interactive data visualizations like bar, line, area, and pie charts. Charts are designed to replace many of the uses of the legacy [[mw:Special:MyLanguage/Extension:Graph|Graph extension]]. '''Updates for editors''' * It is now easier to configure automatic citations for your wiki within the visual editor's [[mw:Special:MyLanguage/Citoid/Enabling Citoid on your wiki|citation generator]]. Administrators can now set a default template by using the <code dir=ltr>_default</code> key in the local <bdi lang="en" dir="ltr">[[MediaWiki:Citoid-template-type-map.json]]</bdi> page ([[mw:Special:Diff/6969653/7646386|example diff]]). Setting this default will also help to future-proof your existing configurations when [[phab:T347823|new item types]] are added in the future. You can still set templates for individual item types as they will be preferred to the default template. [https://phabricator.wikimedia.org/T384709] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Starting the week of June 2, bots logging in using <code dir=ltr>action=login</code> or <code dir=ltr>action=clientlogin</code> will fail more often. This is because of stronger protections against suspicious logins. Bots using [[mw:Special:MyLanguage/Manual:Bot passwords|bot passwords]] or using a loginless authentication method such as [[mw:Special:MyLanguage/OAuth/Owner-only consumers|OAuth]] are not affected. If your bot is not using one of those, you should update it; using <code dir=ltr>action=login</code> without a bot password was deprecated [[listarchive:list/wikitech-l@lists.wikimedia.org/message/3EEMN7VQX5G7WMQI5K2GP5JC2336DPTD/|in 2016]]. For most bots, this only requires changing what password the bot uses. [https://phabricator.wikimedia.org/T395205] * From this week, Wikimedia wikis will allow ES2017 features in JavaScript code for official code, gadgets, and user scripts. The most visible feature of ES2017 is <bdi lang="zxx" dir="ltr"><code>async</code>/<code>await</code></bdi> syntax, allowing for easier-to-read code. Until this week, the platform only allowed up to ES2016, and a few months before that, up to ES2015. [https://phabricator.wikimedia.org/T381537] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.4|MediaWiki]] '''Meetings and events''' * Scholarship applications to participate in the [[m:Special:MyLanguage/GLAM Wiki 2025|GLAM Wiki Conference 2025]] are now open. The conference will take place from 30 October to 1 November, in Lisbon, Portugal. GLAM contributors who lack the means to support their participation can [[m:Special:MyLanguage/GLAM Wiki 2025/Scholarships|apply here]]. Scholarship applications close on June 7th. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/23|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W23"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:55, 2 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28819186 --> == Wikipedia translation of the week: 2025-24 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:fi:Kotiryssä]]'''<br /> <small>''([[:en:Kotiryssä]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''kotiryssä''' (jocular Finnish: one’s home Russky or home Russian) was a Soviet or Russian contact person of a Finnish politician, bureaucrat, businessman or other important person. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:33, 9 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-24 == <section begin="technews-2025-W24"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/24|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Trust and Safety Product|Trust and Safety Product team]] is finalizing work needed to roll out [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] on large Wikipedias later this month. The team has worked with stewards and other users with extended rights to predict and address many use cases that may arise on larger wikis, so that community members can continue to effectively moderate and patrol temporary accounts. This will be the second of three phases of deployment – the last one will take place in September at the earliest. For more information about the recent developments on the project, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Updates|see this update]]. If you have any comments or questions, write on the [[mw:Talk:Trust and Safety Product/Temporary Accounts|talk page]], and [[m:Event:CEE Catch up Nr. 10 (June 2025)|join a CEE Catch Up]] this Tuesday. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] The [[mw:Special:MyLanguage/Help:Watchlist expiry|watchlist expiry]] feature allows editors to watch pages for a limited period of time. After that period, the page is automatically removed from your watchlist. Starting this week, you can set a preference for the default period of time to watch pages. The [[Special:Preferences#mw-prefsection-watchlist-pageswatchlist|preferences]] also allow you to set different default watch periods for editing existing pages, pages you create, and when using rollback. [https://phabricator.wikimedia.org/T265716] [[File:Talk pages default look (April 2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * The appearance of talk pages will change at almost all Wikipedias ([[m:Special:MyLanguage/Tech/News/2024/19|some]] have already received this design change, [[phab:T379264|a few]] will get these changes later). You can read details about the changes [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. It is possible to opt out of these changes [[Special:Preferences#mw-prefsection-editing-discussion|in user preferences]] ("{{int:discussiontools-preference-visualenhancements}}"). [https://phabricator.wikimedia.org/T319146][https://phabricator.wikimedia.org/T392121] * Users with specific extended rights (including administrators, bureaucrats, checkusers, oversighters, and stewards) can now have IP addresses of all temporary accounts [[phab:T358853|revealed automatically]] during time-limited periods where they need to combat high-speed account-hopping vandalism. This feature was requested by stewards. [https://phabricator.wikimedia.org/T386492] * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to several more Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-afwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-bnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cywiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hawwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-iswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-simplewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * AbuseFilter editors active on Meta-Wiki and large Wikipedias are kindly asked to update AbuseFilter to make it compatible with temporary accounts. A link to the instructions and the private lists of filters needing verification are [[phab:T369611|available on Phabricator]]. * Lua modules now have access to the name of a page's associated thumbnail image, and on [https://gerrit.wikimedia.org/g/operations/mediawiki-config/+/2e4ab14aa15bb95568f9c07dd777065901eb2126/wmf-config/InitialiseSettings.php#10849 some wikis] to the WikiProject assessment information. This is possible using two new properties on [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#added-by-extensions|mw.title objects]], named <code dir=ltr>pageImage</code> and <code dir=ltr>pageAssessments</code>. [https://phabricator.wikimedia.org/T131911][https://phabricator.wikimedia.org/T380122] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.5|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/24|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W24"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:17, 10 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28846858 --> == Wikipedia translation of the week: 2025-25 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Future self]]'''<br /> <small>''([[:pl:Przyszła jaźń]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In the psychology of self, the '''future self''' concerns the processes and consequences associated with thinking about oneself in the future. People think about their future selves similarly to how they think about other people. The extent to which people feel psychologically connected (e.g., similarity, closeness) to their future self influences how well they treat their future self. When people feel connected to their future self, they are more likely to save for retirement, make healthy decisions, and avoid ethical transgressions. Interventions that increase feelings of connectedness with future selves can improve future-oriented decision making across these domains. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 16 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-25 == <section begin="technews-2025-W25"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/25|Translations]] are available. '''Updates for editors''' * You can [https://wikimediafoundation.limesurvey.net/359761?lang=en nominate your favorite tools] for the sixth edition of the [[m:Special:MyLanguage/Coolest Tool Award|Coolest Tool Award]]. Nominations are anonymous and will be open until June 25. You can re-use the survey to nominate multiple tools. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:33}} community-submitted {{PLURAL:33|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.6|MediaWiki]] '''In depth''' * Foundation staff and technical volunteers use Wikimedia APIs to build the tools, applications, features, and integrations that enhance user experiences. Over the coming years, the MediaWiki Interfaces team will be investing in Wikimedia web (HTTP) APIs to better serve technical volunteer needs and protect Wikimedia infrastructure from potential abuse. You can [https://techblog.wikimedia.org/2025/06/12/apis-as-a-product-investing-in-the-current-and-next-generation-of-technical-contributors/ read more about their plans to evolve the APIs in this Techblog post]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/25|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W25"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:39, 16 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 --> == Wikipedia translation of the week: 2025-26 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pictorial map]]'''<br /> <small>''([[:fa:نقشه تصویری]])&#32;([[:ja:絵地図]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Blake Britain Spearhead of Attack.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> '''Pictorial maps''' (also known as illustrated maps, panoramic maps, perspective maps, bird's-eye view maps, and geopictorial maps) depict a given territory with a more artistic rather than technical style. It is a type of map in contrast to road map, atlas, or topographic map. The cartography can be a sophisticated 3-D perspective landscape or a simple map graphic enlivened with illustrations of buildings, people and animals. They can feature all sorts of varied topics like historical events, legendary figures or local agricultural products and cover anything from an entire continent to a college campus. Drawn by specialized artists and illustrators, pictorial maps are a rich, centuries-old tradition and a diverse art form that ranges from cartoon maps on restaurant placemats to treasured art prints in museums. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:18, 23 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-26 == <section begin="technews-2025-W26"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/26|Translations]] are available. '''Weekly highlight''' * This week, the Moderator Tools and Machine Learning teams will continue the rollout of [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|a new filter to Recent Changes]], releasing it to the third and last batch of Wikipedias. This filter utilizes the Revert Risk model, which was created by the Research team, to highlight edits that are likely to be reverted and help Recent Changes patrollers identify potentially problematic contributions. The feature will be rolled out to the following Wikipedias: {{int:project-localized-name-azwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-lawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mkwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-mrwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nnwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-pawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-swwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-tlwiki/en}}. The rollout will continue in the coming weeks to include [[mw:Special:MyLanguage/2025 RecentChanges Language Agnostic Revert Risk Filtering|the rest of the Wikipedias in this project]]. [https://phabricator.wikimedia.org/T391964] '''Updates for editors''' * Last week, [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] were rolled out on Czech, Korean, and Turkish Wikipedias. This and next week, deployments on larger Wikipedias will follow. [[mw:Talk:Trust and Safety Product/Temporary Accounts|Share your thoughts]] about the project. [https://phabricator.wikimedia.org/T340001] * Later this week, the Editing team will release [[mw:Special:MyLanguage/Help:Edit check#Multi check|Multi Check]] to all Wikipedias (except English Wikipedia). This feature shows multiple [[mw:Special:MyLanguage/Help:Edit check#Reference check|Reference checks]] within the editing experience. This encourages users to add citations when they add multiple new paragraphs to a Wikipedia article. This feature was previously available as an A/B test. [https://analytics.wikimedia.org/published/reports/editing/multi_check_ab_test_report_final.html#summary-of-results The test shows] that users who are shown multiple checks are 1.3 times more likely to add a reference to their edit, and their edit is less likely to be reverted (-34.7%). [https://phabricator.wikimedia.org/T395519] * A few pages need to be renamed due to software updates and to match more recent Unicode standards. All of these changes are related to title-casing changes. Approximately 71 pages and 3 files will be renamed, across 15 wikis; the complete list is in [[phab:T396903|the task]]. The developers will rename these pages next week, and they will fix redirects and embedded file links a few minutes later via a system settings update. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused pages to scroll upwards when text near the top was selected. [https://phabricator.wikimedia.org/T364023] '''Updates for technical contributors''' * Editors can now use Lua modules to filter and transform tabular data for use with [[mw:Special:MyLanguage/Extension:Chart|Extension:Chart]]. This can be used for things like selecting a subset of rows or columns from the source data, converting between units, statistical processing, and many other useful transformations. [[mw:Special:MyLanguage/Extension:Chart/Transforms|Information on how to use transforms is available]]. [https://www.mediawiki.org/wiki/Special:MyLanguage/Extension:Chart/Project/Updates] * The <code dir=ltr>all_links</code> variable in [[Special:AbuseFilter|AbuseFilter]] is now renamed to <code dir=ltr>new_links</code> for consistency with other variables. Old usages will still continue to work. [https://phabricator.wikimedia.org/T391811] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.7|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Growth/Newsletters/34|Growth newsletter]] is available. It includes: the recent updates for the "Add a Link" Task, two new Newcomer Engagement Features, and updates to Community Configuration. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/26|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W26"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:21, 23 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28870688 --> == Wikipedia translation of the week: 2025-27 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Queen Elizabeth University Hospital]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:QEUH.jpg|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Queen Elizabeth University Hospital''' (QEUH) is a 1,677-bed acute hospital located in Govan, in the south-west of Glasgow, Scotland. The hospital is built on the site of the former Southern General Hospital and opened at the end of April 2015. The hospital comprises a 1,109-bed adult hospital, a 256-bed children's hospital and two major Emergency Departments; one for adults and one for children. There is also an Immediate Assessment Unit for local GPs and out-of-hours services, to send patients directly, without having to be processed through the Emergency Department. The retained buildings from the former Southern General Hospital include the Maternity Unit, the Institute of Neurological Sciences, the Langlands Unit for medicine of the elderly and the laboratory. The whole facility is operated by NHS Greater Glasgow and Clyde, and is one of the largest acute hospital campuses in Europe. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 30 June 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-27 == <section begin="technews-2025-W27"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/27|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled on all Wikipedias. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Campaigns/Foundation Product Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the [[m:Special:MyLanguage/CampaignEvents/Deployment status#How to Request the CampaignEvents Extension for your wiki|Deployment information page]]. '''Updates for editors''' * AbuseFilter maintainers can now [[mw:Special:MyLanguage/Extension:IPReputation/AbuseFilter variables|match against IP reputation data]] in [[mw:Special:MyLanguage/Extension:AbuseFilter|AbuseFilters]]. IP reputation data is information about the proxies and VPNs associated with the user's IP address. This data is not shown publicly and is not generated for actions performed by registered accounts. [https://phabricator.wikimedia.org/T354599] * Hidden content that is within [[mw:Special:MyLanguage/Manual:Collapsible elements|collapsible parts of wikipages]] will now be revealed when someone searches the page using the web browser's "Find in page" function (Ctrl+F or ⌘F) in supporting browsers. [https://phabricator.wikimedia.org/T327893][https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Global_attributes/hidden#browser_compatibility] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature, called [[mw:Special:MyLanguage/Help:TemplateData/Template discovery|Favourite Templates]], will be deployed later this week on all projects (except English Wikipedia, which will receive the feature next week), following a piloting phase on Polish and Arabic Wikipedia, and Italian and English Wikisource. The feature will provide a better way for new and experienced contributors to recall and discover templates via the template dialog, by allowing users to put templates on a special "favourite list". The feature works with both the visual editor and the wikitext editor. The feature is a [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|community wishlist focus area]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that had caused some Notifications to be sent multiple times. [https://phabricator.wikimedia.org/T397103] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.8|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/27|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W27"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:41, 30 June 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28917415 --> == Wikipedia translation of the week: 2025-28 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Non-constituency Member of Parliament]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> A '''Non-constituency Member of Parliament''' (NCMP) is a member of an opposition political party in Singapore who, as stipulated in Article 39 of the Constitution and the Parliamentary Elections Act, is declared to have been elected a Member of Parliament (MP) without constituency representation, despite having lost in a general election, by virtue of having been one of the opposition candidates with the highest vote shares among the unelected. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:10, 7 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28788623 --> == Tech News: 2025-28 == <section begin="technews-2025-W28"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/28|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Temporary accounts|Temporary accounts]] have been rolled out on 18 large and medium-sized Wikipedias, including German, Japanese, French, and Chinese. Now, about 1/3 of all logged-out activity across wikis is coming from temporary accounts. Users involved in patrolling may be interested in two new documentation pages: [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Access to IP|Access to IP]], explaining everything related to access to temporary account IP addresses, and [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts/Repository|Repository]] with a list of new gadgets and user scripts. '''Updates for editors''' * Anyone can play an experimental new game, [[mw:Special:MyLanguage/New Engagement Experiments/WikiRun|WikiRun]], that lets you race through Wikipedia by clicking from one article to another, aiming to reach a target page in as few steps and in as little time as possible. The project's goal is to explore new ways of engaging readers. [https://wikirun-game.toolforge.org/ Try playing the game] and let the team know what you think [[mw:Talk:New Engagement Experiments/WikiRun|on the talk page]]. * Users of the Wikipedia Android app in some languages can now play the new [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/TrivaGame|trivia game]]. ''Which came first?'' is a simple history game where you guess which of two events happened earlier on today's date. It was previously available as an A/B test. It is now available to all users in English, German, French, Spanish, Portuguese, Russian, Arabic, Turkish, and Chinese. The goal of the feature is to help engage with new generations of readers. [https://meta.wikimedia.org/wiki/Special:MyLanguage/Tech/News/2025/22] * Users of the iOS Wikipedia App in some languages may see a new tabbed browsing feature that enables you to open multiple tabs while reading. This feature makes it easier to explore related topics and switch between articles. The A/B test is currently running in Arabic, English, and Japanese in selected regions. More details are available on the [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)|Tabbed Browsing project page]]. * Bureaucrats on Wikimedia wikis can now use [[{{#special:VerifyOATHForUser}}]] to check if users have enabled [[mw:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]]. [https://phabricator.wikimedia.org/T265726] * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] A new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed later this week to all Wikimedia projects: a [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Template categories|template category browser]] will be introduced to assist users in finding templates to put in their “favourite” list. The browser will allow users to browse a list of templates which have been organised into a given category tree. The feature has been requested by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Select templates by categories|through the Community Wishlist]]. * It is now possible to access watchlist preferences from the watchlist page. Also the redundant button to edit the watchlist has been removed. [https://www.mediawiki.org/wiki/Moderator_Tools/Watchlist] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of [[mw:MediaWiki_1.44|MediaWiki 1.44]] there is now a unified built-in Notifications system that makes it easier for developers to send, manage, and customize notifications. Check out the updated documentation at [[mw:Manual:Notifications|Manual:Notifications]], information about migration in [[phab:T388663|T388663]] and details on deprecated hooks in [[phab:T389624|T389624]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.9|MediaWiki]] '''Meetings and events''' * [[d:Special:MyLanguage/Event:WikidataCon 2025|WikidataCon 2025]], the conference dedicated to Wikidata is now open for [https://pretalx.com/wikidatacon-2025/cfp session proposals] and for [[d:Special:RegisterForEvent/1340|registration]]. This year's event will be held online from October 31 – November 02 and will explore on the theme of "Connecting People through Linked Open Data". '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/28|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W28"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:06, 8 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28930584 --> == Wikipedia translation of the week: 2025-29 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Immunolabeling]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Immunolabeling process image.png|300px|center]] <div style="text-align:left; padding: .4em;"> '''Immunolabeling''' is a biochemical process that enables the detection and localization of an antigen to a particular site within a cell, tissue, or organ. Antigens are organic molecules, usually proteins, capable of binding to an antibody. These antigens can be visualized using a combination of antigen-specific antibody as well as a means of detection, called a tag, that is covalently linked to the antibody <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> ---[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:44, 14 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28945528 --> == Tech News: 2025-29 == <section begin="technews-2025-W29"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/29|Translations]] are available. '''Updates for editors''' * [[mw:Special:MyLanguage/Help:TemplateData/Template discovery#Featured templates|Featured templates]], a new feature related to [[m:Special:MyLanguage/Community Wishlist/Focus areas/Template recall and discovery|Template Recall and Discovery]] will be deployed this week to all Wikimedia projects: With this feature, editors will be able to quickly access a list of templates that are likely to be useful. These templates will be displayed in a list, under the "featured" tab of the template discovery interface. Administrators can define the list via the Community Configuration interface. The feature fulfills a request by the community [[m:Special:MyLanguage/Community Wishlist/Wishes/Easy access Templates|through the Community Wishlist]]. [https://phabricator.wikimedia.org/T367428][https://phabricator.wikimedia.org/T392896] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the request to add Malayalam fonts in the [[oldWikisource:Special:MyLanguage/Wikisource:WS Export|Wikisource Book Export Tool]] was resolved and now, the rendering of Malayalam letters in exported Wikisource books are accurate. [https://phabricator.wikimedia.org/T374457] '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.10|MediaWiki]] '''In depth''' * Developers, designers, and all Wikimedians are invited to [https://phabricator.wikimedia.org/project/board/7953/ submit a project idea] for the Wikimania Hackathon 2025. Read [https://diff.wikimedia.org/2025/06/30/call-for-projects-wikimania-hackathon-2025-is-coming-to-nairobi/ this Diff blog post] for more details. '''Meetings and events''' * [[m:WikiIndaba conference 2025|WikiIndaba 2025]] scholarship application and program submission is open until 23:59 GMT on July 20. WikiIndaba is a regional conference for African Wikimedians both on the continent and in the diaspora to unite and grow together. Submit [https://docs.google.com/forms/d/e/1FAIpQLSdJTv68R1OPASXXDfpIl8EWiMLTM-TDwh6_5gNVvFuWccFZ2Q/viewform your scholarship application] and [https://ee.kobotoolbox.org/x/BI3omIfH program proposal] now! * [https://br.wikimedia.org/wiki/WikiCon_Brasil_2025 WikiCon Brasil 2025] will take place on July 19-20 in Salvador, Bahia, Brazil. The Brazilian community members are encouraged to register and attend! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/29|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W29"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:10, 14 July 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=28980963 --> == Wikipedia translation of the week: 2025-30 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Vespa analis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Plumpy hornet on the ground - 1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Vespa analis''''', the yellow-vented hornet, is a species of common hornet found in Southeast Asia <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:28, 21 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=28984647 --> == Tech News: 2025-30 == <section begin="technews-2025-W30"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/30|Translations]] are available. '''Updates for editors''' * The Translation Suggestions feature in the [[mw:Special:MyLanguage/Content translation|Content Translation tool]] now has another level of article filters added to the "[https://en.wikipedia.org/w/index.php?title=Special:ContentTranslation&filter-type=automatic&filter-id=previous-edits&active-list=suggestions&from=en&to=fi#/ ... More]" category. Translators who use the Suggestions feature can now select and receive article suggestions that are customized to geographical locations of their interest using the new "{{int:Cx-sx-suggestions-filters-tab-regions}}" filter. [https://phabricator.wikimedia.org/T113257] * Administrators can now limit "Add a Link" to newcomers. The [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|"Add a Link"]] Structured Task [[mw:Special:MyLanguage/Growth/Constructive activation experimentation#Enwiki A/B test & "Add a Link" Improvements (Wiki Experiences 1.2.11 & 1.2.16)|helps new account holders start editing]], but some communities have requested the ability to restrict it to its intended audience: newcomers. Administrators can configure this setting within the [[Special:CommunityConfiguration/GrowthSuggestedEdits|Community Configuration]] feature. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:29}} community-submitted {{PLURAL:29|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * For AbuseFilter editors on [[phab:T392144|some wikis]], it is now possible to filter edits based on the RevertRisk score of the edit being attempted. It is only populated if the action being evaluated is an edit. For more information, please see the [[mw:Special:MyLanguage/Extension:ORES/AbuseFilter variables#What variables are available for use|ORES/AbuseFilter variables]] documentation. * The [[mw:Special:MyLanguage/Beta Cluster|Beta Cluster]] wikis have [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/YDABPV75LADRQCXMJAFWUP256N4EQ25B/|been moved]] from <code dir=ltr>beta.wmflabs.org</code> to <code dir=ltr>beta.wmcloud.org</code>. Users may need to update URLs in any tools, or in their password managers. Any related issues can be [[phab:T289318|reported in the task]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.11|MediaWiki]] '''Meetings and events''' * [[m:Special:MyLanguage/WikiCite 2025|WikiCite 2025]] will take place from 29–31 August, both online and in-person in Bern, Switzerland. The event's goals are to reconnect communities, institutions, and individuals working with open citations, bibliographic data, and the Wikidata/Wikibase ecosystem. Registration is open and the call for proposals will be announced soon. [https://lists.wikimedia.org/hyperkitty/list/wikidata@lists.wikimedia.org/message/KQZUG3ETKLBWPBYSB2YAWZIRPWHS24TG/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/30|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W30"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:43, 21 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29005283 --> == Wikipedia translation of the week: 2025-31 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Fernando de Noronha Marine National Park]]'''<br /> <small>''([[:pt:Parque Nacional Marinho de Fernando de Noronha]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Baía dos Porcos - Fernando de Noronha (32811749914).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Fernando de Noronha Marine National Park''' (Portuguese: Parque Nacional Marinho de Fernando de Noronha) is a national park in the state of Pernambuco, Brazil. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:40, 28 July 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29047614 --> == Tech News: 2025-31 == <section begin="technews-2025-W31"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/31|Translations]] are available. '''Weekly highlight''' * The Community Tech team will be focusing on wishes related to Watchlists and Recent Changes pages, over the next few months. They are looking for feedback. Please [[m:Special:MyLanguage/Community Wishlist/Updates#July 24, 2025: Watchlists and Recent Changes pages|read the latest update]], and if you have ideas, please [[m:Special:MyLanguage/Community Wishlist|submit a wish]] on the topic. '''Updates for editors''' * The Wikimedia Commons community has decided to block [[:mw:Special:MyLanguage/Upload dialog|cross-wiki uploads]] to Wikimedia Commons, for all users without autoconfirmed rights on that wiki, starting on August 16. This is because of [[:c:Commons:Cross-wiki media upload tool/History|widespread problems]] related to files that are uploaded by newcomers. Users who are affected by this will get an error message with a link to the less restrictive UploadWizard on Commons. Please help translating the [[:c:Special:MyLanguage/MediaWiki:Abusefilter-disallowed-cross-wiki-upload|message]] or give feedback on the message text. Please also update your local help pages to explain this restriction. [https://phabricator.wikimedia.org/T370598] * On wikis with temporary accounts enabled and Meta-Wiki, administrators may now set up a footer for the Special:Contributions pages of temporary accounts, similar to those which can be shown on IP and user-account pages. They may do it by creating the page named <code dir=ltr>MediaWiki:Sp-contributions-footer-temp</code>. [https://phabricator.wikimedia.org/T398347] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.12|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KFEFVG/ Temporary Accounts: Enhancing privacy for our unregistered editors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TVCVAB/ Building a Sustainable Future for Wikimedia Contributors] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/WTRQCJ/ A dozen visions for wikitext!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/8YKKP9/ Coordinate Across Stakeholders with the Product and Technology Advisory Council] * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Fall 2025|MediaWiki Users and Developers Conference, Fall 2025]] will be held 28–30 October 2025 in Hanover, Germany. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/31|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W31"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:27, 29 July 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29051727 --> == Wikipedia translation of the week: 2025-32 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Xie Zhiliu]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Xie Zhiliu''' (Chinese: 谢稚柳; 1910–1997) was a leading traditional painter, calligrapher, and art connoisseur of modern China. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:21, 4 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29077280 --> == Tech News: 2025-32 == <section begin="technews-2025-W32"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/32|Translations]] are available. '''Updates for editors''' * Editors can now enable the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info card]]. This feature adds an icon next to usernames on history pages and similar user-contribution log pages. When you tap or click on the icon, it displays data related to that user account such as the number of edits, reverted edits, blocks, and more. It's part of a broader project to make it easier for moderators to evaluate account trustworthiness. The feature can be enabled in [[testwiki:Special:GlobalPreferences#mw-prefsection-rendering|your global preferences]], and later this week it will be available in local preferences. [https://phabricator.wikimedia.org/T386439] * Everybody is invited to share comments on [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative Contributions]], a project recently launched by the [[m:Special:MyLanguage/Connection Team|Connection team]]. The project aims to create a new way to display the impact of collaborative editing activities (such as edit-a-thons, backlog drives, and WikiProjects) on the wikis. Post your comments on the [[m:Talk:CampaignEvents/Collaborative contributions|project talk page]]. [https://phabricator.wikimedia.org/T378035] * Administrators can now define the default block duration for temporary accounts. To do that, they need to create a page named <code dir=ltr>MediaWiki:Ipb-default-expiry-temporary-account</code> and use a value defined in <code dir=ltr>MediaWiki:Ipboptions</code>. This allows administrators to easily block temporary accounts for 90 days, which is functionally equivalent to an indefinite block. The advantage of this solution is that it does not clutter Special:BlockList. [[mw:Special:MyLanguage/Manual:Block and unblock#Default block duration options|More documentation]] is available. [https://phabricator.wikimedia.org/T398626] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Gadgets can now include <code dir=ltr>.vue</code> files. This makes it easier to develop modern user interfaces using [[mw:Vue.js|Vue.js]], in particular using [[mw:Special:MyLanguage/Codex|Codex]], the official design system of Wikimedia. [[wmdoc:codex/latest/icons/overview.html|Codex icons]] can be loaded through the gadget definition. [[mw:Special:MyLanguage/Extension:Gadgets#Pages|The documentation]] has examples. For user scripts that use Vue.js, an [[mw:API:CodexIcons|API module]] now exists to load Codex icons. [https://phabricator.wikimedia.org/T340460][https://phabricator.wikimedia.org/T311099] * Module developers can now use a [[mw:Help:Extension:Translate/Message Bundles/Lua reference|Lua interface]] to simplify the preparation of Lua modules for translation on Meta-Wiki. This improvement makes it easier for translators to find and edit module strings without dealing with raw Lua code. It helps prevent mistakes that could break the module during translation. Module developers and translators are invited to [[commons:File:Translatable modules video demo July 2025.webm|watch the demo video]], read more about [[mw:Special:MyLanguage/Translatable modules|translatable modules]] to understand how it works, refer to Meta-Wiki's [[m:Module:User Wikimedia project|Module:User Wikimedia project]] for example usage, and [[mw:Talk:Translatable modules|share their feedback]] on how well it addresses the challenges in their workflow. The interface still has some performance issues, so it should not be used in widely used modules yet. [https://phabricator.wikimedia.org/T359918] * Developers of external tools that connect to Wikimedia pages must set a user-agent that complies with [[foundation:Special:MyLanguage/Policy:Wikimedia Foundation User-Agent Policy|the user-agent policy]]. This policy will start to be more strongly enforced in August because of external crawlers that are [[diffblog:2025/04/01/how-crawlers-impact-the-operations-of-the-wikimedia-projects/|overusing]] Wikimedia's resources. Tools that are hosted on Wikimedia's Toolforge or Cloud VPS will not be affected by this for now, but should still set a user-agent. [[phab:T400119|More technical details are available]], and related questions are welcome in that task. * Parsoid Read Views is going to be rolling out to some smaller Wikipedias over the next few weeks, following the successful transition of Wikivoyages and Wiktionaries to Parsoid Read Views. For more information, see the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parsoid/Parser Unification]] project page. [https://phabricator.wikimedia.org/project/profile/7694/] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.13|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2025:Wikimania|Wikimania 2025]] will run from August 6–9. The [https://wikimedia.eventyay.com/talk/wikimania2025/schedule/ program is available] for you to plan which sessions you want to attend. Most sessions will be live-streamed, with exceptions for those that show the "no camera" icon. If you are joining online to watch live-streams and use the interactive features, please [[wmania:Special:MyLanguage/2025:Registration|register]] for a free virtual ticket. For example, you may be interested in technical sessions such as: ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/GEH9DH/ Wikimedia’s knowledge infrastructure in a changing internet: Establishing sustainable pathways for content reuse] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/7ELN9Q/ Wikifunctions is coming soon to a wiki near you!] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/ZMGVJV/ Shaping the Future of Wikipedia’s Reader Experience] ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/KCKTFZ/ Making Wikipedia More Readable: What Comes Next] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/32|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W32"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 03:41, 5 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29083927 --> == Wikipedia translation of the week: 2025-33 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lethocerus patruelis]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lethocerus patruelis.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lethocerus patruelis''''' is a giant water bug in the family Belostomatidae. It is native to southeastern Europe, through Southwest Asia, to Pakistan, India and Burma. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:20, 11 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29085671 --> == Tech News: 2025-33 == <section begin="technews-2025-W33"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/33|Translations]] are available. '''Updates for editors''' * The WikiEditor toolbar now includes [[mw:Special:MyLanguage/Help:Extension:WikiEditor#Keyboard shortcuts|its keyboard shortcuts]] in the tooltips for its buttons. This will help to improve the discoverability of this feature. [https://phabricator.wikimedia.org/T400583] * The [[m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] published a set of [[m:Special:MyLanguage/Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|proposed experiments]] the Wikimedia Foundation can try to improve communication with community. Feedback on the proposals are welcomed until August 22 on [[m:Talk:Product and Technology Advisory Council/August 2025 draft PTAC proposals for feedback|this talk page]]. * The search bar on the Minerva skin (mobile) has been updated to use the same type-ahead search component that is used on the Vector 2022 skin. There are no changes in search functionality but there are minor visual changes. Specifically, the close-search button has been changed from an "X" to a back arrow. This helps to distinguish it from the other "X" button that is used to clear any text. [https://phabricator.wikimedia.org/T393944] * Editors on some wikis will see a new toggle for "Group results by page" on watchlist, related changes, and recent changes pages. This is [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment|an A/B experiment]] that is planned to start on August 11, and will run for 3–6 weeks on the Bengali, Chinese, Czech, French, Greek, Portuguese, and Urdu Wikipedias. The experiment will examine how making this feature more discoverable might affect editors' ability to find the edits they are looking for. [https://phabricator.wikimedia.org/T396789] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * The multiwiki datasets of [[:wikt:en:Module:Unicode data|Unicode data]] have been moved to [[c:Category:Unicode Module Datasets|Category:Unicode Module Datasets]] on Wikimedia Commons, to follow the idea of "One common data source, multiple local wikis". Most wikis have been updated to use the Commons version. You can ask questions at [[c:Category talk:Unicode Module Datasets|the talkpage]]. [https://en.wiktionary.org/wiki/Module_talk:Unicode_data#Data_from_commons] * Lua code can add warnings when something is wrong, by using the <code dir=ltr>mw.addWarning()</code> function. It is now possible to add more than one warning, instead of new warnings replacing old ones. If you maintain a Lua module that used warnings, you should check it still works as expected. [https://phabricator.wikimedia.org/T398390] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.14|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/33|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W33"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:30, 11 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29106516 --> == Wikipedia translation of the week: 2025-34 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Ikiza]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:CIA map of Burundi and surrounding countries during 1972 killings.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Ikiza''' (variously translated from Kirundi as the Catastrophe, the Great Calamity, and the Scourge), or the Ubwicanyi (Killings), was a series of mass killings—often characterised as a genocide—which were committed in Burundi in 1972 by the Tutsi-dominated army and government, primarily against educated and elite Hutus who lived in the country. Conservative estimates place the death toll of the event between 100,000 and 150,000 killed, while some estimates of the death toll go as high as 300,000. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 18 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29115447 --> == Tech News: 2025-34 == <section begin="technews-2025-W34"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/34|Translations]] are available. '''Updates for editors''' * Later this week, people who are logged-in and have the "[[mw:Special:MyLanguage/Talk pages project/Feature summary|Discussion tools]]" [[Special:Preferences#mw-prefsection-betafeatures|Beta Feature]] enabled will gain the ability to "Thank" individual comments directly from talk pages, rather than needing to navigate to page history. [[mw:Special:MyLanguage/Talk pages project/Feature summary#Comment actions|Learn more about this feature]]. [https://phabricator.wikimedia.org/T400849] * An A/B test comparing two versions of the desktop donate link launched on testwiki on 12 August and on English Wikipedia 14 August for 0.1% of logged out users on the desktop site. The experiment will run for three weeks, ending on 12 September. [https://phabricator.wikimedia.org/T395716] * An A/A test to measure the baseline for reader retention was launched 12 August using [[wikitech:Experimentation Lab|Experimentation Lab]]. This measures the percentage of users who revisit a wiki after their initial visit over a 14-day period. No visual changes are expected. The experiment will run through 31 August. [https://phabricator.wikimedia.org/T399227] * Five new wikis have been created: ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q34057|Tagalog]] ([[s:tl:|<code>s:tl:</code>]]) [https://phabricator.wikimedia.org/T388639] ** a {{int:project-localized-name-group-wikisource/en}} in [[d:Q36213|Madurese]] ([[s:mad:|<code>s:mad:</code>]]) [https://phabricator.wikimedia.org/T391747] ** a {{int:project-localized-name-group-wikipedia/en}} in [[d:Q3450749|Rakhine]] ([[w:rki:|<code>w:rki:</code>]]) [https://phabricator.wikimedia.org/T392490] ** a {{int:project-localized-name-group-wikibooks/en}} in [[d:Q13324|Minangkabau]] ([[b:min:|<code>b:min:</code>]]) [https://phabricator.wikimedia.org/T395452] ** a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q7598268|Standard Moroccan Amazigh]] ([[wikt:zgh:|<code>wikt:zgh:</code>]]) [https://phabricator.wikimedia.org/T399684] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:46}} community-submitted {{PLURAL:46|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.15|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/34|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W34"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:39, 19 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29127690 --> == Wikipedia translation of the week: 2025-35 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Corallite]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Recent azooxanthellate Scleractinia (Cnidaria, Anthozoa) - ZooKeys-227-001-g004.jpeg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''corallite''' is the skeletal cup, formed by an individual stony coral polyp, in which the polyp sits and into which it can retract. The cup is composed of aragonite, a crystalline form of calcium carbonate, and is secreted by the polyp. Corallites vary in size, but in most colonial corals they are less than 3 mm (0.12 in) in diameter. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 25 August 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29115447 --> == Tech News: 2025-35 == <section begin="technews-2025-W35"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/35|Translations]] are available. '''Updates for editors''' * [[File:Octicons-gift.svg|12px|link=|class=skin-invert|Wishlist item]] [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Template authors can now use additional CSS properties, since the CSS sanitizer used by [[mw:Special:MyLanguage/Help:TemplateStyles|TemplateStyles]] was updated. For example: <code>width: fit-content</code>; <code>ruby-align</code>; relative units such as <code>lh</code>; and custom strings in <code>list-style-type</code>. These improvements are a [[m:Special:MyLanguage/Community Wishlist/Wishes/Allow use of modern CSS in templates by updating the TemplateStyles CSS sanitizer|Community Wishlist wish]]. [https://phabricator.wikimedia.org/T271958][https://phabricator.wikimedia.org/T277755][https://phabricator.wikimedia.org/T293633][https://phabricator.wikimedia.org/T295088][https://phabricator.wikimedia.org/T326906][https://phabricator.wikimedia.org/T340057][https://phabricator.wikimedia.org/T360725][https://phabricator.wikimedia.org/T371809][https://phabricator.wikimedia.org/T375344][https://phabricator.wikimedia.org/T394619] * On large wikis, the default time period to display edits from, within the Special:RecentChanges page, has been changed from 7 days to 1 day. This is part of a performance improvement project. This should have no user-facing impact due to the quantity of edits on these wikis. [https://phabricator.wikimedia.org/T399455] * Administrators can now access the [[{{#special:BlockedExternalDomains}}]] page from the [[{{#special:CommunityConfiguration}}]] list page. This makes it easier to find. [https://phabricator.wikimedia.org/T393240] * Wikimedia Commons videos were not shown in the Videos tab in Google Search. The problem was investigated and reported to Google who have now fixed the issue. [https://phabricator.wikimedia.org/T396168][https://meta.wikimedia.org/wiki/Community_Wishlist/Wishes/Do_something_about_Google_%26_DuckDuckGo_search_not_indexing_media_files_and_categories_on_Commons] * One new wiki has been created: a {{int:project-localized-name-group-wiktionary/en}} in [[d:Q33014|Betawi]] ([[wikt:bew:|<code>wikt:bew:</code>]]) [https://phabricator.wikimedia.org/T402130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:39}} community-submitted {{PLURAL:39|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * Two fields of the [[mw:Special:MyLanguage/Manual:Recentchanges table|recentchanges database table]] are being removed. <code>rc_new</code> and <code>rc_type</code> are being removed in favor of <code>rc_source</code>. Queries to these older fields will start to fail starting this week and developers should use <code>rc_source</code> instead. These older fields were deprecated over 10 years ago and should not be in use. This is part of work to improve the performance and stability of queries to the recentchanges table. [https://phabricator.wikimedia.org/T400696] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.16|MediaWiki]] '''In depth''' * The latest quarterly [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Newsletter/2025/July|Language and Internationalization Newsletter]] is now available. This edition includes: support for new languages in MediaWiki and translatewiki; the start of the Language Onboarding and Development project to help support the growth of new and small wikis; updates on research projects; and more. '''Meetings and events''' * The next [[mw:Special:MyLanguage/Wikimedia Language and Product Localization/Community meetings#29 August 2025|Language Community Meeting]] is happening soon, August 29th at [https://zonestamp.toolforge.org/1756479600 15:00 UTC]. This week's meeting will cover: the Avro keyboard developers from Wikimedia Bangladesh, who were recently awarded a national award for their contributions to this keyboard; and other topics. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/35|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W35"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 00:13, 26 August 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29175124 --> == Wikipedia translation of the week: 2025-36 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Diksam Plateau]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Dixam plateau (6407168437).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Diksam Plateau''' or Dixam Plateau (Arabic: دكسم) is a limestone plateau in Socotra, Yemen. The Firmihin forest, located east of the Dirhur canyon within the plateau, has the highest concentration of Dragon's Blood Trees on the entire island. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:40, 1 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29195081 --> == Tech News: 2025-36 == <section begin="technews-2025-W36"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/36|Translations]] are available. '''Weekly highlight''' * The Editing team wants to compile a list of templates, jargon terms, and policies used in edit summaries when a copyright violation is removed. This will help them identify the number of edits reverted due to copyright issues. We invite community members from the following Wikis to list these terms in [[Phab:T402601|T402601]], or to share their list with [[User:Trizek (WMF)|Trizek_(WMF)]]: {{int:project-localized-name-arwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-cswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-dewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-enwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-eswiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-fawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-frwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-hewiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-idwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-itwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-jawiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-kowiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-nlwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-plwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ptwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-trwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-ukwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-viwiki/en}}{{int:comma-separator/en}}{{int:project-localized-name-zhwiki/en}}. This project is open until September 9th 2025. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] has been enabled for all Wikisources. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. The extension has three features: [[m:Special:MyLanguage/Event Center/Registration|Event Registration]], [[m:Special:MyLanguage/CampaignEvents/Collaboration list|Collaboration List]], and [[m:Special:MyLanguage/Connection Team/Invitation list|Invitation List]]. To request the extension for your wiki, visit the Deployment information page. [https://meta.wikimedia.org/wiki/CampaignEvents/Deployment_status#How_to_Request_the_CampaignEvents_Extension_for_your_wiki] * The lists in the footer of the editing interface, such as "Templates used on this page," will now be organized into columns when there is enough space. This enhancement minimizes scrolling when editing lengthy articles on Wikipedia. [https://phabricator.wikimedia.org/T401066] * On September 3rd, 2025 we will increase the sampling percentages of our [[mw:Special:MyLanguage/Moderator Tools/Watchlist/Experiment#Scope of the experiment|group by toggle experiment]] of the <code>Special:RecentChanges</code>, <code>Special:Watchlist</code>, and <code>Special:RelatedChanges</code> pages on the Chinese, French, and Portuguese Wikipedias to 100 percent, allowing more editors to be part of this experiment. This adjustment is intended to ensure we have sufficient data to make informed decisions when evaluating the experiment results. [https://phabricator.wikimedia.org/T402958][https://phabricator.wikimedia.org/T396789] * Upon clicking an empty search bar, logged-out users will see suggestions of articles for further reading on English Wikipedia beginning the week of September 22. The feature will be available on both desktop and mobile. All non-English wikis received this change in June and July. The goal is to make it easier for users to find articles. [[mw:Special:MyLanguage/Reading/Web/Content Discovery Experiments/Search Suggestions|Learn more]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:37}} community-submitted {{PLURAL:37|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.17|MediaWiki]] '''In depth''' * Wikifunctions now has a new capability called "lightweight enumeration types", an enumeration type is simply a fixed set of values that's in the type's definition. This capability makes it quick and easy to define such a type, and allows for the reuse of values that are already present in Wikidata. Here is [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-07-19|a newsletter]] to learn more. * The latest [[mw:Special:MyLanguage/Readers/Newsletter updates#August 2025: Newsletter #1|Readers Newsletter]] is now available. This edition includes: the formation of two new teams — Reader Growth and Reader Experience; insights into declining pageviews and account creations; highlights from the Wikimania Nairobi panel on improving the reading experience; upcoming experiments to engage new and existing readers; and more. '''Meetings and events''' * Spotlight on some Wikimania 2025 Sessions: ** Identifying AI-generated text by searching for ISBNs whose checksums fail: Mathias Schindler of WMDE [https://www.youtube.com/watch?v=Dw9o8Lsl974&t=15910s shared tools to help communities search for these]. ** [https://wikimedia.eventyay.com/talk/wikimania2025/talk/TCHZKH/ La durabilité du mouvement Wikimedia face aux défis actuels et futurs]: This session explored how Wikimedia can stay a trusted source of knowledge in the age of generative AI, information overload, and disinformation. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/36|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W36"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:51, 1 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29196010 --> == Wikipedia translation of the week: 2025-37 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Ttongsul]]'''<br /> <small>''([[:ja:トンスル]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Ttongsul (imitation).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''ttongsul''' (똥술), o vino di feci, è una tradizionale preparazione medicinale coreana con gradazione alcolica al 9% a base di feci, solitamente umane e preferibilmente di bambino. Nato probabilmente traendo spunto dalla medicina tradizionale cinese, nelle credenze popolari il vino di feci avrebbe proprietà benefiche per molti tipi di malesseri: sarebbe un rimedio per dolori muscolari, ustioni, infiammazioni, epilessia e fratture ossee. Sebbene alcuni media occidentali abbiano in passato riportato che questa bevanda sia diffusa tra la popolazione coreana, al giorno d'oggi un numero molto limitato di persone ne fa uso, dopo aver subito un declino di popolarità nei secoli scorsi, tanto che la maggioranza dei giovani coreani non ne ha mai sentito parlare. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:28, 8 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29195081 --> == Tech News: 2025-37 == <section begin="technews-2025-W37"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/37|Translations]] are available. '''Weekly highlight''' * The Editing team is working on a new check: [[mw:Special:MyLanguage/Paste check|Paste check]]. This check informs newcomers who paste text into Wikipedia that the content might not be accepted. This check is an effort to increase the likelihood that the new content people are adding to Wikipedia is aligned with the Movement's commitment to offering information under a free content license. This check will soon be tested at a few wikis. If your community is interested in this test, please [[phab:T403680|tell us in this task]], or [[mw:Talk:Edit check|contact the team]]. '''Updates for editors''' * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will be able to use a [[w:en:Lint (software)|linting tool]] to see errors or other potential problems in wikitext in real time. See the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|help page for more information]]. [https://phabricator.wikimedia.org/T381577] * [[File:Octicons-tools.svg|12px|link=|class=skin-invert|Advanced item]] When browsing a wiki (like <code dir=ltr>en.wikipedia.org</code>), the software responds in one of two ways: a desktop page, or a redirect to a mobile version on an "m" domain (like <code dir=ltr>en.m.wikipedia.org</code>). Over the next three weeks, MediaWiki will start displaying the mobile version to mobile devices directly on the standard domain, without this redirect. This change does not affect existing m-dot URLs, or the "Desktop view" opt-out. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * When an edit changes the categories of a page, the changes to the category membership counts are now happening asynchronously. This improves the speed of saving edits, especially when moving many pages to or from the same category, and reduces the risk of site outages, but it means that the counts can show outdated information for a few minutes. [https://phabricator.wikimedia.org/T365303] * Edits on Wikidata to qualifiers (properties and values) and references (properties and values) in a Wikidata item statement will now not add entries to the RecentChanges or Watchlist pages on all other Wikis. This is a temporary change to improve performance while other solutions are created. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: Turn off (temporarily) Qualifiers and References Wikidata edits to the Recent Changes tables|Learn more]]. [https://phabricator.wikimedia.org/T401286][https://phabricator.wikimedia.org/T400698] * Japanese-language wikis have had a major upgrade to the way that search works. The new search should generally give more accurate and more relevant search results. [https://phabricator.wikimedia.org/T318269] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.18|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/37|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W37"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 01:15, 9 September 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29238161 --> == Wikipedia translation of the week: 2025-38 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pak Kum-chol]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pak Kum-chol in 1961 (cropped).jpg|center]] <div style="text-align:left; padding: .4em;"> '''Pak Kum-chol''' was a North Korean politician. Having been a guerrilla during the anti-Japanese struggle, he became a high-ranking politician after the liberation of Korea. Pak aligned himself with his former guerrilla brothers in arms from the Kapsan Operation Committee to form a faction within the ruling Workers' Party of Korea (WPK) called the "Kapsan faction". This faction sought to replace Kim Il Sung with Pak. Kim retaliated by purging the faction in 1967 in what is known as the Kapsan faction incident. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:18, 15 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29249252 --> == Tech News: 2025-38 == <section begin="technews-2025-W38"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/38|Translations]] are available. '''Updates for editors''' * References lists that are made using the <code dir=ltr><nowiki><references/></nowiki></code> [[mw:Special:MyLanguage/Help:Cite#references-tag|tag]] will now automatically display with columns in Vector 2022 when readers are using its 'standard' settings for text-size and page-width. [https://phabricator.wikimedia.org/T334941] * Starting in the week of October 6, on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small wikis]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] that have the [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] enabled, all autoconfirmed users will be able to use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] as an organizer. No changes will be made for [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/large.dblist|large wikis]] unless requested in Phabricator. This change is being made to make it easier for more people to use Event Registration, especially on wikis that are less likely to have policies related to the Event Organizer right. [[m:Special:MyLanguage/CampaignEvents/Proposal to grant autoconfirmed users on small and medium wikis the organizer access to the event registration tool|Learn more]]. * Users that search using regular expressions (regex) can now use additional features including: ** for the <code dir=ltr>intitle:</code> keyword: [[mw:Special:MyLanguage/Help:CirrusSearch#Metacharacters|metacharacters]] for start-of-line (<code dir=ltr>^</code>) and end-of-line (<code dir=ltr>$</code>) anchors [https://phabricator.wikimedia.org/T317599] ** for both <code dir=ltr>intitle:</code> and <code dir=ltr>insource:</code> keywords: shorthand [[mw:Special:MyLanguage/Help:CirrusSearch#Character_Classes|character classes]] for digits (<code dir=ltr>\d</code>), whitespace (<code dir=ltr>\s</code>), and word characters (<code dir=ltr>\w</code>); and [[mw:Special:MyLanguage/Help:CirrusSearch#Escape codes|escape codes]] for line feed (<code dir=ltr>\r</code>), newline (<code dir=ltr>\n</code>), tab (<code dir=ltr>\t</code>), and unicode (e.g. <code dir=ltr>\uHHHH</code>). [https://phabricator.wikimedia.org/T403212] * When you search for text that looks like an IP, the system will now show search results. It used to take you to the contributions for that IP instead of showing search results. [https://phabricator.wikimedia.org/T306325] * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on September 24. This is planned at [https://zonestamp.toolforge.org/1758726000 15:00 UTC]. This is for the datacenter server switchover backup tests which happen twice a year. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the background and details of this process on the Diff blog]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug was fixed that affected users who used the page-tabs to switch from wikitext editing of a section into the visualeditor. [https://phabricator.wikimedia.org/T401043] '''Updates for technical contributors''' * The MediaWiki Interfaces team is redesigning the Wikimedia REST API Sandbox with Codex. If you have feedback on improvements for the API documentation or what makes developer experiences smooth (or frustrating), you’re invited to [https://calendar.google.com/calendar/u/0/appointments/schedules/AcZssZ2aZzbXeQvjOF7gB1fJXiwAYemQjKf4sXNaRODPA7_obFyNBwkzNkoVCoTF-aeov89kIjXHbCQm join an upcoming discovery interview], or [[mw:MediaWiki Interfaces Team/Developer Feedback/Wikimedia Web APIs|leave feedback onwiki]]. [[listarchive:list/wikitech-l@lists.wikimedia.org/thread/C4FBAOA57PH6G5ORVMAUF5TGYBLZDU5Q/|Learn more]]. * Edits to Wikidata aliases (an alternative name for an item or a property) will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [[m:Wikidata For Wikimedia Projects/Reduce change propagation noise#Phase 1: More granular Alias tracking|Learn more]]. [https://phabricator.wikimedia.org/T401288] * The new [https://www.unicode.org/versions/Unicode17.0.0/ Unicode 17.0] version has been released. The [[:c:Category:Unicode Module Datasets|datasets on Commons]] for the [[:d:Q39301585|Module:Unicode data]] have been updated. Wikipedias that do not use the Commons datasets should either update their own data or switch to the Commons datasets. * Users of the [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] Structured Contents endpoints can now access [https://enterprise.wikimedia.com/blog/parsed-wikipedia-tables/ Parsed Tables]. The new Parsed Tables feature extracts and represents Wikipedia tables in structured JSON. This improves machine accessibility as part of the [https://enterprise.wikimedia.com/api/structured-contents/ Structured Contents initiative]. Structured Contents output is freely available through the [https://enterprise.wikimedia.com/docs/on-demand/#article-structured-contents-beta On-demand API], or through Wikimedia Cloud Services. * A [https://www.kaggle.com/datasets/wikimedia-foundation/english-wikipedia-people-dataset dataset of English Wikipedia biographical information] from [[m:Special:MyLanguage/Wikimedia Enterprise|Wikimedia Enterprise]] has been published on Kaggle, for evaluation and research. This provides structured data from more than 1.5 million biographies, including birth and death dates, education, affiliations, careers, awards, and more (from a June 2024 snapshot). * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.19|MediaWiki]] '''Meetings and events''' * [[wmania:Special:MyLanguage/2026:Scholarships|Scholarship applications]] for Wikimania 2026 in Paris, France, are open until October 31. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/38|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W38"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:08, 15 September 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29263921 --> == Wikipedia translation of the week: 2025-39 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Federation of Central America (1921–1922)]]'''<br /> <small>''([[:es:Federación de Centro América (1921-1922)]])&#32;([[:ar:اتحاد أمريكا الوسطى (1921-1922)]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Central America's Northern Triangle (orthographic projection).png|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Federation of Central America''' (Spanish: Federación de Centro América)[1] was a short-lived federal republic that existed in Central America between 1921 and 1922. The federation consisted of the Central American nations of El Salvador, Guatemala, and Honduras. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:45, 22 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29311347 --> == Tech News: 2025-39 == <section begin="technews-2025-W39"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/39|Translations]] are available. '''Weekly highlight''' * [https://zonestamp.toolforge.org/1758726000 On September 24th at 15:00 UTC], all Wikimedia sites users will experience a brief read-only period due to a scheduled [[m:Special:MyLanguage/Tech/Server switch|datacenter server switchover]]. The Wikimedia Foundation's Site Reliability Engineering (SRE) team will redirect all traffic from one primary server to its backup. You can listen to the switchover using the [http://listen.hatnote.com/ "Listen to Wikipedia"] tool, where you will hear edits stop for a few minutes during the read-only phase, then resume. This twice-yearly datacenter server switchover ensures reliability by testing the backup datacenter, so that our sites can stay online even if the primary datacenter fails. You can [[diffblog:2025/03/12/hear-that-the-wikis-go-silent-twice-a-year/|read more about the process on the Diff blog]]. '''Updates for editors''' * Editors of [[f:Special:Mylanguage/Wikifunctions:Status updates/2025-09-12#Next round of Wiktionaries to receive embedded Wikifunctions calls|60 more Wiktionaries]] will soon be able to call [[f:Special:MyLanguage/Wikifunctions:Introduction|functions from Wikifunctions]] and integrate them into their pages. A function takes one or more inputs and transforms them into a desired output, like adding numbers, converting miles to meters, calculating elapsed time, or declining a word into a case. They will join the other [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-29#Wikifunctions available on 65 Wiktionaries|65 Wiktionary language editions]], which already have access to embedded Wikifunctions calls. Later this year, plans are in place to expand to more Wiktionaries and the Incubator. * A new [[mw:Special:MyLanguage/Help:Magic words#Technical metadata of another page|parser function]] has been added: <code><nowiki>{{#contentmodel}}</nowiki></code>. Template editors and admins can use it to get the localized or canonical name of the [[mw:Special:MyLanguage/Help:ChangeContentModel|content model]] of a specific page. The function makes it easier to create and edit system messages, such as ''MediaWiki:editinginterface'', even when you switch types of pages, like wiki, JavaScript, CSS or JSON page. [https://phabricator.wikimedia.org/T328254] * Adding or editing a <code>DISPLAYTITLE</code> for an article using VisualEditor will no longer be broken. Editors who use VisualEditor mode to modify the <code><nowiki>{{DISPLAYTITLE}}</nowiki></code> would no longer have the literal text "DISPLAYTITLE" or its localized variant added to their articles. A list of pages that may have been affected and might need cleanup is documented in [[phab:P83438|this ticket]]. * Beta users of the Wikipedia Android app can now try the redesigned [[mw:Special:MyLanguage/Wikimedia Apps/Team/Android/Activity Tab Experiment|Activity tab]], which replaces the Edits tab. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:12}} community-submitted {{PLURAL:12|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.20|MediaWiki]] '''In depth''' * Wikifunctions users can now import many essential facts involving [[f:Special:MyLanguage/Z6011|geo-coordinates]], [[f:Special:MyLanguage/Z6010|quantities]] and [[f:Special:MyLanguage/Z6064|time]] values from Wikidata. This is made possible by the creation of Wikifunctions types for these values, which makes them available for use by functions in Wikifunctions. Learn more about how this works in [[c:File:ImportingWikidataDatatypesIntoWikifunctions.webm|this video]] and Wikifunctions' [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-01#News in Types I: Wikidata quantity|August 1 newsletter]] (for quantities) and [[f:Special:MyLanguage/Wikifunctions:Status updates/2025-08-22#News in Types: Wikidata geo-coordinate|August 22 newsletter]] (for geo-coordinates). '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/39|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W39"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 22:56, 22 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29305556 --> == Wikipedia translation of the week: 2025-40 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Palazzo delle Poste (Latina)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Postelittoria2.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''Palazzo delle Poste''', fino al 1945 Ricevitoria Postelegrafonica di Littoria, è un edificio postale di Latina, situato in piazzale dei Bonificatori. Costruito nel 1932 in stile razionalista con influenze futuriste, riscontrabili nell'utilizzo di ampie superfici vetrate e di volumi verticali, oltre che per la presenza di l’utilizzo di materiali e scelte di design molto in voga all'epoca come, come i mattoni a vista, il travertino di Tivoli e l'Anticorodal (una lega di alluminio), ospita l'ufficio postale Latina Centro. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 00:58, 29 September 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-40 == <section begin="technews-2025-W40"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/40|Translations]] are available. '''Weekly highlight''' * A major software upgrade has been made to [[phab:|Phabricator]]. The update introduces performance improvements, a refreshed search interface, enhancements to Maniphest task search, updates to user profile pages and project workboards, new Herald automation features, as well as general text input, mobile experience improvements and more. [https://phabricator.wikimedia.org/phame/post/view/321/iterative_improvements_september_2025/] '''Updates for editors''' * The Community Tech team will release the new Community Wishlist extension on October 1, that will improve the way wishes will be submitted. The new extension will allow users to add tags to their wishes to better categorise them, and (in a future iteration) to filter them by status, tags and focus areas. It will also be possible to support individual wishes again, as requested by the community in many instances. The old system will be retired. There will be a brief period of downtime while the extension is deployed and wishes are migrated to the new system. You can read more about this [[:m:Special:MyLanguage/Community Wishlist/Updates|in the latest update]] or you can consult the [[:mw:Special:MyLanguage/Help:Extension:CommunityRequests|current documentation on MediaWiki]]. * As announced [[diffblog:2025/09/02/better-detecting-bots-and-replacing-our-captcha/|on Diff blog]], the production trial of the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/hCaptcha|hCaptcha]] service for bot detection has begun. The trial is currently using hCaptcha to protect account creation on Chinese, Persian, Portuguese, Indonesian, Japanese, and Turkish Wikipedias, where it will replace our existing [[mw:Special:MyLanguage/Extension:ConfirmEdit#FancyCaptcha|CAPTCHA]] (FancyCaptcha). The goal with the trial is to better block bots while also improving usability and accessibility for users who encounter CAPTCHA challenges. * The [[mw:Special:MyLanguage/Extension:CampaignEvents|CampaignEvents]] extension has been [[m:Special:MyLanguage/CampaignEvents/Deployment status|deployed]] to Wikimedia Commons. The extension makes it easier to organize and participate in collaborative activities, like edit-a-thons and WikiProjects, on the wikis. On Commons, anyone who is a registered user can use it as an event participant. To use it as an organizer, someone needs to have the [[c:Special:MyLanguage/Commons:Event organizers|event organizer right]]. * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to German Wikipedia. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|test the feature]] on testwiki or [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing on betawiki] as well. Please share your thoughts on [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Templates used in sub-references|using templates in sub-references]] or [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|volunteer to become a pilot wiki]]. * On wikis using the [[mw:Special:MyLanguage/Help:Growth/Mentorship|Mentorship]] system, communities can now opt experienced editors out of Mentorship through [[{{#special:CommunityConfiguration/Mentorship}}]]. Within this setting, communities may define thresholds, based on edit count and account age, to decide when an editor is considered experienced enough to no longer receive Mentorship. [https://phabricator.wikimedia.org/T403563] * The Editing Team and the Machine Learning Team are working on a new check for newcomers: [[mw:Special:MyLanguage/Edit check/Tone Check|Tone check]]. Using a prediction model, this check will encourage editors to improve the tone of their edits, using artificial intelligence. We invite volunteers to review the first version of the Tone language model for the following languages: Arabic, Czech, German, Hebrew, Indonesian, Dutch, Polish, Russian, Turkish, Chinese, Farsi, Italian, Norwegian, Romanian and Latvian. Users from these wikis interested in reviewing this model are [[mw:Special:MyLanguage/Edit_check/Tone_Check/Model_evaluation|invited to sign up at MediaWiki.org]]. The deadline to sign up is on October 3, which will be the start date of the test. * The rollout of [[:mw:Special:MyLanguage/Help:Manage blocks|multiblocks]] had the side effect that non-active block logs may have been shown on {{#special:Contributions}} and on blocked users' user and user_talk pages. This issue will be fully resolved in a few days. As part of the fix, [{{fullurl:Special:Allmessages|prefix=sp-contributions-blocked-notice}} messages prefixed with <code>sp-contributions-blocked-notice</code>] will be removed and replaced with [{{fullurl:Special:Allmessages|prefix=blocked-notice-logextract}} those prefixed with <code>blocked-notice-logextract</code>] in a few weeks. Please help translate the new messages and update any local overrides if needed. * There was a bug with links added using visual editor if they included characters such as <code dir=ltr><nowiki>[ ] |</nowiki></code> after the fragment identifier (<code><nowiki>#</nowiki></code>). They were not encoded properly creating an incorrect link. This has been fixed. [https://phabricator.wikimedia.org/T404823] * One new wiki has been created: a {{int:project-localized-name-group-wikiquote/en}} in [[d:Q9237|Malay]] ([[q:ms:|<code>q:ms:</code>]]) [https://phabricator.wikimedia.org/T404698] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the [[mw:Special:MyLanguage/Product Safety and Integrity/Anti-abuse signals/User Info|User Info Card]] now displays currently active global lock/blocks. [https://phabricator.wikimedia.org/T401128] '''Updates for technical contributors''' * Later this week, editors using Lua modules will be able to use the <code>[[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.title.newBatch|mw.title.newBatch]]</code> function to look up the existence of up to 25 pages at once, in a way that only increases the [[mw:Special:MyLanguage/Manual:Parser functions#Expensive parser functions|expensive function]] count once. * A new [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Unsupported Tools Working Group]] has been formed as part of ongoing efforts to collectively determine technical work priorities, similar to the [[m:Special:MyLanguage/Product and Technology Advisory Council|Product & Technology Advisory Council]] (PTAC). The working group will help prioritize and review requests for support of unmaintained extensions, gadgets, bots, and tools. For the first cycle, the group will be prioritizing an unsupported Wikimedia Commons tool. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.21|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/40|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W40"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:54, 29 September 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29355230 --> == Wikipedia translation of the week: 2025-41 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Majed Abu Maraheel]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Majed Abu Maraheel''' was a Palestinian long-distance runner, football player, security officer, and athletics coach, who was the first Palestinian to compete at the Olympic Games. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:48, 6 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-41 == <section begin="technews-2025-W41"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/41|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Help:Edit check#paste|Paste Check]] is a new Edit Check feature to help avoid and fight copyright violations. When editors paste text into an article, Paste Check prompts them to confirm the origin and licensing of the content. Starting Wednesday, 8 October, [[phab:T403680|22 wikis will test Paste Check]]. Paste Check will help new volunteers understand and follow the policies and guidelines necessary to make constructive contributions to Wikipedia projects. '''Updates for editors''' * Mobile devices will receive mobile articles directly on the standard domain (like <code>en.wikipedia.org</code>), instead of via a redirect to an "m" domain (like <code>en.m.wikipedia.org</code>). This change improves performance. This week it will be enabled on Wikipedias. The existing mobile URLs and the "Desktop view" opt-out remain available. [[mw:Requests for comment/Mobile domain sunsetting/2025 Announcement|Learn more]]. [https://phabricator.wikimedia.org/T214998] * New [[mw:Special:MyLanguage/Help:CirrusSearch#creationdate and lasteditdate|date filters]], <code dir=ltr>creationdate:</code> and <code dir=ltr>lasteditdate:</code>, are now available in the wiki search engine. This allows users to filter search results by a page's first or last revision date. The filters support comparison operators (e.g. <code dir=ltr>>2024</code>) and relative dates (e.g. <code dir=ltr>today-1d</code>), making it easier to find recently updated content or pages within specific age ranges. [https://phabricator.wikimedia.org/T403593] * [[f:|Wikifunctions]] now supports rich text in embedded calls across the 150 wikis where it's enabled. To showcase this, the team created a [[f:Z26333|Latin declination table]] that Wiktionary editors can use to automatically generate noun forms, producing clear, formatted results — see an [[f:Wikifunctions:Embedded function calls/Wiktionary tables demonstration|example output]]. If you need any help or have any feedback, please [[f:Wikifunctions:Project chat|contact the Wikifunctions Team]]. [https://phabricator.wikimedia.org/T397402] * An edit link will now appear inside the categories box on article pages for logged in users, which will directly launch the VisualEditor category dialog. [https://phabricator.wikimedia.org/T291691] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a problem downloading pdf files last week and that has been resolved. [https://phabricator.wikimedia.org/T405957] '''Updates for technical contributors''' * The field <code dir=ltr>rev_sha1</code> in the revision database table is being removed in favor of <code dir=ltr>content_sha1</code> in the content database table. See [https://lists.wikimedia.org/hyperkitty/list/cloud@lists.wikimedia.org/thread/2D2M3SP4WHR6BXXKTZ2PBLZQYR3EGQVR/ the announcement] for more information. * The [[mw:Special:MyLanguage/Reading/Web|Reader Experience team]] will roll out [[w:en:Light-on-dark color scheme|Dark Mode]] user interface on all Wikimedia sites on October 29, 2025. All anonymous users of Wikimedia sites will have the option to activate a color scheme that features light-colored text on a dark background. This is designed to provide a more comfortable reading experience, especially in low-light situations. Template authors and technical contributors are encouraged to [[mw:Special:MyLanguage/Reading/Web/Accessibility for reading/Updates/2024-04|learn how to make pages ready for Dark mode]] and address any compatibility issues found in templates in their wiki before the enablement. Please contact the Web team for questions or any support on [[mw:Talk:Reading/Web/Accessibility for reading#|this talk page]] before the enablement. [https://phabricator.wikimedia.org/T395628] * Starting on Monday, October 6, API endpoints under the <code>rest.php</code> path will be rerouted through a new internal API Gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. [https://phabricator.wikimedia.org/T400130] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/41|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W41"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:24, 6 October 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29400897 --> == Wikipedia translation of the week: 2025-42 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Abortion in Eritrea]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> In Eritrea, abortion is banned except on the grounds of pregnancy from rape or incest, pregnancy of a minor, or risk to physical or mental health. Legal abortions require medical or judicial approval. Prior to Eritrea's independence, it applied Ethiopia's abortion law of the 1950s, which banned abortion unless life-saving. After independence, the 1991 penal code adapted this law to lift punishments on abortions on the grounds of rape, incest, or risk to life or health, but legal abortions did not exist in effect. The penal codes of 2001 and 2015 required physicians to prove health grounds for abortion. Unsafe abortion is common and contributes to maternal mortality in Eritrea. Post-abortion care is unavailable in some regions. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:06, 13 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29341788 --> == Tech News: 2025-42 == <section begin="technews-2025-W42"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/42|Translations]] are available. '''Weekly highlight''' * Last week, improvements to account security and two-factor authentication (2FA) features were enabled across all wikis. These changes include user interface improvements for [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity], the support of multiple 2FA methods via authenticator apps and portable security keys (previously users could only enable one method), and a new Recovery Codes module which facilitates fewer account lockouts due to lost two-factor apps and devices. As part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project, work is continuing through the rest of 2025 on further user experience improvements, and support for passkeys as an alternate second factor. '''Updates for editors''' * Another part of the Account security project is making 2FA generally available to all users. Along with editors with advanced privileges, such as administrators and bureaucrats, 40% of editors now have access to 2FA. You can check if you have access at [https://auth.wikimedia.org/metawiki/wiki/Special:AccountSecurity Special:AccountSecurity]. Instructions for activation are on the linked page. The plan is to continue increasing availability if it is determined that the user support capabilities are able to support global usage. [https://phabricator.wikimedia.org/T400579] * This week, users at wikis where talk page [[mw:Special:MyLanguage/Talk pages project/Usability|Usability Improvements]] are already available by default (everywhere ''except'' the 12 wikis listed in [[phab:T379264|T379264]]) will gain the ability to Thank a comment directly from the talk page it appears on. Before this change, Thanking could only be done by visiting the revision history of the talk page. You can [[diffblog:2025/10/13/revolutionizing-gratitude-a-new-era-of-thanking-comments/|learn more about this change]]. [https://phabricator.wikimedia.org/T366095] * Users who have not [[Special:Preferences#mw-prefsection-personal-email|verified their email address]] will soon be receiving monthly Notification reminders to do so. This is because users who have verified their email can more easily recover their account. These reminders will not be sent if the user is inactive or removes the unverified email from their account. [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Email_confirmation][https://phabricator.wikimedia.org/T58074] * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a fix was made for an occasional error with saving translated paragraphs in the Content Translation tool, and the related error messages are now easier to see. [https://phabricator.wikimedia.org/T376531] '''Updates for technical contributors''' * The Unsupported Tools Working Group has chosen [[c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] as the first tool for its pilot cycle. The group will explore ways to improve and sustain the tool over the coming months. [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|Learn more on Meta]]. * [[File:Octicons-sync.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.23|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/42|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W42"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:00, 13 October 2025 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29434481 --> == Wikipedia translation of the week: 2025-43 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Liberation of Auschwitz concentration camp]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Auschwitz Liberated January 1945.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> On 27 January 1945, Auschwitz—a Nazi concentration camp and extermination camp in occupied Poland where more than a million people were murdered as part of the Nazis' "Final Solution" to the Jewish question—was liberated by the Soviet Red Army during the Vistula–Oder Offensive. Although most of the prisoners had been forced onto a death march, about 7,000 had been left behind. The Soviet soldiers attempted to help the survivors and were shocked at the scale of Nazi crimes. The date is recognized as International Holocaust Remembrance Day. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 20 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29452019 --> == Tech News: 2025-43 == <section begin="technews-2025-W43"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/43|Translations]] are available. '''Updates for editors''' * To optimize how user data is stored in our databases, the saved preferences of users who haven't logged in for over five years and have fewer than 100 edits will be cleared. When those users return, default settings will apply. [https://phabricator.wikimedia.org/T406724] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, there was a broken link from the GlobalContributions interface message to the XTools GlobalContributions page which has now been fixed. [https://phabricator.wikimedia.org/T406415] '''Updates for technical contributors''' * The work to reroute all traffic to API endpoints under the <code dir=ltr><nowiki>rest.php</nowiki></code> route through a common API gateway is now complete. If any issues are observed, please file a phabricator ticket to the [[phab:tag/serviceops/|Service Ops team board]]. * Edits to Wikidata references or qualifiers will now be shown in RecentChanges and Watchlist entries on other wikis less often, reducing unnecessary notifications. This will reduce the overall quantity of 'noisy' entries. Wikidata's own pages remain unchanged. [https://phabricator.wikimedia.org/T401290] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.24|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/43|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W43"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:37, 20 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29478670 --> == Wikipedia translation of the week: 2025-44 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Black Diaries]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The '''Black Diaries''' are diaries purported to have been written by the Irish revolutionary Roger Casement, which contained accounts of homosexual liaisons with young men. They cover the years 1903, 1910 and 1911 (two) and were handed in to Scotland Yard after his capture in April 1916. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:51, 27 October 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29487357 --> == Tech News: 2025-44 == <section begin="technews-2025-W44"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/44|Translations]] are available. '''Updates for editors''' * The Wikipedia iOS app has launched an A/B/C test of improvements made to the tabbed browsing feature for select regions and languages. The test, named “More dynamic tabs”, explores new tab experiences and includes “Did you know” and “Because you read” article recommendations. You can [[mw:Special:MyLanguage/Wikimedia Apps/Team/iOS/Tabbed Browsing (Tabs)/New Tab Experience and Recommendations Experiment|read more on the project page]]. * Autoconfirmed users on [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/small.dblist|small]] and [[gitiles:operations/mediawiki-config/+/a2d2aaab9ace84280dd2f4c70a33bb69cd73850f/dblists/medium.dblist|medium wikis]] with the CampaignEvents extension can now use [[m:Special:MyLanguage/Event Center/Registration|Event Registration]] without the Event Organizer right. This feature lets organizers enable registration, manage participants, and lets users register with one click instead of signing event pages. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue of flashing colors when holding or pressing the arrow keys under the dark mode settings in Vector 2022 has been fixed. [https://phabricator.wikimedia.org/T402285] '''Updates for technical contributors''' * The CampaignEvents extension will be deployed to all remaining wikis during the week of 17 November 2025. The extension currently includes three features: Event Registration, Collaboration List, and Invitation List. For this rollout, Invitation List will not be enabled on Wikifunctions and MediaWiki unless requested by those communities. [[m:Special:MyLanguage/CampaignEvents/Deployment status|Visit the deployment page to learn more]]. * The SwaggerUI-based REST sandbox experience is now live on all wiki projects. The sandbox can be accessed through the [[{{#special:RestSandbox}}]] page. Please report any issues to the MediaWiki Interfaces team board, or join the discussion on the [[mw:Special:MyLanguage/MediaWiki Interfaces Team/Feature Feedback/REST Sandbox|project launch]] page. [https://phabricator.wikimedia.org/project/board/6931/] * Transform endpoints with a trailing slash path in the MediaWiki REST API are now marked as deprecated. They will remain functional during this time, but removal is expected by the end of January 2026. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found and tested using the [https://test.wikipedia.org/w/index.php?api=mw-extra&title=Special%3ARestSandbox REST Sandbox]. See the [[mw:API/Deprecation|MediaWiki REST API Deprecation]] page for more detailed information about the API deprecation policies and procedures. * A dedicated [[mw:API:REST API/Changelog|changelog now exists for the MediaWiki REST API]]. The changelog provides an overview of these changes, making it easier for developers to keep track of improvements and iterations. Announcements will also continue to flow through the standard communication channels, including Tech News and email distribution lists, but can now be more easily referenced from a central location. If you have feedback about the style, structure, or content of this changelog, please [[mw:API talk:REST API/Changelog|join the discussion]]. * Administrators can delete the tracking category which was previously added by the JsonConfig extension, as it is no longer used. See the categories linked from [[d:Q130635582#sitelinks-wikipedia|Q130635582]]. It is OK if there are still pages listed in the category as that is just a caching issue, and they will be automatically cleared out the next time each page is edited. [https://phabricator.wikimedia.org/T378352] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.25|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/44|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W44"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:32, 27 October 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29513638 --> |} == Wikipedia translation of the week: 2025-45 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Consolations (Liszt)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Franz Liszt - Consolation No. 3, Lento placido.ogg|center|300px|]] <div style="text-align:left; padding: .4em;"> The '''Consolations''', S. 171a/172 (German: Tröstungen) are a set of six solo piano works by Franz Liszt. The compositions take the musical style of nocturnes with each having its own distinctive style. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:52, 3 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29558323 --> == Tech News: 2025-45 == <section begin="technews-2025-W45"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/45|Translations]] are available. '''Updates for editors''' * Administrators will now find that [[{{#special:MergeHistory}}]] is now significantly more flexible about what it can merge. It can now merge sections taken from the middle of the history of the source (rather than only the start) and insert revisions anywhere in the history of the destination page (rather than only the start). [https://phabricator.wikimedia.org/T382958] * For users with "{{int:discussiontools-preference-autotopicsub}}" [[Special:Preferences#mw-prefsection-editing|enabled in their preferences]], starting a new topic or adding a reply to an existing topic will now subscribe them to replies to that topic. Previously, this would only happen if the DiscussionTools "{{int:Skin-action-addsection}}" or "{{int:Discussiontools-replybutton}}" widgets were used. When DiscussionTools was originally launched existing accounts were not opted in to automatic topic subscriptions, so this change should primarily affect newer accounts and users who have deliberately changed their preferences since that time. [https://phabricator.wikimedia.org/T290778] * Scribunto modules can now be used to [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#SVG library|generate SVG images]]. This can be used to build charts, graphics and other visualizations dynamically through Lua, reducing the need to compose them externally and upload them as files. [https://phabricator.wikimedia.org/T405861] * Wikimedia sites now provide all anonymous users with the option to enable a dark mode color scheme, featuring light-colored text on a dark background. This enhancement aims to deliver a more enjoyable reading experience, especially in dimly lit environments. [https://phabricator.wikimedia.org/T395628] * Users with large watchlists have long faced timeouts when editing [[Special:EditWatchlist|Special:EditWatchlist]]. The page now loads entries in smaller sections instead of all at once due to a paging update, allowing everyone to edit their watchlists smoothly. As part of the database update, sorting by expiry has been removed because it was over 100× slower than sorting by title. A [https://meta.wikimedia.org/wiki/Community_Wishlist/W454 community wish] has been created to explore alternative ways to restore sort-by-expiry. If this feature is important to you, please support the wish! [https://phabricator.wikimedia.org/T41510] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:31}} community-submitted {{PLURAL:31|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the fixing of the persisting highlighting when using VisualEditor find and replace during a query. [https://phabricator.wikimedia.org/T407318] '''Updates for technical contributors''' * Since 2019 the [[m:Special:MyLanguage/Wikimedia URL Shortener|Wikimedia URL Shortener]] at https://w.wiki is available for all Wikimedia wikis to create short links to articles, permalinks, diffs, etc. It is available in the sidebar as "Get shortened URL". There are 30 wikis that also install an older "ShortUrl" extension. The old extension will soon be removed. This means <code>/s/</code> URLs will not be advertised under article titles via HTML <code dir=ltr>class="title-shortlink"</code>. The <code>/s/</code> URLs will keep working. [https://phabricator.wikimedia.org/T107188] * On Thursday, October 30, the [[:mw:Special:MyLanguage/MediaWiki Interfaces Team|MediaWiki Interfaces]] and [[:mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Service Operations]] teams began rerouting Action API traffic through a common API gateway. Individual wikis will be updated based on the standard release groups, with total traffic increased over time. This change is expected to be non-breaking and non-disruptive. If any issues are observed, please file a Phabricator ticket to the [https://phabricator.wikimedia.org/tag/serviceops/ Service Ops team] board. * MediaWiki Train deployments will pause for the final two weeks of 2025: 22 December and 29 December. Backport windows will also pause between Monday, 22 December 2025 and Thursday, 2 January 2026. A backport window is a scheduled time to add things like bug fixes and configuration changes. There are seven deployment trains remaining for 2025. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/SMWTEAES4SDLDUSK4HMWNBSKNCXZAWYN/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.45/wmf.26|MediaWiki]] '''In depth''' * In 2025, the Wikimedia Foundation reported that AI systems and search engines increasingly use Wikipedia content without driving users to the site, contributing to an 8% drop in human pageviews compared to 2024. After detecting bots disguised as humans, Wikimedia updated its traffic data to reflect this shift. Read more about current user trends on Wikipedia in [[diffblog:2025/10/17/new-user-trends-on-wikipedia/|a Diff blog post]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/45|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W45"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:35, 3 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29552512 --> == Wikipedia translation of the week: 2025-46 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Marine coastal ecosystem]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Vegetation and fauna processes controlling benthic biogeochemical fluxes.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> A '''marine coastal ecosystem''' is a marine ecosystem which occurs where the land meets the ocean. Worldwide there is about 620,000 kilometres (390,000 mi) of coastline. Coastal habitats extend to the margins of the continental shelves, occupying about 7 percent of the ocean surface area. Marine coastal ecosystems include many very different types of marine habitats, each with their own characteristics and species composition. They are characterized by high levels of biodiversity and productivity. For example, estuaries are areas where freshwater rivers meet the saltwater of the ocean, creating an environment that is home to a wide variety of species, including fish, shellfish, and birds. Salt marshes are coastal wetlands which thrive on low-energy shorelines in temperate and high-latitude areas, populated with salt-tolerant plants such as cordgrass and marsh elder that provide important nursery areas for many species of fish and shellfish. Mangrove forests survive in the intertidal zones of tropical or subtropical coasts, populated by salt-tolerant trees that protect habitat for many marine species, including crabs, shrimp, and fish. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:54, 10 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29584005 --> == Tech News: 2025-46 == <section begin="technews-2025-W46"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/46|Translations]] are available. '''Updates for editors''' [[File:Talk pages default look (April 2023).jpg|thumb|alt=Screenshot of the visual improvements made on talk pages|Example of a talk page with the new design, in French.]] * Starting November 12, users will see a change in the [[m:Special:MyLanguage/Talk pages project/Feature summary#Usability improvements|appearance of talk pages]] on [[Phab:T379264|some Wikipedias]]. Almost [[phab:T392121|all wikis]] have received this design change; [[phab:T409297|English Wikipedia]] will get these changes later. You can read more [[diffblog:2024/05/02/making-talk-pages-better-for-everyone/|on ''Diff'']]. Users can opt out of these changes [[Special:Preferences#mw-prefsection-editing|in their user preferences]] in "{{int:discussiontools-preference-visualenhancements}}". [https://phabricator.wikimedia.org/T379264] * MediaWiki can now display a [[mw:Special:MyLanguage/Help:Protection indicators|page indicator]] automatically while a page is protected. This feature is disabled by default. It can be enabled by [[m:Special:MyLanguage/Requesting wiki configuration changes|community request]]. [https://phabricator.wikimedia.org/T12347] * Using the "{{int:showpreview}}" or "{{int:showdiff}}" buttons in the wikitext editor will now carry over certain URL parameters like '[[mw:Special:MyLanguage/Manual:Parameters to index.php#useskin|useskin]]', '[[mw:Special:MyLanguage/Manual:Parameters to index.php#uselang|uselang]]' and '[[mw:Special:MyLanguage/Help:Section#Editing sections|section]]'. This update also fixes an issue where, if the browser crashed while previewing an edit to a single section, saving this edit could overwrite the entire page with just that section’s content. [https://phabricator.wikimedia.org/T62744][https://phabricator.wikimedia.org/T24029][https://phabricator.wikimedia.org/T155097] * Wikivoyage wikis can use [[mw:Special:MyLanguage/Help:Extension:Kartographer#Markers and counters|colored map markers in the article text]]. The text of these markers will now be shown in contrasting black or white color, instead of always being white. Local workarounds for the problem can be removed. [https://phabricator.wikimedia.org/T369454] * The Activity tab in the Wikipedia Android app is now available for all users. The new tab offers personalized insights into reading, editing, and donation activity, while simplifying navigation and making app use more engaging. [https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Android/Activity_Tab_Experiment] * The Reader Growth team is launching an experiment called "Image browsing" to test how to make it easier for readers to browse and discover images on Wikipedia articles. This experiment, a mobile-only A/B test, will go live on English Wikipedia in the week of November 17 and will run for four weeks, affecting 0.05% of users on English wiki. The test launched on November 3 on Arabic, Chinese, French, Indonesian, and Vietnamese wikis, affecting up to 10% of users on those wikis. [https://www.mediawiki.org/wiki/Readers/Reader_Growth/WE3.1.3_Image_Browsing] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example the inability to lock accounts on mobile sites has been fixed. [https://phabricator.wikimedia.org/T256185] '''Updates for technical contributors''' * [[wikitech:Help talk:Toolforge/Toolforge standards committee#November 2025 committee nominations|Nominations are open on Wikitech]] for new [[wikitech:Help:Toolforge/Toolforge standards committee|Toolforge standards committee]] members. The committee oversees the Toolforge [[wikitech:Help:Toolforge/Right to fork policy|Right to fork policy]] and [[wikitech:Help:Toolforge/Abandoned tool policy|Abandoned tool policy]] among other duties. Nominations will remain open through 2025-11-28. * The [[w:JSON Web Token#Standard fields|JWT issuer field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]] has been changed to <code><nowiki>https://meta.wikimedia.org</nowiki></code>. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * The [[w:JSON Web Token#Standard fields|JWT subject field]] in [[mw:Special:MyLanguage/OAuth/For Developers#OAuth 2|OAuth 2 access tokens]] will soon change from <code><user id></code> to <code dir=ltr style="white-space:nowrap">mw:<identity type>:<user id></code>, where <code><identity type></code> is typically <code dir=ltr>CentralAuth:</code><!-- not a typo --> (for [[m:Special:MyLanguage/Help:Unified login|SUL wikis]]) or <code dir=ltr style="white-space:nowrap">local:<wiki id></code> (for other wikis). This is to avoid conflicts between different user ID types, and to make OAuth 2 access tokens and the <code>sessionJwt</code> cookie more similar. Old access tokens will still work. [https://phabricator.wikimedia.org/T399199] * MediaWiki's block messages ([[MediaWiki:Blockedtext|blockedtext]], [[MediaWiki:Blockedtext-partial|blockedtext-partial]], [[MediaWiki:Autoblockedtext|autoblockedtext]], [[MediaWiki:Systemblockedtext|systemblockedtext]], [[MediaWiki:Blockedtext-tempuser|blockedtext-tempuser]], [[MediaWiki:Autoblockedtext-tempuser|autoblockedtext-tempuser]]) now support additional parameters indicating whether the user is blocked from editing their own user talk page <code><nowiki>$9</nowiki></code> or emailing other users <code><nowiki>$</nowiki><nowiki>10</nowiki></code>. [https://phabricator.wikimedia.org/T285612] * A <code>REL1_45</code> branch for MediaWiki core and each of the extensions and skins in Wikimedia git has been created. This is the first step in the release process for MediaWiki 1.45.0, scheduled for late November 2025. If you are working on a critical bug fix or working on a new feature, you may need to take note of this change. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/ZUY7TY3Z6XPZWZVAZV63OPO5OW52Q6GE/] * The process for generating CirrusSearch dumps has been updated due to slowing performance. If you encounter any issues migrating to the replacement dumps, please contact the Search Platform Team for support. [https://phabricator.wikimedia.org/T366248][https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/3KQPOR6ACVN6OVLMLZPIBXQSWQKW4E3K/] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.2|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/46|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W46"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:38, 10 November 2025 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29606150 --> == Wikipedia translation of the week: 2025-47 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Elephant communication]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Three elephant's curly kisses.jpg|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Elephants communicate''' via touching, visual displays, vocalisations, seismic vibrations, and semiochemicals. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:24, 17 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29627457 --> == Tech News: 2025-47 == <section begin="technews-2025-W47"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/47|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] is experimenting with [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4_Reading lists|reading lists on mobile web]], allowing logged-in readers with no edits to save private lists of articles for later. The experiment is running on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias since the week of 10 November, and will begin on English Wikipedia the week of 17 November. * Users who can’t receive their email verification code during login can now get help by submitting a form on a new special page. This update is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. If your account has an email address, please make sure you still have access to it. When logging in from a new device or location without 2FA, you may be asked to enter a 6-digit code sent by email to finish logging in. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Why are you requiring me to enter a code from my email to log in? Can I opt out of this?|Learn more]]. * One new wiki has been created: a {{int:project-localized-name-group-wikisource}} in [[d:Q13324|Minangkabau]] ([[s:min:|<code>s:min:</code>]]) [https://phabricator.wikimedia.org/T408317] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * As part of the [[mw:Special:MyLanguage/Parsoid/Parser Unification|Parser Unification]] project, the Content Transform Team rolled out Parsoid as the default parser to many low-traffic Wikipedias and is preparing the next step to high traffic ones. This message is an invitation for you to opt-in to Parsoid, as described in the [[mw:Special:MyLanguage/Help:Extension:ParserMigration|Extension:ParserMigration]] documentation, and identify any issues you might encounter with your own workflow using bots, gadgets, or user scripts. Please, let us know through the ''"Report Visual Bug"'' link in the Tools sidebar or create a phab ticket and tag the [[phab:project/view/5846|Content Transform Team in Phabricator]]. * Unsupported Tools: Several issues with [[:c:Special:MyLanguage/Commons:Video2commons|Video2Commons]] have been fixed, including filename-related upload failures, black-video imports, and retry handling. AV1 support has also been added. Ongoing work focuses on backend stability, ffmpeg errors, subtitle imports, metadata handling, and playlist uploads. To track specific tasks, check the [[phab:tag/video2commons/|Phabricator board]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.3|MediaWiki]] '''Meetings and events''' * Save the date for the next Wikimedia Hackathon happening in Milan, Italy from May 1–3, 2026. Registration will open in January 2026. [https://pretix.eu/wikimedia/Hackathon-2026/ Scholarship applications are currently open], and will close on November 28, 2025. If you have any questions, please email <bdi lang="en" dir="ltr">hackathon@wikimedia.org</bdi>. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/47|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W47"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:27, 17 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29627455 --> == Wikipedia translation of the week: 2025-48 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Animal-made art]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Painting Queen 1024x768.png|center|300px|]] <div style="text-align:left; padding: .4em;"> '''Animal-made art''' consists of works by non-human animals, that have been considered by humans to be artistic, including visual works, music, photography, and videography. Some of these are created naturally by animals, often as courtship displays, while others are created with human involvement. There have been debates about the copyright status of these works, with the United States Copyright Office stating in 2014 that works that lack human authorship cannot have their copyright registered at the US Copyright Office. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:13, 24 November 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29627457 --> == Tech News: 2025-48 == <section begin="technews-2025-W48"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/48|Translations]] are available. '''Updates for editors''' * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Wikimedia Search Team]] recreated the "DWIM" (Do What I Mean) gadget functionality server-side, for Russian and Hebrew Wikipedias. This feature adds cross-keyboard suggestions to the standard search-box suggestions. For example, searching for ''<span lang="und" dir="ltr">cxfcnmt</span>'' on Russian Wikipedia will now add suggestions for ''<span lang="ru" dir="ltr">счастье</span>'' ("happiness") that the user probably intended. They plan to enable this feature for other Russian and Hebrew wikis this week. [https://phabricator.wikimedia.org/T408734] * Later this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have syntax highlighting available in [[mw:Special:MyLanguage/Help:DiscussionTools|DiscussionTools]]. This requires that the "{{int:discussiontools-preference-sourcemodetoolbar}}" preference be set. [https://phabricator.wikimedia.org/T407918] * [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|Campaign events extension]] – the set of tools for coordinating events and other on-wiki collaborations has now been deployed to all Wikimedia wikis. A new feature known as [[m:Special:MyLanguage/CampaignEvents/Collaborative contributions|Collaborative contribution]] to help organizers and participants see the impact of activities has also been added. Join the upcoming [[m:Special:MyLanguage/Event:Connection learning session 3|learning session]] to see the new feature in action and share your feedback. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:24}} community-submitted {{PLURAL:24|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug which stopped CodeReviewBot from working, has now been fixed. [https://phabricator.wikimedia.org/T410417] '''Updates for technical contributors''' * Users of Wikimedia API can join a usability study to help validate the new design of Wikimedia REST API sandboxes. Interested participants should fill the [https://wikimediafoundation.limesurvey.net/487662 recruitment survey]. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/IREJRRWTZTGCYWQHDMSNJFTQAEPOOAE3/] * The MediaWiki Interfaces team is deprecating XSLT stylesheets within the Action API. Support for <code dir=ltr>format=xml'''&xlst={stylesheet}'''</code> will be removed from Wikimedia projects by the end of November, 2025. In addition, it will soon be disabled by default in MediaWiki release versions: v1.43 (LTS), v1.44, and v1.45. Support for XSLT stylesheets will be fully removed from MediaWiki v1.46 (expected to release between April and May 2026). [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/5AX7UWAVVUNUSBOIRHMNOKWOZ5EZI3JX/] * The WDQS legacy endpoint ([https://query-legacy-full.wikidata.org/ query-legacy-full.wikidata.org]) will be decommissioned at the end of December 2025, and finally closed down on 7th January 2026. After this date, users should expect requests to query.wikidata.org that require the full graph to fail or return invalid results if they are not rewritten to use SPARQL federation. The team encourages users to ensure that tools and workflows use the supported WDQS endpoints (<span dir=ltr><nowiki>https://query.wikidata.org/</nowiki></span> - Main graph or <span dir=ltr><nowiki>https://query-scholarly.wikidata.org/</nowiki></span> - Scholarly graph). For support with migrating use cases, please review the [[d:Special:MyLanguage/Wikidata:Data_access|Data Access]] and [[d:Wikidata:Request_a_query|Request a Query]] pages for details and assistance on alternative access methods. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.4|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/48|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W48"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:57, 24 November 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29702226 --> == Wikipedia translation of the week: 2025-49 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Halachic state]]'''<br /> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> The term "'''halachic state'''" (Hebrew: מְדִינַת הֲלָכָה‎ Medīnat Hălāḵā) refers to a sovereign state that endorses Judaism in an official capacity and governs by Jewish religious law. It has been a subject of discussion among Orthodox Jews, particularly with regard to modern Israel, which, although a Jewish state, is not classified as a theocracy. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 08:01, 1 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29719355 --> == Tech News: 2025-49 == <section begin="technews-2025-W49"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/49|Translations]] are available. '''Updates for editors''' * The Wikipedia Year in Review 2025 will be available on December 2 for users of iOS and Android Wikipedia apps, featuring new personalized insights, updated reading highlights, and refreshed designs. Learn more on the review's [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/Updates|project page]]. * The Growth team is working on improving the text and presentation of the Verification Email sent to new users to make them more welcoming, useful and informative. Some new text have been drafted for A/B testing and you can help by translating them. See [[phab:T396155|Phabricator]]. * [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] will now be deployed at Japanese, Urdu and Chinese Wikipedias on December 2. Add a link is based on a prediction model that suggests links to be added to articles. While this feature has already been available on most Wikipedias, the prediction model could not support certain languages. A new model has now been developed to handle these languages, and it will be gradually rolled out to other Wikipedias over time. If you would like to know more, please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:34}} community-submitted {{PLURAL:34|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where search boxes on some Commons pages showed no results due to switch from SpecialSearch to MediaSearch, has now been fixed. [https://phabricator.wikimedia.org/T399476] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q36846|Toki Pona]] ([[w:tok:|<code>w:tok:</code>]]) [https://phabricator.wikimedia.org/T404457] ** a {{int:project-localized-name-group-wikiquote}} in [[d:Q33655|Nigerian Pidgin]] ([[q:pcm:|<code>q:pcm:</code>]]) [https://phabricator.wikimedia.org/T408318] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.5|MediaWiki]] '''In depth''' * The Wikimedia Foundation is in the early stages of exploring approaches to '''Article guidance'''. The initiative aims to identify interventions that could help new editors easily understand and apply existing Wikipedia practices and policies when creating an article. The project is in the exploration and early experimental design phase. All community members are encouraged to [[mw:Special:MyLanguage/Article guidance|learn more]] about the project, and share their thoughts on [[mw:Special:MyLanguage/Talk:Article guidance|the talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/49|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W49"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:58, 1 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29732328 --> == Wikipedia translation of the week: 2025-50 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:ru:Сто лошадей]]'''<br /> <small>''([[:en:One Hundred Horses]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:A_Hundred_Steeds.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''One Hundred Horses''''' (Chinese: 百駿圖) is a Qing dynasty silk and ink painting by Giuseppe Castiglione. It was painted in 1728 for the Yongzheng emperor. The painting depicts a hundred horses in a variety of poses and activities, combining Western realism with traditional Chinese composition and brushwork. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:29, 8 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29719355 --> == Tech News: 2025-50 == <section begin="technews-2025-W50"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/50|Translations]] are available. '''Weekly highlight''' * Anybody who wishes to secure their user account can now use [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). This is available to all registered users of all Wikimedia projects. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] initiative. Later, 2FA will be required for all users who can take security- or privacy-sensitive actions. '''Updates for editors''' * Following last week's deployments, the [[mw:Special:MyLanguage/Help:Growth/Tools/Add a link|Add a link]] feature, which allows editors to add suggested links during editing, will be available to an additional [[Phab:T410469|33 Wikipedias]] starting on 9 December. This expansion is possible thanks to the new prediction model that now supports all languages, including those that were previously not covered. While the feature has been available on most Wikipedias for some time, this rollout brings us closer to using the improved model everywhere. If you have any questions or would like more details please contact [[mw:user:Trizek (WMF)|Trizek (WMF)]]. * Last week, the [[mw:Special:MyLanguage/Wikimedia Search Platform|Search Platform team]] added [[w:en:Transliteration|transliterated]] as-you-type search suggestions to Georgian wikis. If there are only a few regular search suggestions, then queries in Latin or Cyrillic script [[phab:T127003|are now rewritten into Georgian script]] to look for more matches. For example, searching for either <bdi lang="ka-Latn" dir="ltr">''bedniereba''</bdi> or <bdi lang="ka-Cyrl" dir="ltr">''бедниереба''</bdi> will now suggest the existing article about <bdi lang="ka" dir="ltr">ბედნიერება</bdi> ("happiness"). You can recommend other languages where transliterated suggestions would be useful [[phab:T375215|on Phabricator]] for future development. * Later this week, a controlled experiment will begin for editors on the 100 largest Wikipedias who are editing a section in the mobile web visual editor. 50% of these editors will notice a new "Edit full page" button that will enable them to expand their editing session to the whole page. This feature is intended to make it easier for people on mobile web to edit any article section, regardless of which section-edit icon they tapped to begin. The experiment will last ~4 weeks. You can find [[phab:T409112|more details]] about the project. * Later this week, the [[mw:Special:MyLanguage/Readers/Reader Growth|Reader Growth team]] will launch a [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.1.14 Expanded Mobile Sections|mobile web experiment]] to expand all article sections by default (currently they are collapsed by default) and pin the section header the user is currently reading to the top of the page. The experiment will affect 10% of users on Arabic, Chinese, French, Indonesian, and Vietnamese Wikipedias. [https://phabricator.wikimedia.org/T409485] * The [[mw:Special:MyLanguage/Wikimedia Apps/Team/Wikipedia Year in Review/2025 Year in Review|Wikipedia Year in Review 2025]], a feature in the Wikipedia mobile apps (iOS and Android) that provides users with a personalised summary of their engagement with Wikipedia over the year, is now available on the iOS and Android apps. This edition includes expanded personalised insights, improved reading highlights, new donor messaging, and updated designs. Open the app to view your Year in Review and explore your reading journey from 2025. * A recent software bug caused edits made with VisualEditor to make unintended changes to wikitext, including removing whitespace and replacing spaces with underscores in wikilinks inside citations. This was partially fixed last week, and further fixes are in progress. Editors who used VisualEditor between November 28 and December 2 should review their edits for unexpected modifications. [https://phabricator.wikimedia.org/T411238] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the incorrect handling of URLs copied from the address bar of Microsoft Edge users, has been resolved. [https://phabricator.wikimedia.org/T341281] '''Updates for technical contributors''' * Starting this week, users of the "{{int:codemirror-beta-feature-title}}" [[Special:Preferences#mw-prefsection-betafeatures|beta feature]] will have [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] as the editor for Lua, JavaScript, CSS, JSON and Vue content models, instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]]. With this, the [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linters]] will be upgraded. This is part of a larger effort to eventually replace CodeEditor and provide a consistent code editing experience. [https://phabricator.wikimedia.org/T373711] * Developers are encouraged to take the [https://wikimediafoundation.limesurvey.net/552643 2025 Developer Satisfaction Survey], which remains open until 5 January 2026. If you build software for the Wikimedia ecosystem and would like to share your experiences or feedback, your participation is greatly appreciated. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/W4WBKO6Q55UWWCCSFWQATKEXBEHP3QNR/] * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/50|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W50"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:46, 8 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29738112 --> == Wikipedia translation of the week: 2025-51 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:First Universal Races Congress]]'''<br /> <small>''([[:fr:Premier Congrès universel des races]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Universal Races Congress seated outside the entrance to the Imperial Institute, London, 1911.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''First Universal Races Congress''' met in 1911 for four days at the University of London as an early effort at anti-racism. Speakers from a number of countries discussed race relations and how to improve them. The congress, with 2,100 attendees, was organised by prominent humanists of that era. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:56, 15 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29779168 --> == Tech News: 2025-51 == <section begin="technews-2025-W51"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/51|Translations]] are available. '''Updates for editors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:18}} community-submitted {{PLURAL:18|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, one of the fixes addressed an issue for temporary accounts adding an external URL, which triggered an hCaptcha request in more cases than intended, and did not display the required popup on the first attempt to publish the edit. [https://phabricator.wikimedia.org/T411927] '''Updates for technical contributors''' * To improve database and site performance, external links to Wikimedia projects will no longer be stored in the database. This means they will not be searchable in [[{{#special:LinkSearch}}]], will not be checked by the Spam Blacklist or AbuseFilter as new links, and will not be in the <code dir=ltr>externallinks</code> table on database replicas. In the future this may be extended to other highly-linked trusted websites on a per-wiki basis, such as Creative Commons links on Wikimedia Commons. [https://phabricator.wikimedia.org/T405005] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.7|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/51|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W51"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:03, 15 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29796010 --> == Wikipedia translation of the week: 2025-52 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2025 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pin Malakul]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Pin Malakul, January 1922.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pin Malakul''' (24 October 1903 – 5 October 1995) was a Thai professor, educator and writer. His contributions to education in Thailand include the establishment of various institutions of higher education, the introduction of fixed class schedules, and the implementation of teacher-training programmes. In his career he served as Director-General of the Department of General Education, later becoming Permanent Secretary, and Minister, of Education. He was also a member of the executive board of UNESCO. His writings earned him the title of National Artist in 1987, and the 100th anniversary of his birth was celebrated by the UNESCO in 2003 as recognition of his contribution to the advancement of education in Thailand and Southeast Asia. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> -[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:26, 22 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29802495 --> == Tech News: 2025-52 == <section begin="technews-2025-W52"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2025/52|Translations]] are available. '''Updates for editors''' * From January, edit filters [[mw:Special:MyLanguage/Extension:AbuseFilter/Access flags|can be set]] to automatically suppress their details such as rules and list of attempted edits and actions. This will help oversighters use edit filters to prevent doxxing or other suppressible material. [https://phabricator.wikimedia.org/T290324] * The next issue of Tech News will be sent out on 12 January 2026 because of the end of year holidays. Thank you to all of the translators, and people who submitted content or feedback, this year. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:16}} community-submitted {{PLURAL:16|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the crash that occurred when tapping "First Steps" in the Wikipedia Android Year in Review has now been fixed, and the feature opens as expected. [https://phabricator.wikimedia.org/T411546] '''Updates for technical contributors''' * Interface elements such as diffs and categories generated by MediaWiki used to have the attribute <code dir=ltr>data-mw="interface"</code> to distinguish from wiki content. The attribute has been replaced with <code dir=ltr>data-mw-interface=""</code>, to avoid potential conflicts with other <code dir=ltr>data-mw</code> attributes, which are generated by Parsoid. [https://phabricator.wikimedia.org/T409187] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] There is no new MediaWiki version this week or next week. '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications just opened mid-December and will close in mid-January or earlier if capacity is reached. With space for approximately 100 participants, early application is encouraged. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2025/52|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2025-W52"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:46, 22 December 2025 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29831856 --> == Wikipedia translation of the week: 2026-01 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:The Morning of the Magicians]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Le Matin des magiciens, couverture.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''The Morning of the Magicians: Introduction to Fantastic Realism''''' (French: Le Matin des magiciens: Introduction au réalisme fantastique) is a 1960 book by the journalists Louis Pauwels and Jacques Bergier. It covers topics like cryptohistory, ufology, occultism in Nazism, alchemy, spiritual philosophy. The second half of the book is entirely dedicated to the Nazi-Occult connections; the book is widely credited with the proliferation of numerous myths related to occultism in Nazism. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:20, 29 December 2025 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29802495 --> == Wikipedia translation of the week: 2026-02 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Somaliland War of Independence]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Somaliland, fighters of the Somali National Movement (SNM), 1980s.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Somaliland War of Independence''' was a rebellion waged by the Somali National Movement (SNM) against the ruling military junta in Somalia led by General Siad Barre lasting from its founding on 6 April 1981 and ended on 18 May 1991 when the SNM declared what was then northern Somalia independent as the Republic of Somaliland. The conflict served as the main theater of the larger Somali Rebellion that started in 1978. The conflict was in response to the harsh policies enacted by the Barre regime against the main clan family in Somaliland, the Isaaq, including a declaration of economic warfare on the clan-family. These harsh policies were put into effect shortly after the conclusion of the disastrous Ogaden War in 1978. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:00, 5 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29871911 --> == Wikipedia translation of the week: 2026-03 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Pietro Lauro]]'''<br /> <small>''([[:en:Pietro Lauro]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Master I.A.V.F., Pietro Lauro, born 1508, Modenese Poet and Scholar (obverse), 1555, NGA 45072.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pietro Lauro''', conosciuto anche come Pietro Lauro Modonese o Pietro Lauro da Modona (Modena o dintorni, 1510 circa – Venezia, 1568 circa) è stato un traduttore, scrittore e divulgatore scientifico italiano. Nonostante non si conosca gran parte della sua biografia, fu uno dei poligrafi italiani più conosciuti del Cinquecento. La sua produzione raccoglie traduzioni dal latino, dal greco e dallo spagnolo e riguardano opere di autori classici, stranieri e protestanti. Lauro si dimostrò abile nel trattare testi con temi molto diversi, come la filosofia, l'architettura, la medicina, il giardinaggio, l'agronomia, le scienze biologiche, la storia, la teologia e l'astronomia. Si cimentò anche nella scrittura di un poema cavalleresco sullo stile di quelli spagnoli, il Polendo, sua magnum opus in questo senso. Aderente alla Riforma protestante, sebbene le sue trasposizioni siano state oggetto di critiche già degli autori a lui contemporanei, che le giudicarono troppo letterali, rozze e imparziali, a Lauro si deve il merito di aver ultimato la traduzione in lingua volgare di numerosi testi sia classici, sia scientifici, sia epistolari. I suoi lavori ebbero una notevole diffusione, non solo tra i letterati veneziani della sua epoca, ma in tutta Italia, tanto che alcune sue traduzioni vengono ancora oggi ristampate in nuove edizioni. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 01:45, 12 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29894468 --> == Tech News: 2026-03 == <section begin="technews-2026-W03"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/03|Translations]] are available. '''Weekly highlight''' * The Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]]. '''Updates for editors''' * As part of the current work of Community Tech team on the [[m:Special:MyLanguage/Community Wishlist/W372|Multiple watchlists]] project, the display of [[Special:EditWatchlist|EditWatchlist]] will be updated as a first step towards multiple watchlists. Additionally, the pagination on [[Special:Search|Search]] will be updated too, as a part of the work on the [[m:Special:MyLanguage/Community Wishlist/W186|Revamp pagination / page navigation]] wish. [https://phabricator.wikimedia.org/T411596] * [[m:Special:GlobalWatchlist|The Global Watchlist]] is a MediaWiki [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that lets you see your watchlists from different wikis on the same page. It was recently updated to look more like the regular [[Special:Watchlist|Watchlist]], such as preparing it for temporary accounts in IP masking (including rerouting user links to contributions pages), making page titles bold, and opening links in edit summaries and tags in new browser tabs. [https://phabricator.wikimedia.org/T398361][https://phabricator.wikimedia.org/T298919][https://phabricator.wikimedia.org/T273526][https://phabricator.wikimedia.org/T286309] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where global blocks did not have the option to disable sending emails, has now been fixed, and will be available for use in the week of January 13. [https://phabricator.wikimedia.org/T401293] '''Updates for technical contributors''' * The [[mw:Special:MyLanguage/VisualEditor/Citation tool|VisualEditor citation tool]] and [[mw:Special:MyLanguage/Help:Reference Previews|Reference Previews]] now support "map" as a reference type. [https://phabricator.wikimedia.org/T411083] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.10|MediaWiki]]/[[mw:MediaWiki 1.46/wmf.11|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/03|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W03"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:34, 12 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29907192 --> == Wikipedia translation of the week: 2026-04 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Volto di Palazzo Vecchio]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Piazza della signoria angolo via della ninna, palazzo vecchio, cantonata con testa scolpita 02.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> Il '''volto di Palazzo Vecchio''' (conosciuto anche come L'importuno o L'inopportuno) è un incisione su pietraforte attibuita a Michelangelo Buonarroti, scolpita in una delle pietre di Palazzo Vecchio a Firenze. Secondo le varie leggende, il profilo sarebbe stato realizzato come graffito dall'artista toscano, con soggetto un suo importunatore, un debitore, un condannato a morte o se stesso. Nel 2020, gli studiosi hanno ipotizzato possa invece trattarsi di un ritratto di Francesco Granacci, pittore amico di Michelangelo. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:14, 19 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-04 == <section begin="technews-2026-W04"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/04|Translations]] are available. '''Updates for editors''' * The tray shown on [[Special:Diff|Special:Diff]] in mobile view has been redesigned. It is now collapsed by default, and incorporates a link to undo the edit being viewed, making it easier for mobile editors and reviewers to take action while keeping the interface uncluttered. [https://phabricator.wikimedia.org/T402297] * [[m:Special:GlobalWatchlist|The Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now automatically determines the text direction (ensuring correct display of sites with unusual domain names) and shows detailed descriptions for log actions. Later this week, a new permanent link for page creations and CSS classes for each entry element will be added. [https://phabricator.wikimedia.org/T412505][https://phabricator.wikimedia.org/T287929][https://phabricator.wikimedia.org/T262768][https://phabricator.wikimedia.org/T414135] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the previously observed issue in Vector 2022, where anchor link targets were obscured by the sticky header, has now been addressed. [https://phabricator.wikimedia.org/T406114] '''Updates for technical contributors''' * As mentioned in the [[m:Special:MyLanguage/Tech/News/2025/44|October 2025 deprecation announcement]], MediaWiki Interfaces team will begin sunsetting all transform endpoints containing a trailing slash from the MediaWiki REST API the week of January 26. Changes are expected to roll out to all wikis on or before January 30th. All API users currently calling them are encouraged to transition to the non-trailing slash versions. Both endpoint variations can be found, compared, and tested using the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox]. If you have questions or encounter any problems, please file a ticket in Phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * Interactive reference documentation for the [[mw:Special:MyLanguage/Wikimedia REST API|Wikimedia REST API]] has moved. Requests to API docs previously hosted through [[mw:Special:MyLanguage/RESTBase|RESTBase]] (e.g.: <code dir=ltr>https://en.wikipedia.org/api/rest_v1/</code>) are now redirected to the [[w:en:Special:RestSandbox|REST Sandbox]]. * The [[mw:Special:MyLanguage/Wikidata Platform|WMF Wikidata Platform team]] (WDP) has published its [[d:Special:MyLanguage/Wikidata:Wikidata Platform team/Newsletter|January 2026 newsletter]]. It includes updates on the legacy full-graph endpoint decommissioning, the User-Agent policy change, the monthly Blazegraph migration office hours, and efforts to reduce regressions caused by the legacy endpoint shutdown. As a reminder, you can [[m:Special:MyLanguage/Global message delivery/Targets/WDP team updates|subscribe to the WDP newsletter]]! * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.12|MediaWiki]] '''Meetings and events''' * The [[mw:Wikimedia Hackathon Northwestern Europe 2026|Wikimedia Hackathon Northwestern Europe 2026]] will take place on 13-14 March 2026 in Arnhem, the Netherlands. Applications opened mid-December and will close soon or when capacity is reached. It's a two-day, technically oriented hackathon bringing together Wikimedians from the region. Hope to see you there! '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/04|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W04"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:30, 19 January 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29943403 --> == Wikipedia translation of the week: 2026-05 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Raffaello Kobayashi]]'''<br /> <small>''([[:en:Raffaello Kobayashi]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Raffaello Kobayashi''', nato Raffaele Sanzio (Bari, 14 gennaio 1917 – Yokohama, 1 aprile 2011), è stato un militare italiano naturalizzato giapponese. Sommergibilista durante la Seconda guerra mondiale, prestò servizio per tutte e tre le principali Potenze dell'Asse: Regno d'Italia, Germania nazista e Impero giapponese. Alla fine della guerra si nascose in Giappone per evitare di subire l'internamento in un campo di prigionia, divenendo poi cittadino nipponico e cambiando il proprio nome. Prese parte all'affondamento della HMS Calypso nel 1940, primo successo italiano in campo navale nel corso del conflitto mondiale. Con l'abbattimento di un bombardiere statunitense il 22 agosto 1945, otto giorni dopo il discorso di resa del Giappone alle potenze alleate della seconda guerra mondiale, a bordo del Comandante Cappellini, sarebbe stata l'ultima persona in assoluto a mettere fuori combattimento un velivolo degli Alleati nella stessa guerra. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:05, 26 January 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-05 == <section begin="technews-2026-W05"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/05|Translations]] are available. '''Updates for editors''' * Wikimedia Foundation invites comments on [[m:Special:MyLanguage/Product and Technology Advisory Council/Year1 Reflections and Proposed Way Forward 2026 Update|proposed future]] of the [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] until 28 February. * All users with registered accounts can now use passkeys for [[m:Special:MyLanguage/Help:Two-factor authentication|two-factor authentication]] (2FA). Passkeys are a simple way to log in without using a second device. They verify the user's identity using a fingerprint, face scan, or a PIN code. To set up a passkey, first set up a regular 2FA method. Currently, to log in with a passkey, users must also use a password. Later this quarter, passwordless login will allow users to log in with a single click and a passkey. Users with advanced rights will also be required to have 2FA enabled. This is part of the [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security|Account Security]] project. * Unregistered contributors on blocked IPs or blocked IP ranges can now interact on-wiki to appeal a block by creating a temporary account to appeal a block on the user talk page, unless the "prevent this user from editing their own talk page" is enabled. This solves the problem of logged-out users unable to use the default unblock process via user talk page. [https://phabricator.wikimedia.org/T398673] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:20}} community-submitted {{PLURAL:20|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the Two-Factor Authentication (2FA) methods description on the management page has been updated. It is now clearer and easier for users to understand and make use of. [https://phabricator.wikimedia.org/T332385] '''Updates for technical contributors''' * A new AbuseFilter variable, <code>account_type</code>, has been added to provide a reliable way to determine the account type being created in the <code>createaccount</code> and <code>autocreateaccount</code> actions. As part of this change, the variable <code>accountname</code> has been renamed to <code>account_name</code>, and <code>accountname</code> is now deprecated. Edit filter managers should update any filters that use hardcoded account type checks or the deprecated variable. [https://phabricator.wikimedia.org/T414049] * Image thumbnails that are requested in non-standard sizes, and using non-standard methods such as direct requests to <code dir=ltr><nowiki>upload.wikimedia.org/…</nowiki></code> will stop working in the near future. This change is to prevent ongoing external abuse by web-scrapers and bots. Some users with custom CSS/JS, Interface Admins who can fix gadgets and local skins, and Tool-authors, will need to update their code to use standard thumbnail sizes. [[phab:T414805|Details, search-links, and examples of how to fix them, are available in the task]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.13|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/05|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W05"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 21:18, 26 January 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=29969530 --> == Wikipedia translation of the week: 2026-06 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Censorship in the Czech Republic]]'''<br /> <small>''([[:cs:Cenzura v Česku]])''</small> </div> Please be bold and help translate this article! </div> ---- <div style="text-align:left; padding: .4em;"> '''Censorship in the Czech Republic''' had been highly active until 17 November 1989 and the fall of Communism in the former Czechoslovakia. Czech Republic was ranked as the 13th most free country in the World Press Freedom Index in 2014. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:32, 2 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-06 == <section begin="technews-2026-W06"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/06|Translations]] are available. '''Updates for editors''' * The "{{int:pageinfo-toolboxlink}}" feature, which gives validating information about a page ([{{fullurl:{{FULLPAGENAME}}|action=info}} example]), now automatically includes a table of contents. If there is a local [[{{ns:8}}:Pageinfo-header]] page created by individual users, it can now be removed. [https://phabricator.wikimedia.org/T363726] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, VisualEditor previously added bold or italic formatting inside link descriptions, making the wikicode complex. This has now been fixed. [https://phabricator.wikimedia.org/T409669] '''Updates for technical contributors''' * There was no XML dump on 20 January. Additionally, from now on, dumps will be generated once per month only. [https://phabricator.wikimedia.org/T414389] * The MediaWiki Interfaces team removed support for all transform endpoints containing a trailing slash from the [https://www.mediawiki.org/wiki/Special:MyLanguage/API:REST%20API MediaWiki REST API]. All API users currently calling those endpoints are encouraged to transition to the non-trailing slash versions. If you have questions or encounter any problems, please file a ticket in phabricator to the [https://phabricator.wikimedia.org/project/view/6931/ #MW-Interfaces-Team board]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.14|MediaWiki]] '''Weekly highlight''' * Users are reminded that the Wikimedia Foundation has shared some guiding questions for the July 2026–June 2027 Annual Plan on [[m:Special:MyLanguage/Wikimedia Foundation Annual Plan/2026-2027/Product & Technology OKRs|Meta]] and ''[[diffblog:2025/12/10/shaping-wikimedia-foundations-2026-2027-annual-goals-key-questions-for-the-wikimedia-movement/|Diff]]''. These focus on global trends, faster and healthier experimentation, better support for newcomers, strengthening editors and advanced users, improving collaboration across projects, and growing and retaining readership. Feedback and ideas are welcome on the [[m:Talk:Wikimedia Foundation Annual Plan/2026-2027|talk page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/06|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W06"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:44, 2 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30000986 --> == Wikipedia translation of the week: 2026-07 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Petites Heures of Jean de France, Duc de Berry]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Jacquemart de Hesdin 002.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Petites Heures of Jean de France, Duc de Berry''' is an illuminated book of hours commissioned by John, Duke of Berry between 1375 and 1385–90. It is known for its ornate miniature leaves and border decorations. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 03:59, 9 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-07 == <section begin="technews-2026-W07"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/07|Translations]] are available. '''Updates for editors''' * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] Logged-in contributors who manage large or complex watchlists can now organise and filter watched pages in ways that improve their workflows with the new [[mw:Special:MyLanguage/Help:Watchlist labels|Watchlist labels]] feature. By adding custom labels (for example: pages you created, pages being monitored for vandalism, or discussion pages) users can more quickly identify what needs attention, reduce cognitive load, and respond more efficiently. This improves watchlist usability, especially for highly active editors. * A new feature available on [[Special:Contributions|Special:Contributions]] shows [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts|temporary accounts]] that are likely operated by the same person, and so makes patrolling less time-consuming. Upon checking contributions of a temporary account, users with access to temporary account IP addresses can now see a view of contributions from the related temporary accounts. The feature looks up all the IPs associated with a given temporary account within the data retention period and shows all the contributions of all temporary accounts that have used these IPs. [[mw:Special:MyLanguage/Trust and Safety Product/Temporary Accounts#February 2026: Improvements to the patroller tooling|Learn more]]. [https://phabricator.wikimedia.org/T415674] * When editors preview a wikitext edit, the reminder box that they are only seeing a preview (which is shown at the top), now has a grey/neutral background instead of a yellow/warning background. This makes it easier to distinguish preview notes from actual warnings (for example, edit conflicts or problematic redirect targets), which will now be shown in separate warning or error boxes. [https://phabricator.wikimedia.org/T414742] * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] continues to improve — it now properly supports more than one Wikibase site, for example both [[d:|Wikidata]] and [[testwikidata:|testwikidata]]. In addition, issues regarding text direction have been fixed for users who prefer Wikidata or other Wikibase sites in right-to-left (RTL) languages. [https://phabricator.wikimedia.org/T415440][https://phabricator.wikimedia.org/T415458] * The automatic "magic links" for ISBN, RFC, and PMID numbers have been [[mw:Special:MyLanguage/Help:Magic links|deprecated in wikitext since 2021]] due to inflexibility and difficulties with localization. Several wikis have successfully replaced RFC and PMID magic links with equivalent external links, but a template was often required to replace the functionality of the ISBN magic link. There is now a new [[mw:Special:MyLanguage/Help:Magic words#isbn|built-in parser function]] <code dir=ltr><nowiki>{{#isbn}}</nowiki></code> available to replace the basic functionality of the ISBN magic link. This makes it easier for wikis who wish to migrate off of the deprecated magic link functionality to do so. [https://phabricator.wikimedia.org/T145604] * Two new wikis have been created: ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q35401|Jju]] ([[w:kaj:|<code>w:kaj:</code>]]) [https://phabricator.wikimedia.org/T413283] ** a {{int:project-localized-name-group-wikipedia}} in [[d:Q1186896|Nawat]] ([[w:ppl:|<code>w:ppl:</code>]]) [https://phabricator.wikimedia.org/T413273] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. '''Updates for technical contributors''' * A new global user group has been created: [[{{int:grouppage-local-bot}}|{{int:group-local-bot}}]]. It will be used internally by the software to allow community bots to bypass rate limits that are applied to abusive [[w:en:Web scraping|web scrapers]]. Accounts that are approved as bots on at least one Wikimedia wiki will be automatically added to this group. It will not change what user permissions the bot has. [https://phabricator.wikimedia.org/T415588] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.15|MediaWiki]] '''Meetings and events''' * The [[mw:Special:MyLanguage/MediaWiki Users and Developers Conference Spring 2026|MediaWiki Users and Developers Conference, Spring 2026]] will be held March 25–27 in Salt Lake City, USA. This event is organized by and for the third-party MediaWiki community. You can propose sessions and register to attend. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/AZBWVI46SDEB65PGR5J6E4TYOQQEZXM7/] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/07|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W07"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 23:31, 9 February 2026 (UTC) <!-- Message sent by User:Quiddity (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30026671 --> == Wikipedia translation of the week: 2026-08 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Lysmata grabhami]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lysmata grabhami1.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Lysmata grabhami''''' is a species of saltwater shrimp in the family Hippolytidae. It was first described by Gordon in 1935. It occurs in the tropical and subtropical Atlantic Ocean and is a cleaner shrimp, operating a cleaning station to which fish come to have parasites removed. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 13:45, 16 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=29945240 --> == Tech News: 2026-08 == <section begin="technews-2026-W08"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/08|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Wikimedia Site Reliability Engineering|SRE Team]] will be performing a cleanup of Wikimedia's [[m:Special:MyLanguage/Etherpad|Etherpad]] instance, the web-based editor for real-time collaborative document editing. All pads will be permanently deleted after 30 April, 2026 – if there are still migration projects in progress at that point the team can revisit the date on a case by case basis. Please create local backups of any content you wish to keep, as deleted data cannot be recovered. This cleanup helps reduce database size and minimize infrastructure footprint. Etherpad will continue to support real-time collaboration, but long-term storage should not be expected. Additional cleanups may occur in the future without prior notice. [https://phabricator.wikimedia.org/T415237] '''Updates for editors''' * The Information Retrieval team will be launching an [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|Android mobile app experiment]] that tests hybrid search capabilities which can handle both semantic and keyword queries. The improvement of on-platform search will enable readers to find what they’re looking for directly on Wikipedia more easily. The experiment will first be launched on Greek Wikipedia in late February, followed by English, French, and Portuguese in March. [https://diff.wikimedia.org/2026/01/08/semantic-search-making-it-easier-to-find-the-information-readers-want/ Read more] on Diff blog. [https://www.mediawiki.org/wiki/Readers/Information_Retrieval] * The Reader Growth team will run [[mw:Special:MyLanguage/Readers/Reader Growth/WE3.10.2 Mobile Table of Contents|an experiment]] for mobile web users, that adds a table of contents and automatically expands all article sections, to learn more about navigation issues they face. The test will be available on Arabic, Chinese, English, French, Indonesian, and Vietnamese Wikipedias. * Previously, site notices ([[{{ns:8}}:Sitenotice]] and [[{{ns:8}}:Anonnotice]]) would only render on the desktop site. Now, they will render on all platforms. Users on mobile web will now see these notices and be informed. Site administrators should be prepared to test and fix notices on mobile devices to avoid interference with articles. To opt out, interface admins can add <code dir="ltr">#siteNotice { display: none; }</code> to [[{{ns:8}}:Minerva.css]]. [https://phabricator.wikimedia.org/T138572][https://phabricator.wikimedia.org/T416644] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:19}} community-submitted {{PLURAL:19|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue on [[Special:RecentChanges|Special:RecentChanges]] has been fixed. Previously, clicking hide in the active filters caused the "view new changes since…" button to disappear, though it should have remained visible. The button now behaves as expected. [https://phabricator.wikimedia.org/T406339] '''Updates for technical contributors''' * New documentation is now available to help editors debug on-site search features. It supports troubleshooting when pages do not appear in results, when ranking seems unexpected, and when you need to inspect what content is being indexed, helping make search behavior easier to understand and analyze. [[mw:Help:CirrusSearch/Debug|Learn more]]. [https://phabricator.wikimedia.org/T411169] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.16|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/08|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W08"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:17, 16 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30086330 --> == Wikipedia translation of the week: 2026-09 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:it:Elefante di Cremona]]'''<br /> <small>''([[:de:Elefant von Cremona]])&#32;([[:eo:Elefanto de Cremona]])''</small> </div> Please be bold and help translate this article! </div> ---- [[File:Matthew Paris Elephant from Parker MS 16 fol 151v.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> L''''elefante di Cremona''' (Asia, prima del 1228 - Parma, gennaio 1248) fu un esemplare di elefante donato nel 1228 a Federico II di Svevia da parte del sultano ayyubide al-Malik al-Kamil durante gli incontri che porteranno alla Pace di Giaffa. Usato principalmente per le manifestazioni trionfali del sovrano, l'elefante è citato da numerosi cronachisti e testimoni dell'epoca ed è noto per aver trainato il Carroccio dopo la grande vittoria delle armate di Federico II nella battaglia di Cortenuova del 1237. Rimasto a lungo nell'immaginario popolare collettivo, l'animale venne ucciso durante alcuni scontri occorsi nelle settimane immediatamente precedenti alla battaglia di Parma. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 11:43, 23 February 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-09 == <section begin="technews-2026-W09"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/09|Translations]] are available. '''Weekly highlight''' * [[mw:Special:MyLanguage/Edit check/Reference Check|Reference Check]] has been deployed to English Wikipedia, completing its rollout across all Wikipedias. The feature prompts newcomers to add a citation before publishing new content, helping reduce common citation-related reverts and improve verifiability. In A/B testing, the impact was substantial: newcomers shown Reference Check were approximately 2.2 times more likely to include a reference on desktop and about 17.5 times more likely on mobile web. [https://analytics.wikimedia.org/published/reports/editing/reference_check_ab_test_report_final_2025.html] '''Updates for editors''' * The [[mw:Special:MyLanguage/Extension:InterwikiSorting|InterwikiSorting extension]], which allowed for the [[m:Special:MyLanguage/Interwiki sorting order|sorting of interwiki links]], has been undeployed from Wikipedia. As a result, editors who had enabled interwiki link sorting in non-compact mode (full list format) will now see links reordered. The links moving forward will be listed in the alphabetical order of language code. [https://phabricator.wikimedia.org/T253764] * Later this week, people who are editing a page-section using the mobile visual editor, will notice a new "Edit full page" button. When tapped, you will be able to edit the entire article. This helps when the change you want to make is outside the section you initially opened. [https://phabricator.wikimedia.org/T387175][https://phabricator.wikimedia.org/T409112] * [[mw:Special:MyLanguage/Readers/Reader Experience|The Reader Experience team]] is inviting editors to assess whether dark mode should still be considered "beta" on their wiki, based on their experience of how well it functions on desktop and mobile. If the feature is deemed mature, editors can update the interface messages in <code dir=ltr>MediaWiki:skin-theme-description</code> and <code dir=ltr>MediaWiki:Vector-night-mode-beta-tag</code> to indicate that dark mode is ready and no longer considered beta. * The improved [[mw:Wikimedia_Apps/Team/iOS/Activity_Tab|Activity tab]] which displays user-insights is now available to all users of the Wikipedia iOS app (version 7.9.0 and later). Following earlier A/B testing that showed higher account creation among users with access to the feature, it has been rolled out to 100% of users along with some updates. The Activity tab now shows your edited articles in the timeline, offers editing impact insights like contribution counts and article view trends, and customization options to improve in-app experience for users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:21}} community-submitted {{PLURAL:21|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, a bug that prevented [[mw:Special:MyLanguage/Extension:DiscussionTools|DiscussionTools]] from working on mobile has now been fixed, restoring full functionality. [https://phabricator.wikimedia.org/T415303] '''Updates for technical contributors''' * The [[m:Special:GlobalWatchlist|Global Watchlist]] lets you view your watchlists from multiple wikis on one page. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] that makes this possible continues to improve. The latest upgrade is the inclusion of a [[mw:Extension:GlobalWatchlist#hook|new hook]], <code dir=ltr>ext.globalwatchlist.rebuild</code>, which fires after each watchlist rebuild. This allows you to run gadgets and user scripts for the Special page. [https://phabricator.wikimedia.org/T275159] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.17|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/09|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W09"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:04, 23 February 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30119102 --> == Wikipedia translation of the week: 2026-10 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Treaty of the Danish West Indies]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:The Virgin islands of the United States of America; historical and descriptive, commercial and industrial facts, figures, and resources (1918) (14596880870).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Treaty of the Danish West Indies''' (Danish: Vestindiens traktat), officially the Convention between the United States and Denmark for cession of the Danish West Indies (Danish: Konventionen mellem USA og Danmark), was a 1916 treaty transferring sovereignty of the Danish West Indies from Denmark to the United States in exchange for a sum of US$25,000,000 in gold ($722 million in 2024) and a declaration from the United States that it would "not object to the Danish Government extending their political and economic interests to the whole of Greenland". It is one of the most recent permanent expansions of United States territory. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 2 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-10 == <section begin="technews-2026-W10"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/10|Translations]] are available. '''Weekly highlight''' * Wikipedia 25 [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments|Birthday mode]] is now live on Betawi, Breton, Chinese, Czech, Dutch, English, French, Gorontalo, Indonesian, Italian, Luxembourgish, Madurese, Sicilian, Spanish, Thai, and Vietnamese Wikipedias! This limited-time campaign feature celebrates 25 years of Wikipedia with a birthday mascot, Baby Globe. When turned on, Baby Globe is shown on [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments/article configuration|~2,500 articles]], waiting to be discovered by readers. Communities can choose to turn Birthday mode on by getting consensus from their community and asking an admin to enable the feature and customize it via [[m:Special:MyLanguage/Wikipedia 25/Easter egg experiments#Community Configuration Demo|community configuration]] on the local wiki. '''Updates for editors''' * [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|Sub-referencing]], a new feature to re-use references with different details has been released to Swedish Wikipedia, Polish Wikipedia and [[:phab:T418209|a couple of other wikis]]. You can [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing#test|try the feature]] on these projects or on testwiki and [https://en.wikipedia.beta.wmcloud.org/wiki/Sub-referencing betawiki]. Learnings from the first pilot wiki German Wikipedia have been [[:m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing/Learnings|published in a report]]. Reach out to the Wikimedia Deutschland team if you are [[:m:Talk:WMDE Technical Wishes/Sub-referencing#Pilot wikis|interested in becoming a pilot wiki]]. * [[mw:Special:MyLanguage/Help:Edit check#Paste check|Paste Check]] will become available at all Wikipedias this week. The feature prompts newcomers who are pasting text they are not likely to have written into VisualEditor to consider whether doing so risks a copyright violation. Paste Check [[mw:Special:MyLanguage/Edit check/Tags|tags]] all edits where it is shown for potential review. Local administrators can configure various aspects of the feature via [[{{#special:EditChecks}}]]. [[mw:Special:MyLanguage/Edit check/Paste Check#A/B Experiment|Research]] across 22 wikis found that Paste Check resulted in an 18% decrease in relative reverted-edits compared to the control group. Translators can [https://translatewiki.net/w/i.php?title=Special%3ATranslate&group=ext-visualeditor-ve-mw-editcheck&filter=&optional=1&action=translate help to localize] this and related features. * The [[mw:Special:MyLanguage/Readers/Reader Experience|Reader Experience team]] will be standardizing the user menu in the top right for all mobile users so that it is closer to the desktop experience. Currently this user menu is only visible to users with Advanced Mobile Controls (AMC) turned on. The only change is that a couple buttons previously in the left-side menu will move to the top right for users who do not have AMC turned on. This change is expected to go out March 9 and seeks to improve the user interface. [https://phabricator.wikimedia.org/T413912] * Starting in the week of March 2, the emails sent out when an email address was added, removed, or changed for an account will switch to a substantially nicer and clearer HTML email from the prior plaintext one. [https://phabricator.wikimedia.org/T410807] * Notifications are currently limited to 2,000 historic entries per user, and extend back to 2013 when the feature was released. This is going to be changed to only store Notifications from the last 5 years, but up to 10,000 of them. This will help with long-term infrastructure health and help to prevent more recent notifications from disappearing too soon. [https://phabricator.wikimedia.org/T383948] * The [[m:Special:GlobalWatchlist|Global Watchlist]] which lets you view your watchlists from multiple wikis on a single page continues to see improvements. The latest update improves label usage experience. The [[mw:Special:MyLanguage/Extension:GlobalWatchlist|extension]] now allows activating the [[mw:Special:MyLanguage/Manual:Language#Fallback languages|language fallback system]] for Wikidata items without labels in the viewed language, and showing those labels in the user’s preferred Wikidata language if no <code dir=ltr>uselang=</code> URL parameter is provided. [https://phabricator.wikimedia.org/T373686][https://phabricator.wikimedia.org/T416111] * The Wikipedia Android team has started a beta test of [[mw:Special:MyLanguage/Readers/Information Retrieval/Phase 1|hybrid search]] on Greek Wikipedia. Hybrid search capabilities can handle both semantic and keyword queries enabling readers to find what they’re looking for directly on Wikipedia more easily. * For security reasons, members of certain user groups are [[m:Special:MyLanguage/Mandatory two-factor authentication for users with some extended rights|required to have two-factor authentication]] (2FA) enabled. Currently, 2FA is required to use the group, but not to be a member of it. Given that this model still has some vulnerabilities, the situation will [[phab:T418580|gradually change in March]]. Members of these groups will be unable to disable last 2FA method on their account, and it will be impossible to add users without 2FA to these groups. Users will still be able to add new authentication methods or remove them, as long as at least one method is continuously enabled. In the second half of March, users without 2FA will be removed from these groups. This applies to: CentralNotice administrators, checkusers, interface administrators, suppressors, Wikidata staff, Wikifunctions staff, WMF Office IT and WMF Trust & Safety. Nothing will change for other users. See the linked task for deployment schedule. [https://phabricator.wikimedia.org/T418580] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:27}} community-submitted {{PLURAL:27|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue preventing users from creating an instance in [https://www.wikibase.cloud/ Wikibase.cloud] has now been fixed. [https://phabricator.wikimedia.org/T416807] '''Updates for technical contributors''' * To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], over the next month the Wikimedia Foundation will implement global API rate limits across our APIs. In early March, stricter limits will be applied to unidentified requests from outside Toolforge/WMCS and API requests that are made from web browsers. In April, higher limits will be applied to identified traffic. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The Wikidata Query Service Linked Data Fragment (LDF) endpoint will be decommissioned in February. This endpoint served limited traffic, which was successfully migrated to other data access methods that were better suited to support existing use cases. The hardware used to support the LDF endpoint will be reallocated to support the ongoing backend migration efforts. [https://phabricator.wikimedia.org/T415696] * The new Parsoid parser [[mw:Special:MyLanguage/Parsoid/Parser Unification/Updates|continues to be deployed to additional wikis]], improving platform sustainability and making it easier to introduce new reading and editing features. Parsoid is now the default parser on 488 WMF wikis (268 Wikipedias), now covering more than 10% of all Wikipedia page views. * The process and criteria for [[Special:MyLanguage/Wikimedia Enterprise#Access|requesting exceptional access]] to the high volume feed of the ''Wikimedia Enterprise'' APIs (at no cost for mission-aligned usecases), [[m:Talk:Wikimedia Enterprise#Exceptional access criteria|have now been published]]. This is to provide more thorough and clearer documentation for users. * [https://techblog.wikimedia.org/ Tech Blog], the blog dedicated to the Wikimedia technical community [https://techblog.wikimedia.org/2026/02/24/a-tech-blog-diff/ will be migrating] to [[diffblog:|Diff]], the community news and event blog. The migration should be complete in April 2026, after which new posts will be accepted for publishing. Readers will be able to access posts – old and new – on the landing page at https://diff.wikimedia.org/techblog. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.18|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/10|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W10"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 17:52, 2 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30137798 --> == Wikipedia translation of the week: 2026-11 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Steens Mountain]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Steens Mountain near Andrews, Oregon.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Steens Mountain''' is a large fault-block mountain in the northwest United States, located in Harney County, Oregon. Stretching some fifty miles (80 km) north to south, on its east side it rises from the Alvord Desert at an elevation of about 4,200 feet (1,280 m) to 9,738 feet (2,968 m) at the summit. Steens Mountain is not part of a mountain range but is properly a single mountain, the largest of Oregon's fault-block mountains. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 07:30, 9 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30097839 --> == Tech News: 2026-11 == <section begin="technews-2026-W11"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/11|Translations]] are available. '''Weekly highlight''' * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. * Last week, all wikis had 2 hours of read-only time, and extended unavailability for user-scripts and gadgets. This was due to a security incident which has since been resolved. Work is ongoing to prevent re-occurrences. For current information please see the [[m:Steward's noticeboard#Statement on Meta about today's user script security incident|post on the Stewards' noticeboard]] ([[m:Special:MyLanguage/Wikimedia Foundation/Product and Technology/Product Safety and Integrity/March 2026 User Script Incident|translations]]). '''Updates for editors''' * Users facing multiple blocks on mobile will now see the reasons for each block separately, instead of a generic message. This helps them understand why they are blocked and what steps they can take to resolve the issue. For example, users affected for using common VPNs (such as [[Special:MyLanguage/Apple iCloud Private Relay|iCloud Private Relay]]) will receive clearer guidance on what they need to do to start editing again. [https://phabricator.wikimedia.org/T357118] * Later this week, [[mw:Special:MyLanguage/VisualEditor/Suggestion Mode|Suggestion Mode]] will become available as a beta feature within the visual editor at all Wikipedias. This feature proactively suggests various types of actions that people can consider taking to improve Wikipedia articles, and learn about related guidelines. The feature is locally configurable, and can also be locally expanded with custom Suggestions. Current settings can be seen at [[Special:EditChecks]] and there are [[mw:Special:MyLanguage/Help:Suggestion mode#For administrators %E2%80%93 local customization|instructions for how administrators can customize]] the links to point to local guidelines. The feature is connected to [[mw:Special:MyLanguage/Help:Edit check|Edit check]] which suggests improvements while someone is writing new content. In the future, the Editing team plans to evaluate the feature's impact with newcomers through a controlled experiment. [https://phabricator.wikimedia.org/T404600] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where the cursor became misaligned during the use of CodeMirror’s syntax highlighting, which makes wikitext and code easier to read, has now been fixed. This problem specifically affected users who defined a font rule in a custom stylesheet while creating a new topic with DiscussionTools. [https://phabricator.wikimedia.org/T418793] '''Updates for technical contributors''' * API rate limiting update: To help ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]], global API rate limits will be applied this week to requests without a compliant User-Agent that originate from outside Toolforge/WMCS and to unauthenticated requests made from web browsers. Higher limits will be applied to identified traffic in April. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]]. * The new GraphQL API has been released. The API was developed as a flexible alternative to select features of the Wikidata Query Service (WDQS), to improve developer experience and foster adaptability, and efficient data access. Try it out and [[d:Wikidata:Wikibase GraphQL#Feedback and development|give feedback]]. You can also [https://greatquestion.co/wikimediadeutschland/GraphQLAPI/apply sign up for usability tests]. * The [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group|PTAC Unsupported Tools Working Group]] continued improvements to [[commons:Special:MyLanguage/Commons:Video2commons#|Video2Commons]] in February, with fixes addressing authentication errors, large-file handling, task queue visibility, and clearer upload behavior. Work is still ongoing in some areas, including changes related to deprecated server-side uploads. Read [[m:Special:MyLanguage/Product and Technology Advisory Council/Unsupported Tools Working Group#February 2026|this update]] to learn more. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.19|MediaWiki]] '''In depth''' * The Article Guidance team invites experienced Wikipedia editors from selected [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators#Collaborators|pilot wikis]] and interested contributors from other Wikipedias to fill out this questionnaire which is available in [https://docs.google.com/forms/d/e/1FAIpQLSfmLeVWnxmsCbPoI_UF2jyRcn73WRGWCVPHzerXb4Cz97X_Ag/viewform English], [https://docs.google.com/forms/d/e/1FAIpQLSd6rzr4XXQw8r4024fE3geTPFe13M_6w7Mitj-YJi0sOlWTAw/viewform?usp=header Arabic], [https://docs.google.com/forms/d/e/1FAIpQLSdok3-RfB18lcugYTUMGkpwmqG_8p760Wv4dCXitOXOszjUDw/viewform?usp=header Bengali], [https://docs.google.com/forms/d/e/1FAIpQLSfjTfYp4jEo0akA4B1e-Nfg3QZPCudUjhJzHzzDi6AHyAaMGA/viewform?usp=header Japanese], [https://docs.google.com/forms/d/e/1FAIpQLScteVoI29Aue4xc72dekk-6RYtvmMgQxzMI900UOawrFrSTWg/viewform?usp=header Portuguese], [https://docs.google.com/forms/d/e/1FAIpQLSetdxnYwL3ub2vqA7awCg5hJZPMIYcDPaiTe12rY9h0GYnVlw/viewform?usp=header Persian], and [https://docs.google.com/forms/d/e/1FAIpQLScNvfJF-Ot-4pzA4qAN771_0QDJ4Li19YcUsaTgSKW8Nc7U_Q/viewform?usp=header Turkish]. Your answers will help the team customize guidance for less experienced editors and help them learn community policies and practices while creating an article. Learn more [[mw:Special:MyLanguage/Article guidance|on the project page]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/11|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W11"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:53, 9 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30213008 --> == Wikipedia translation of the week: 2026-12 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Casque (anatomy)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Great hornbill (Buceros bicornis) Photograph by Shantanu Kuveskar.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''casque''' is an anatomical feature found in some species of birds, reptiles, and amphibians. In birds, it is an enlargement of the bones of the upper mandible or the skull, either on the front of the face, the top of the head, or both. The casque has been hypothesized to serve as a visual cue to a bird's sex, state of maturity, or social status; as reinforcement to the beak's structure; or as a resonance chamber, enhancing calls. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:43, 16 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30245038 --> == Tech News: 2026-12 == <section begin="technews-2026-W12"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/12|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature, also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], has been used for wikitext syntax highlighting since November 2024. It will be promoted out of beta by May 2026 in order to bring improvements and new [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Features|features]] to all editors who use the standard syntax highlighter. If you have any questions or concerns about promoting the feature out of beta, [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|please share]]. [https://phabricator.wikimedia.org/T259059] * Some changes to local user groups are performed by stewards on Meta-Wiki and logged there only. Now, interwiki rights changes will be logged both on Meta-Wiki and the wiki of the target user to make it easier to access a full record of user's rights changes on a local wiki. Past log entries for such changes will be backfilled in the coming weeks. [https://phabricator.wikimedia.org/T6055] * On wikis using [[m:Special:MyLanguage/Flagged Revisions|Flagged Revisions]], the number of pending changes shown on [[{{#Special:PendingChanges}}]] previously counted pages which were no longer pending review, because they have been removed from the system without being reviewed, e.g. due to being deleted, moved to a different namespace, or due to wiki configuration changes. The count will be correct now. On some wikis the number shown will be much smaller than before. There should be no change to the list of pages itself. [https://phabricator.wikimedia.org/T413016] * Wikifunctions composition language has been rewritten, resulting in a new version of the language. This change aims to increase service stability by reducing the orchestrator's memory consumption. This rewrite also enables substantial latency reduction, code simplification, and better abstractions, which will open the door to later feature additions. Read more about [[f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|the changes]]. * Users can now sort search results alphabetically by page title. The update gives an additional option to finding pages more easily and quickly. Previously, results could be sorted by Edit date, Creation date, or Relevance. To use the new option, open 'Advanced Search' on the search results page and select 'Alphabetically' under 'Sorting Order'. [https://phabricator.wikimedia.org/T403775] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:28}} community-submitted {{PLURAL:28|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented UploadWizard on Wikimedia Commons from importing files from Flickr has now been fixed. [https://phabricator.wikimedia.org/T419263] '''Updates for technical contributors''' * A new special page, [[{{#special:LintTemplateErrors}}]], has been created to list transcluded pages that are flagged as containing lint errors to help users discover them easily. The list is sorted by the number of transclusions with errors. For example: [[{{#special:LintTemplateErrors}}/night-mode-unaware-background-color]]. [https://phabricator.wikimedia.org/T170874] * Users of the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature have been using [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages, for some time now. Along with promoting CodeMirror 6 out of beta, the plan is to replace CodeEditor as the standard editor for these content models by May 2026. [[mw:Special:MyLanguage/Help talk:Extension:CodeMirror|Feedback or concerns are welcome]]. [https://phabricator.wikimedia.org/T419332] * The [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] JavaScript modules will soon be upgraded to CodeMirror 6. Leading up to the upgrade, loading the <code dir=ltr>ext.CodeMirror</code> or <code dir=ltr>ext.CodeMirror.lib</code> modules from gadgets and user scripts was deprecated in July 2025. The use of the <code dir=ltr>ext.CodeMirror.switch</code> hook was also deprecated in March 2025. Contributors can now make their scripts or gadgets compatible with CodeMirror 6. See the [[mw:Special:MyLanguage/Extension:CodeMirror#Gadgets and user scripts|migration guide]] for more information. [https://phabricator.wikimedia.org/T373720] * The MediaWiki Interfaces team is expanding coverage of REST API module definitions to include [[mw:Special:MyLanguage/API:REST API/Extensions|extension APIs]]. REST API modules are groups of related endpoints that can be independently managed and versioned. Modules now exist for [https://phabricator.wikimedia.org/T414470 GrowthExperiments] and [https://phabricator.wikimedia.org/T419053 Wikifunctions] APIs. As we migrate extension APIs to this structure, documentation will move out of the main MediaWiki OpenAPI spec and REST Sandbox view, and will instead be accessible via module-specific options in the dropdown on the [https://test.wikipedia.org/wiki/Special:RestSandbox REST Sandbox] (i.e., [[{{#Special:RestSandbox}}]], available on all wiki projects). * The [[mw:Special:MyLanguage/Extension:Scribunto|Scribunto]] extension provides different pieces of information about the wiki where the module is being used via the [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual|mw.site]] library. Starting last week, the library also provides a [[mw:Special:MyLanguage/Extension:Scribunto/Lua reference manual#mw.site.wikiId|way]] of accessing the [[mw:Special:MyLanguage/Manual:Wiki ID|wiki ID]] that can be used to facilitate cross-wiki module maintenance. [https://phabricator.wikimedia.org/T146616] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.20|MediaWiki]] '''In depth''' * The [[m:Special:MyLanguage/Coolest Tool Award|2026 Coolest Tool Award]] celebrating outstanding community tools, is now open for nominations! Nominate your favorite tool using the [https://wikimediafoundation.limesurvey.net/435684?lang=en nomination survey] form by 23 March 2026. For more information on privacy and data handling, please see the [[foundation:Special:MyLanguage/Legal:Coolest_Tool_Award_2026_Survey_Privacy_Statement|survey privacy statement]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/12|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W12"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:36, 16 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30260505 --> == Wikipedia translation of the week: 2026-13 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Etruscan sculpture]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Frontone A del grande tempio di luni con concilio degli dei, 175-150 ac. ca. 01.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> '''Etruscan sculpture''' was one of the most important artistic expressions of the Etruscan people, who inhabited the regions of Northern Italy and Central Italy between about the 9th century BC and the 1st century BC. Etruscan art was largely a derivation of Greek art, although developed with many characteristics of its own. Given the almost total lack of Etruscan written documents, a problem compounded by the paucity of information on their language—still largely undeciphered—it is in their art that the keys to the reconstruction of their history are to be found, although Greek and Roman chronicles are also of great help. Like its culture in general, Etruscan sculpture has many obscure aspects for scholars, being the subject of controversy and forcing them to propose their interpretations always tentatively, but the consensus is that it was part of the most important and original legacy of Italian art and even contributed significantly to the initial formation of the artistic traditions of ancient Rome. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:07, 23 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30245038 --> == Tech News: 2026-13 == <section begin="technews-2026-W13"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/13|Translations]] are available. '''Weekly highlight''' * Wikimedia site users can now log in without a password using passkeys. This is a secure method supported by fingerprint, facial recognition, or PIN. With this change, all users who opt for passwordless login will find it easier, faster, and more secure to log in to their accounts using any device. The new passkey login option currently appears as an autofill suggestion in the username field. An additional [[phab:T417120|"Log in with passkey" button]] will soon be available for users who have already registered a passkey. This update will improve security and user experience. The [[c:File:Passwordless_login_screencast.webm|screen recording]] demonstrates the passwordless login process step by step. * [[m:Special:MyLanguage/Tech/Server switch|All wikis will be read-only]] for a few minutes on Wednesday, 25 March 2026 at [https://zonestamp.toolforge.org/1774450800 15:00 UTC]. This is for the datacenter server switchover backup tests, [[wikitech:Deployments/Yearly calendar|which happen twice a year]]. During the switchover, all Wikimedia website traffic is shifted from one primary data center to the backup data center to test availability and prevent service disruption even in emergencies. '''Updates for editors''' * Wikimedia site users can now export their notifications older than 5 years using a [[toolforge:echo-chamber|new Toolforge tool]]. This will ensure that users retain their important notifications and avoid them being lost based on the planned change to delete notifications older than 5 years, as previously announced. [https://phabricator.wikimedia.org/T383948] * Wikipedia editors in Indonesian, Thai, Turkish, and Simple English now have access to Special:PersonalDashboard. This is an [[mw:Special:MyLanguage/Moderator Tools/Dashboard|early version of an experience]] that introduces newer editors to patrolling workflows, making it easier for them to move from making edits to participating in more advanced moderation work on their project. [https://phabricator.wikimedia.org/T402647] * The [[Special:Block]] now has two minor interface changes. Administrators can now easily perform indefinite blocks through a dedicated radio button in the expiry section. Also, choosing an indefinite expiry provides a different set of common reasons to select from, which can be changed at: [[MediaWiki:Ipbreason-indef-dropdown]]. [https://phabricator.wikimedia.org/T401823] * Mobile editors [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#Logged-out|at several wikis]] can now see an improved logged-out edit warning, thanks to the recent updates from the Growth team. These changes released last week are part of ongoing efforts and tests to enhance [[mw:Special:MyLanguage/Contributors/Account Creation Experiments|account creation experience on mobile]] and then increase participation. [https://phabricator.wikimedia.org/T408484] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:36}} community-submitted {{PLURAL:36|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the bug that prevented mobile web users from seeing the block information when affected by multiple blocks has been fixed. They can now see messages of all the blocks currently affecting them when they access Wikipedia. '''Updates for technical contributors''' * Images built using Toolforge will soon get the upgraded buildpacks version, bringing support for newer language versions and other upstream improvements and fixes. If you use Toolforge Build Service, review the recent [https://lists.wikimedia.org/hyperkitty/list/cloud-announce@lists.wikimedia.org/thread/EMYTA32EV2V5SQ2JIEOD2CL66YFIZEKV/ cloud-announce email] and update your build configuration as necessary to ensure your tools are compatible. [https://wikitech.wikimedia.org/w/index.php?title=Help:Toolforge/Building_container_images&oldid=2392097#Buildpack_environment_upgrade_process][https://phabricator.wikimedia.org/T380127] * The [https://api.wikimedia.org/wiki/Main_Page API Portal] documentation wiki will shut down in June 2026. API keys created on the API Portal will continue to work normally. api.wikimedia.org endpoints will be deprecated gradually starting in July 2026. Documentation on the API Portal is moving to [[mw:Wikimedia APIs|mediawiki.org]]. Learn more on the [[wikitech:API Portal/Deprecation|project page]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.21|MediaWiki]] '''In depth''' * [[m:Special:MyLanguage/WMDE Technical Wishes|WMDE Technical Wishes]] is considering improvements to [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names|automatically generated reference names in VisualEditor]]. Please check out the [[m:WMDE Technical Wishes/References/VisualEditor automatic reference names#Proposed solutions|proposed solutions]] and participate in the [[m:Talk:WMDE Technical Wishes/References/VisualEditor automatic reference names#Request for comment|request for comment]]. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/13|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W13"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:51, 23 March 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30268305 --> == Wikipedia translation of the week: 2026-14 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Pulse (nightclub)]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Orlando FL Pulse Nightclub01.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Pulse''' was a gay bar, dance club, and nightclub in Orlando, Florida, founded in 2004 by Barbara Poma and Ron Legler. On June 12, 2016, the club was the scene of the second-deadliest mass shooting by a single gunman in U.S. history, and the second-deadliest terrorist attack on U.S. soil since the September 11 attacks. Forty-nine people were killed and 58 other people were injured. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:37, 30 March 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-14 == <section begin="technews-2026-W14"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/14|Translations]] are available. '''Weekly highlight''' * The Beta version of [[abstract:|Abstract Wikipedia]] a new Wikimedia project which is language-independent, was launched last week. The project allows communities to build Wikipedia articles in their native language, which can be readily accessed by other users in their own languages. The wiki is powered by instructions from Wikifunctions and also based on structured content from Wikidata. [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-03-26|Read more]]. '''Updates for editors''' * The Growth team is running an A/B test to evaluate a clearer, more user-friendly message that promotes account creation on wikis. Currently when logged-out mobile users begin editing, they see a jarring warning message that can feel abrupt and discouraging. This also presents temporary account editing as the default rather than encouraging account creation. The test is running on ten Wikipedias, including Arabic, French, Spanish and German. [[mw:Special:MyLanguage/Contributors/Account Creation Experiments#2. Improve logged-out warning message (T415160)|Read more]]. * The Wikimedia Apps team is inviting feedback on [[mw:Special:MyLanguage/Wikimedia Apps/Team/Future of Editing on the Mobile Apps|how editing should work on the Wikipedia mobile apps]]. The discussion focuses on improving how users access editing tools when they tap "Edit". This is part of a broader effort to convert readers who develop an interest in editing, to access a more user-friendly pathway to start contributing. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:45}} community-submitted {{PLURAL:45|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where citation fetching from the large newspaper archive [https://www.newspapers.com Newspapers.com] was no longer working, due to a block in [[mw:Special:MyLanguage/Citoid|Citoid]] requests, has now been fixed. [https://phabricator.wikimedia.org/T419903] '''Updates for technical contributors''' * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.22|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/14|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W14"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:26, 30 March 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30329462 --> == Wikipedia translation of the week: 2026-15 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Tofana di Rozes]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Tofana di Rozes 04.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''Tofana di Rozes''' (3,225 metres (10,581 ft)) is a mountain of the Dolomites in the Province of Belluno, Veneto, Italy. Located west of the resort of Cortina d'Ampezzo, the mountain's giant three-edged pyramid shape and its vertical south face, above the Falzarego Pass, makes it the most popular peak in the Tofane group, and one of the most popular in the Dolomites. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:27, 6 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-15 == <section begin="technews-2026-W15"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/15|Translations]] are available. '''Updates for editors''' * The [[mw:Special:MyLanguage/Help:Extension:CampaignEvents|CampaignEvents extension]] now includes a new group goal-setting feature, enabling organizers to set and track event goals such as the number of articles created and participating contributors in real time. Similarly, participants can work toward shared targets and see their collective impact as the event unfolds. The feature is now available on all Wikimedia wikis. Learn more in [[mw:Special:MyLanguage/Help:Extension:CampaignEvents/Registration/Collaborative contributions#Goal setting|the documentation]]. * [[File:Maki-gift-15.svg|12px|link=|class=skin-invert|Wishlist item]] The new [[mw:Special:MyLanguage/Help:Watchlist labels|watchlist labels]] feature (announced in [[m:Special:MyLanguage/Tech/News/2026/07|Tech News 2026-07]]) is now available via VisualEditor, the source editor, and the 'watchstar' (or watch link, for skins that don't have a star icon). Previously it was only possible to assign labels via [[Special:EditWatchlist|EditWatchlist]]. In all three places it is a new field following the expiry field. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:23}} community-submitted {{PLURAL:23|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where talk pages on mobile with Parsoid are unusable after empty section headers, has now been fixed. [https://phabricator.wikimedia.org/T419171] '''Updates for technical contributors''' * The [[m:Special:MyLanguage/WMDE Technical Wishes/Sub-referencing|sub-referencing feature]], which lets editors add details to an existing reference without duplicating it, will be gradually rolled out to [[phab:T414094|more wikis]] later this year. Wikis using the [[mw:Special:MyLanguage/Reference Tooltips|Reference Tooltips]] gadget are encouraged to update their version (typically at [[m:MediaWiki:Gadget-ReferenceTooltips.js|MediaWiki:Gadget-ReferenceTooltips.js]] as shown [https://en.wikipedia.org/w/index.php?diff=1344408362 here]) to ensure compatibility. Other reference-related gadgets may also be affected. [https://phabricator.wikimedia.org/T416304] * All Wikinews editions will be closed and switched to read-only mode on 4 May 2026. Content will remain accessible, but no new edits or articles can be added. This closure was approved by the Board of Trustees of the Wikimedia Foundation following extended discussions. [[m:Wikimedia Foundation Board noticeboard#Board of Trustees Approves Closure of Wikinews|Read more]]. * The [[:mw:Special:MyLanguage/API:Action API|Action API]] has had several formats for requested output. One of them, <bdi lang="zxx" dir="ltr"><code><nowiki>format=php</nowiki></code></bdi>, is being removed soon. Please ensure your scripts or bots use the [[mw:Special:MyLanguage/API:Data formats#Output|JSON format]]. This removal should affect very few scripts and bots. [https://phabricator.wikimedia.org/T118538] * The [[Special:NamespaceInfo|Special:NamespaceInfo]] page now includes namespace aliases. For example "WP" for the "Project" ("Wikipedia") namespace on the German Wikipedia. [https://phabricator.wikimedia.org/T381455] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.23|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/15|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W15"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 16:19, 6 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30362761 --> == Wikipedia translation of the week: 2026-16 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Very-low-calorie diet]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Green smoothie (8222465502).jpg|300px|center]] <div style="text-align:left; padding: .4em;"> A '''very-low-calorie diet''' (VLCD), also known as semistarvation diet and crash diet, is a type of diet with very or extremely low daily food energy consumption. VLCDs are defined as a diet of 800 kilocalories (3,300 kJ) per day or less. Modern medically supervised VLCDs use total meal replacements, with regulated formulations in Europe and Canada which contain the recommended daily requirements for vitamins, minerals, trace elements, fatty acids, protein and electrolyte balance. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:56, 13 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30306870 --> == Tech News: 2026-16 == <section begin="technews-2026-W16"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/16|Translations]] are available. '''Weekly highlight''' * Experienced editors are invited to [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Main_Page test] the [[mw:Special:MyLanguage/Article guidance|Article guidance]] feature, designed to help less-experienced editors create well-structured, policy-compliant Wikipedia articles. Testing instructions are [[mw:Special:MyLanguage/Article guidance/Test feature guide|available]]. Also, after reviewing [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance the outlines], please provide feedback on the [[mw:Talk:Article guidance|project talk page]]. Based on your input, the feature will be refined and transferred to the pilot Wikipedias to translate and adapt. Check out [[c:File:Article Guidance workflow demo - April 2026.webm|the video]] explaining the feature. '''Updates for editors''' * On most wikis, all autoconfirmed users can now use [[Special:ChangeContentModel|Special:ChangeContentModel]] page to [[mw:Special:MyLanguage/Help:ChangeContentModel|create new pages with custom content models]], such as mass message lists, making custom page formats more accessible. Check [[Special:ListGroupRights|Special:ListGroupRights]] for the status of your wiki. [https://phabricator.wikimedia.org/T248294] * The Growth team has launched an [[mw:Special:MyLanguage/Contributors/Account_Creation_Experiments|account creation experiment]] to evaluate whether adding an account creation button to the mobile web header increases new account registrations and encourages more mobile users to contribute to the wikis. The experiment is currently live on Hindi, Indonesian, Bengali, Thai, and Hebrew Wikipedia, and targets 10% of logged-out mobile web users. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where VisualEditor could get stuck loading on Windows devices with animations turned off, has now been fixed. [https://phabricator.wikimedia.org/T382856] '''Updates for technical contributors''' * Starting later this week, {{int:group-abusefilter}} who have the [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]] beta feature enabled will have [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] as the editor at [[Special:AbuseFilter|Special:AbuseFilter]]. This is part of the broader effort to make the user experience more consistent across all editors. [https://phabricator.wikimedia.org/T399673][https://phabricator.wikimedia.org/T419332] * Tools and bots that access the [[mw:Special:MyLanguage/Notifications/API|Notifications API]] (<bdi lang="zxx" dir="ltr"><code><nowiki>action=query&meta=notifications</nowiki></code></bdi>) will need to update their OAuth or BotPassword grants to also include access to private notifications. [https://phabricator.wikimedia.org/T421991] * Due to a library upgrade, listings on category pages may be displayed out of order starting on Monday, 20th April. A migration script will be run to correct this, and will take hours to days depending on the size of the wiki (up to a week for English Wikipedia). [https://phabricator.wikimedia.org/T422544] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.24|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/16|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W16"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:19, 13 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30380527 --> == Wikipedia translation of the week: 2026-17 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Chromodoris willani]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Babosa de mar (Chromodoris willani), Anilao, Filipinas, 2023-08-24, DD 34.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> '''''Chromodoris willani''''', commonly known as Willan's chromodoris, is a species of sea slug, a dorid nudibranch, a shell-less marine gastropod mollusk in the family Chromodorididae. The species is named for the renowned nudibranch taxonomist Dr. Richard C. Willan. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:34, 20 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30430366 --> == Tech News: 2026-17 == <section begin="technews-2026-W17"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/17|Translations]] are available. '''Weekly highlight''' * After two years of development, [[mw:Special:MyLanguage/Help:Extension:CodeMirror|{{int:codemirror-beta-feature-title}}]], also known as [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror 6]], is to be promoted out of beta on Tuesday, April 21. It brings better code and wikitext readability, reduction in typing errors, and other [[mw:Special:MyLanguage/Help:Extension:CodeMirror|benefits]] to all users of the standard syntax highlighter. A huge thank you to volunteer [https://phabricator.wikimedia.org/p/Bhsd/ Bhsd] who developed many of the new features, including [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Code folding|code folding]], [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Autocompletion|autocompletion]], and [[mw:Special:MyLanguage/Help:Extension:CodeMirror#Linting|linting]]. [https://phabricator.wikimedia.org/T259059] * A major update to the Wikipedia app for iOS is now rolling out, redesigning the interface to align with Apple's latest "Liquid Glass" visual design. [https://apps.apple.com/us/app/wikipedia/id324715238 Download the latest version] and explore the update. '''Updates for editors''' * [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|Reading lists]] is a feature which allows readers to save articles to a list for reading later. This feature is now in beta on Arabic, French, Indonesian, Vietnamese, and Chinese Wikipedias and by default for all new accounts on all Wikipedias. * An experiment which explores extending [[mw:Special:MyLanguage/Readers/Reader Growth/Mobile page previews|Page Previews to mobile web]] will be launched in the week of April 20 on Arabic, English, French, Italian, Polish, and Vietnamese Wikipedias. Page Previews are pop-ups that display a thumbnail, lead paragraph, and a link to open the full article of a blue link, thereby improving content discovery. The feature is already available on desktop and in the apps. [[m:Special:MyLanguage/List of experiments in Product and Technology#Template|Read more about this experiment and others]]. * On several wikis, logged-in editors who haven't [[mw:Special:MyLanguage/Help:Email confirmation|confirmed their email addresses]] can now see a banner encouraging them to do so. Having the email address confirmed allows a user to restore access to the account if they lose it. [[mw:Special:MyLanguage/Product Safety and Integrity/Account Security#Encouraging users to confirm their email addresses|Learn more]]. [https://phabricator.wikimedia.org/T421366] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:15}} community-submitted {{PLURAL:15|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where editing very large wiki pages in the 2017 wikitext editor caused slow loading, preview and scrolling lag, and performance issues when selecting, cutting, or pasting content, has now been fixed. [https://phabricator.wikimedia.org/T184857] '''Updates for technical contributors''' * As part of the promotion of [[mw:Special:MyLanguage/Help:Extension:CodeMirror|CodeMirror]] from a beta feature, all users will use [[mw:Special:MyLanguage/Extension:CodeMirror|CodeMirror]] instead of [[mw:Special:MyLanguage/Extension:CodeEditor|CodeEditor]] for syntax highlighting when editing JavaScript, CSS, JSON, Vue and Lua content pages. [https://phabricator.wikimedia.org/T419332] * The <code>mirrors.wikimedia.org</code> service for Debian and Ubuntu users will sunset and stop working on May 15. The resources for the service will be replaced with new and better options. Some users may need to switch to a different server which should take about a minute. [https://lists.wikimedia.org/hyperkitty/list/wikitech-l@lists.wikimedia.org/thread/LJYRIS4WB66HIRCAO4GIDTXCMDVZRBMA/ You can read more]. [https://phabricator.wikimedia.org/T416707] * The <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> table will be removed from [[wikitech:Help:Wiki Replicas|wikireplicas]]. If your tools or queries access <bdi lang="zxx" dir="ltr"><code><nowiki>image</nowiki></code></bdi> or <bdi lang="zxx" dir="ltr"><code><nowiki>oldimage</nowiki></code></bdi> directly, please update them to use the <bdi lang="zxx" dir="ltr"><code><nowiki>file</nowiki></code></bdi> and <bdi lang="zxx" dir="ltr"><code><nowiki>filerevision</nowiki></code></bdi> table before 28 May. [https://phabricator.wikimedia.org/T28741] * Following the recent implementation of global API rate limits on unidentified traffic, the Wikimedia Foundation will continue efforts to ensure [[mw:Special:MyLanguage/MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]] by applying global limits to identified API traffic beginning the last week of April. These limits are intentionally set as high as possible to minimise impact on the community. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, see [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * The [[mw:Special:MyLanguage/Attribution API|Attribution API]] is now available as a [[mw:Special:MyLanguage/Wikimedia APIs/Stability policy|beta]]. The API fetches information for crediting Wikimedia articles and media files wherever they are used. Reference documentation is available through the REST Sandbox special page available on all Wikimedia wikis (such as the [https://en.wikipedia.org/w/index.php?api=attribution.v0-beta&title=Special%3ARestSandbox REST sandbox on English Wikipedia]). Share your feedback on the [[mw:Talk:Attribution API|project talk page]]. * There is no new MediaWiki version this week. '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/17|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W17"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 15:01, 20 April 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30432763 --> == Wikipedia translation of the week: 2026-18 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Platypus venom]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Platypus spur.JPG|300px|center]] <div style="text-align:left; padding: .4em;"> The platypus is one of the few living mammals to produce venom. The venom is made in venom glands that are connected to hollow spurs on their hind legs; it is primarily made during the mating season.[1] While the venom's effects are described as extremely painful, it is not lethal to humans. Many archaic mammal groups possess similar tarsal spurs, so it is thought that, rather than having developed this characteristic uniquely, the platypus simply inherited this characteristic from its ancestors. Rather than being a unique outlier, the platypus is the last demonstration of what was once a common mammalian characteristic, and it can be used as a model for non-therian mammals and their venom delivery and properties. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:04, 27 April 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30449041 --> == Tech News: 2026-18 == <section begin="technews-2026-W18"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/18|Translations]] are available. '''Updates for editors''' * There is a change in how new users are autoconfirmed that will improve anti-vandalism protection. Currently, users who have had an account for a few days and made a few edits are automatically added to the [[{{int:grouppage-autoconfirmed/{{CONTENTLANGUAGE}}}}|{{int:group-autoconfirmed}}]] group. This configuration tends to be exploited by some vandals, who create accounts and start to use them only after some time. To mitigate this, the configuration will be updated next week so that – for the purpose of becoming autoconfirmed – the account age will be counted from their first edit, instead of registration date. The numeric value of the age threshold will remain the same. This change will be deployed only to wikis which require at least one edit as part of the autoconfirmation conditions. [https://phabricator.wikimedia.org/T418484] * All Wikipedia users with new accounts and those who activated the "automatically enable most beta features" option in their preference can now use the [[mw:Special:MyLanguage/Readers/Reader Experience/WE3.3.4 Reading lists|reading lists]] beta feature to save articles for later reading. This helps organize reading interests in one place for convenient access. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:30}} community-submitted {{PLURAL:30|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the issue where infobox images have huge padding in Firefox, has been fixed. [https://phabricator.wikimedia.org/T423676] '''Updates for technical contributors''' * As a reminder, the global API rate limits will be applied this week to identified API traffic. This is to help ensure [[mw:MediaWiki Product Insights/Responsible Reuse|fair use of infrastructure]]. Bots running in Toolforge/WMCS or with the bot user right on any wiki should not be affected for now. However, all developers are advised to follow updated best practices. For more information, including the actual rate limits, see [[mw:Wikimedia APIs/Rate limits|Wikimedia APIs/Rate limits]] and [[mw:Wikimedia APIs/Rate limits/FAQ|Frequently Asked Questions]]. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.26|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/18|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W18"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 18:06, 27 April 2026 (UTC) <!-- Message sent by User:UOzurumba (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30458046 --> == Wikipedia translation of the week: 2026-19 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Kuwait National Assembly Building]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Kuwait City Arabian Gulf Street 10.jpg|300px|center]] <div style="text-align:left; padding: .4em;"> The '''Kuwait National Assembly Building''' is the building that housed the National Assembly of Kuwait. Designed by Danish architect Jørn Utzon in 1972, it was completed in 1982 under the direction of his son Jan. The structural design was by Max Walt. The building was seriously damaged in February 1991 when retreating Iraqi troops set it on fire but has since been restored. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 12:16, 4 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30464799 --> == Tech News: 2026-19 == <section begin="technews-2026-W19"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/19|Translations]] are available. '''Weekly highlight''' * The [[mw:Special:MyLanguage/Article guidance|Article guidance]] team invites experienced editors of [[mw:Special:MyLanguage/Article guidance/Pilot wikis and collaborators|pilot Wikipedias]]—Arabic, Bangla, Japanese, Portuguese, Persian, Turkish, Simple English, Spanish, and French—to help translate and adapt [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Category:Pages_using_article_guidance sample outlines]. These outlines will guide editors in creating clear, well-structured, and policy-compliant articles when using [https://b24e11a4f1.catalyst.wmcloud.org/wiki/Special:NewArticle the feature] once it is launched in May 2026. [[mw:Special:MyLanguage/Article guidance#Adapting a sample outline in a Wikipedia|Simple instructions]] on how to translate and adapt the outlines are available. '''Updates for editors''' * The [[:m:Special:MyLanguage/Product and Technology Advisory Council|Product and Technology Advisory Council]] has published [[:m:Special:MyLanguage/Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|draft recommendations]] on a model that affiliates can follow when contributing to the technical space. Community members are invited to provide feedback on the recommendation until May 8th [[:m:Talk:Product and Technology Advisory Council/May 2026 draft PTAC recommendation for feedback|on the talk page]]. * The number of available thumbnail size preferences in MediaWiki is being reduced to three standardized options—Small (180px), Regular (250px), and Large (400px), as part of ongoing efforts to improve performance and reduce strain on thumbnail services. As a result, existing preferences will be mapped to the nearest new size (for example, smaller selections like 120px or 150px will render at 180px, while larger ones like 300px or 360px will render at 400px). The preferences interface will soon be updated to reflect these changes, and users who wish to opt out or provide feedback can do so. [https://phabricator.wikimedia.org/T424909] * From now on, even when a permission expires automatically, users will receive an Echo notification similar to the standard notification for permission changes. There is a difference between this and [[m:Special:MyLanguage/Global reminder bot|Global reminder bot]] in that the latter reminds users a week ''before'' the rights are due to expire, so that they can renew the rights. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:32}} community-submitted {{PLURAL:32|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, the problem where the ULS language selector in [[m:Special:Translate|Special:Translate]] would scroll vertically when it shouldn't, has been resolved. Previously, when users opened the "Translate to English" dropdown and typed certain inputs, the dialog would scroll vertically by a few pixels even when there was enough space to display all results. The dropdown no longer shifts unnecessarily when filtering languages. [https://phabricator.wikimedia.org/T358864] * The [[m:Special:GlobalWatchlist|Global Watchlist]], which lets you view your watchlists from multiple wikis on a single page, continues to improve. For example, watchlists for Wikibase sites such as [[:d:|Wikidata]] now support [[mw:Special:MyLanguage/Extension:EntitySchema|EntitySchema]] elements for better tracking. The Live Updates mode now refreshes the special page every 60 seconds to comply with the updated [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] for improved real-time responsiveness. Additionally, a directionality bug that displayed links as "changes 3" instead of "3 changes" in mixed-direction lists has been fixed. [https://phabricator.wikimedia.org/T415450][https://phabricator.wikimedia.org/T424422][https://phabricator.wikimedia.org/T418091] '''Updates for technical contributors''' * The second phase of [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits|global API rate limits]] has been rolled out to reduce the [[diffblog:2026/03/26/quo-vadis-crawlers-progress-and-whats-next-on-safeguarding-our-infrastructure/|impact of AI crawlers]] and ensure fair, sustainable access to Wikimedia resources, prioritising human and mission-aligned traffic. [[mw:Special:MyLanguage/Wikimedia APIs/Rate limits#Limits|Limits]] have been shifted from per-hour to per-minute, producing smoother traffic patterns and more predictable API load. Community users are not expected to be affected, and no action is required. Early indications show some User-Agent-based requestors are adjusting behaviour, and around 64% of automated API traffic has been identified. Monitoring continues, and Wikimedia Enterprise remains available for commercial support. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.46/wmf.27|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/19|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W19"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 20:44, 4 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30498077 --> == Wikipedia translation of the week: 2026-20 == <div lang="en" dir="ltr" style="width:100%; margin:0; background: var(--background-color-neutral-subtle,#f8f9fa); border:1px solid var(--border-color-base,#BBBBBB); padding .4em;color: inherit;"> <div style="text-align:center;">The winner this [[m:Translation of the week/2026 translations|Translation of the week]] is <div style="font-size:140%;">'''[[:en:Macau National Security Law]]'''<br /> </div> Please be bold and help translate this article! </div> ---- [[File:Lei relative à defesa da segurança do Estado projecto.JPG|center|300px]] <div style="text-align:left; padding: .4em;"> The '''Macau National Security Law''' is a law in Macau which prohibits and punishes acts of treason, secession, and subversion against the Central government, as well as preparative acts leading to any of the three acts. Taken into effect on 3 March 2009, the purpose of the law is to fulfil Article 23 of the Macau Basic Law, the de facto constitution of the Macau Special Administration Region. <small>(Please update the interwiki links on [[d:|Wikidata]] of your language version of the article after each week's translation is finished so that all languages are linked to each other.)</small> ---- [[File:TOTW.svg|24px|]] ''[[m:Translation of the week|About]] · '''[[m:Translation of the week/Translation candidates|Nominate/Review]]''' · [[m:Translation of the week/MassMessage|Subscribe/Unsubscribe]] · [[m:MassMessage|Global message delivery]]'' </div> </div> --[[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|discuss]] • [[Special:Contributions/MediaWiki message delivery|contribs]]) 02:53, 11 May 2026 (UTC) <!-- Message sent by User:Shizhao@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Translation_of_the_week/MassMessage&oldid=30513945 --> == Tech News: 2026-20 == <section begin="technews-2026-W20"/><div class="plainlinks"> Latest '''[[m:Special:MyLanguage/Tech/News|tech news]]''' from the Wikimedia technical community. Please tell other users about these changes. Not all changes will affect you. [[m:Special:MyLanguage/Tech/News/2026/20|Translations]] are available. '''Weekly highlight''' * Community Tech has published [[m:Special:MyLanguage/Community Wishlist/How to write a good wish|new guidance]] explaining how wishes on Community Wishlist are triaged and prioritized. The documentation is intended to help contributors write stronger proposals by clarifying the factors that influence prioritization decisions. Beyond vote counts, the guidance highlights considerations such as potential impact on the community when determining which wishes move forward. '''Updates for editors''' * The Reader Growth team is launching an experiment to test a new [[mw:Special:MyLanguage/Readers/Reader_Growth/Share_Card|Share Card feature]] that allows readers to create visually engaging cards from Wikipedia articles or selected article sections and share them online, with each card linking back to the original article to help expand readership and article discovery. The mobile-only A/B test will be available to a portion of readers on Arabic, Chinese, French, Vietnamese, and English Wikipedia to better understand reading and sharing habits, and is scheduled to begin the week of May 18 and run for four weeks. * The Android and iOS Wikipedia apps recently released the [[mw:Special:MyLanguage/Wikimedia_Apps/Team/25th_Birthday_Reading_Challenge|25-day reading challenge]] into Beta, as part of efforts to drive reader engagement by encouraging users to complete reading milestones. To track their reading streak during the challenge, App users can add a widget featuring Baby Globe to their home screen. The challenge officially begins May 11. * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] View all {{formatnum:17}} community-submitted {{PLURAL:17|task|tasks}} that were [[m:Special:MyLanguage/Tech/News/Recently resolved community tasks|resolved last week]]. For example, an issue where the global preference for enabling syntax highlighting in wikitext could unexpectedly disable itself after being turned on, has now been fixed. [https://phabricator.wikimedia.org/T425286] '''Updates for technical contributors''' * [[File:Octicons-tools.svg|12px|link=|alt=|Advanced item]] The ResourceLoader module <bdi lang="zxx" dir="ltr"><code><nowiki>mediawiki.ui.input</nowiki></code></bdi>, deprecated since [[m:Special:MyLanguage/Tech/News/2023/39|September 2023]], will be removed this week. There is a [[mw:Special:MyLanguage/Codex/Migrating_from_MediaWiki_UI|guide for migrating from MediaWiki UI to Codex]] for any tools that use it. [https://phabricator.wikimedia.org/T420125] * [[File:Reload icon with two arrows.svg|12px|link=|class=skin-invert|Recurrent item]] Detailed code updates later this week: [[mw:MediaWiki 1.47/wmf.2|MediaWiki]] '''''[[m:Special:MyLanguage/Tech/News|Tech news]]''' prepared by [[m:Special:MyLanguage/Tech/News/Writers|Tech News writers]] and posted by [[m:Special:MyLanguage/User:MediaWiki message delivery|bot]]&nbsp;• [[m:Special:MyLanguage/Tech/News#contribute|Contribute]]&nbsp;• [[m:Special:MyLanguage/Tech/News/2026/20|Translate]]&nbsp;• [[m:Tech|Get help]]&nbsp;• [[m:Talk:Tech/News|Give feedback]]&nbsp;• [[m:Global message delivery/Targets/Tech ambassadors|Subscribe or unsubscribe]].'' </div><section end="technews-2026-W20"/> <bdi lang="en" dir="ltr">[[User:MediaWiki message delivery|MediaWiki message delivery]]</bdi> 19:21, 11 May 2026 (UTC) <!-- Message sent by User:STei (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Tech_ambassadors&oldid=30524429 --> 7ekyceo0qr1ktc36xmgtsvl2mf32hya User talk:Codename Noreste 3 466307 4635382 4635207 2026-05-12T08:11:05Z ArchiverBot 1227662 Bot: Archiving 1 thread (older than 14 days) to [[User talk:Codename Noreste/Archive 1]] 4635382 wikitext text/x-wiki {{talk header}} {{User:MiszaBot/config |archive = User talk:Codename Noreste/Archive %(counter)d |algo = old(14d) |counter = 1 |maxarchivesize = 100K |archiveheader = {{Automatic archive navigator}} |minthreadstoarchive = 1 |minthreadsleft = 1 }} == You may be an eligible candidate for the U4C election == <div lang="en" dir="ltr" class="mw-content-ltr"> Greetings, The [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee|Universal Code of Conduct Coordinating Committee (U4C)]] seeks candidates for the 2026 election. The U4C is the global committee responsible for overseeing enforcement of the [[foundation:Special:MyLanguage/Policy:Universal Code of Conduct|Universal Code of Conduct]]. Elections are held annually, if elected a committee member serves for two years. This year the U4C requires candidates to hold administrator rights on at least one wiki, which is why you are being contacted as you appear to hold this right. There are other requirements, such as candidates must be at least 18 years old and may not be employed by the Wikimedia Foundation or other related chapters and affiliates. You can find more information in the [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026#Call_for_Candidates|call for candidates on Meta-wiki]]. Additionally, the committee's working language is English; some ability to communicate in English is required. The election opens on 18 May, if you are eligible and interested you have until 10 May to submit your candidacy. There will week between for candidates to answer questions from the community. Voting takes place privately in [[m:Special:MyLanguage/SecurePoll|SecurePoll]], successful candidates must receive at least 60% support. More information is available on [[m:Special:MyLanguage/Universal_Code_of_Conduct/Coordinating_Committee/Election/2026|the 2026 Elections page]], including timelines and other candidacy information. If you read over the material and consider yourself qualified, please consider submitting your name to run for the committee. If you think someone else in your community might be interested and qualified, please encourage them to run. In partnership with the U4C -- [[m:User:Keegan (WMF)|Keegan (WMF)]] ([[m:User_talk:Keegan (WMF)|talk]]) 18:32, 28 April 2026 (UTC) </div> <!-- Message sent by User:Keegan (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=User:Keegan_(WMF)/test&oldid=30471751 --> == Markdown == Can you clarify why you deleted [[Markdown]]? The deletion summary says "Mass deletion of abandoned/orphaned/out of scope pages with minimal or no content. (sysop action)". It did not seem to fail a RFD and from what I remeber, it was a short instructional page I made on Markdown. The page is in [https://web.archive.org/web/20250427011600/https://en.wikibooks.org/wiki/Markdown Wayback Machine]. Actually, can you please undelete the page, send it to RFD if you are still convinced it should be deleted, and ping me? I think it is a neat little page providing minimum useful artifact and can be expanded later. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 08:53, 5 May 2026 (UTC) : Looking at the deleted edits from that page, [[User:Kittycataclysm|Kittycataclysm]] (whom I pinged for second opinion) marked it for speedy deletion as it was considered {{tq|abandoned with little to no meaningful content}}, but you may file a request at [[Wikibooks:Requests for undeletion]] citing your reasons why that page should be undeleted and kept when you plan to update it. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:55, 5 May 2026 (UTC) :: I opened [[Wikibooks:Requests for undeletion#Markdown]]. --[[User:Dan Polansky|Dan Polansky]] ([[User talk:Dan Polansky|discuss]] • [[Special:Contributions/Dan Polansky|contribs]]) 15:38, 5 May 2026 (UTC) 25oi59ak1useo1h2k1a4wzyie4khfrz Foundational Observations: Open Scholarship Policy Observatory, 2017-2020 0 471262 4635340 4607790 2026-05-11T23:13:32Z LodestarChariot2 3138880 Updated cover image 4635340 wikitext text/x-wiki ''To read the French version of this text, see [[b:fr:Observations préliminaires : Observatoire des politiques d'Érudition ouverte, 2017-2020 | Observations préliminaires : Observatoire des politiques d'Érudition ouverte, 2017-2020]]''. ''For the second volume in this series, please see [[Extensions: Open Scholarship Policy Observatory, 2021-2024]]''. <big><div style="text-align: left;">'''Editors: Alyssa Arbuckle, Ray Siemens, Tanja Niemann, Lynne Siemens'''</div></big> <big><div style="text-align: left;">'''Authors: Sarah Milligan, Alyssa Arbuckle, Kim Silk, Caroline Winter'''</div></big> ==Overview== '''Foundational Observations: Open Scholarship Policy Observatory, 2017-2020''' is a book-length compendium of reflections on issues pertinent to the open scholarship movement. This volume is intended to facilitate understanding of open social scholarship across Canada and internationally, as an aid to influence and implement policy around knowledge mobilization. In doing so, it reflects pertinent policies and their impact across research communities; signals trends and current research; and offers a broad and deep foundation for the development of policy recommendations on important issues, including identity management, open access, data management, citizen science, and other related areas. ==Table of Contents== [[File:OSP-OSPO_Volume_1_English_cover.jpg|frameless|250px|right]] {{noprint/top}} {{Helpful hint|title=Print Version (via PediaPress)|hint=[https://pediapress.com/books/show/632059dcb7079fca191151147c156f/ Click here] to order a printed copy of this book for a fee.}} {{noprint/bottom}} {{Book Search}} ===[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Introduction | Introduction]]=== ===2017=== *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Tri-Agency_Open_Access_Policy_on_Publications | Tri-Agency Open Access Policy on Publications]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Canada's_Fundamental_Science_Review | Canada's Fundamental Science Review]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Access_Copyright_v._York_University | Access Copyright v. York University]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/CARL_Scholarly_Communications_Roadmap | CARL Scholarly Communications Roadmap]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Policy_Recommendations_for_Open_Access_to_Research_Data_in_Europe | Policy Recommendations for Open Access to Research Data in Europe]] <small>(Arbuckle)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/G7_Expert_Group_on_Open_Science | G7 Expert Group on Open Science]] <small>(Milligan)</small> ===2018=== *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Tri-Agency_Statement_of_Principles_on_Digital_Data_Management | Tri-Agency Statement of Principles on Digital Data Management]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Jussieu_Call_for_Open_Science_and_Bibliodiversity | Jussieu Call for Open Science and Bibliodiversity]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Integrated_Digital_Scholarship_Ecosystem | Integrated Digital Scholarship Ecosystem]] <small>(Milligan)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/ORCID:_Connecting_Research_and_Researchers | ORCID: Connecting Research and Researchers]] <small>(Silk)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Government | Open Government]] <small>(Silk)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Access_Publishing_Negotiations_in_Europe | Open Access Publishing Negotiations in Europe]] <small>(Silk)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/How_the_2018_Federal_Budget_Impacts_Research_in_Canada | How the 2018 Federal Budget Impacts Research in Canada]] <small>(Silk)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Annotation_Tools | Open Annotation Tools]] <small>(Silk)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Plan_S_and_cOAlition_S | Plan S and cOAlition S]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Canada_Celebrates_International_Open_Access_Week_2018 | Canada Celebrates International Open Access Week 2018]] <small>(Winter)</small> ===2019=== *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Compliance_with_Open_Access_Policy_in_Canada | Compliance with Open Access Policy in Canada]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_Analysis_&_Policy_Observatory | The Analysis & Policy Observatory]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_Film_Paywall:_The_Business_of_Scholarship | The Film Paywall: The Business of Scholarship]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_University_of_California's_Split_with_Elsevier | The University of California's Split with Elsevier]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Education_Week_2019 | Open Education Week 2019]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Education_in_British_Columbia | Open Education in British Columbia]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_Review,_Promotion,_and_Tenure_Project_at_the_ScholCommLab | The Review, Promotion, and Tenure Project at the ScholCommLab]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Joint_CAUL–AOASG_Election_Statement | Joint CAUL–AOASG Election Statement]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_EU's_Directive_on_Copyright_in_the_Digital_Single_Market | The EU's Directive on Copyright in the Digital Single Market]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_Canadian–Australian_Partnership_for_Open_Scholarship_(CAPOS) | The Canadian–Australian Partnership for Open Scholarship (CAPOS)]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Social_Media_and_Open_Social_Scholarship | Social Media and Open Social Scholarship]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/ORCID_Update:_Integrating_ORCID_iDs_into_Research_Funding_Workflows | ORCID Update: Integrating ORCID iDs into Research Funding Workflows]] <small>(Winter)</small> ===2020=== *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Wikidata_in_Research_Libraries | Wikidata in Research Libraries]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_Sorbonne_Declaration_on_Research_Data_Rights | The Sorbonne Declaration on Research Data Rights]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Tri-Agency_Research_Data_Management_Policy | Tri-Agency Research Data Management Policy]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/NDRIO_and_the_Canadian_Digital_Research_Infrastructure_Strategy | NDRIO and the Canadian Digital Research Infrastructure Strategy]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/UKRI_Open_Access_Policy_Review_and_Consultation | UKRI Open Access Policy Review and Consultation]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/CRKN–RCDR_2019–2024_Strategic_Plan | CRKN–RCDR 2019–2024 Strategic Plan]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Open_Scholarship_and_COVID-19 | Open Scholarship and COVID-19]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Mind_the_Gap_and_Pop!:_In_Conversation_with_John_Maxwell | Mind the Gap and Pop!: In Conversation with John Maxwell]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/UNESCO's_Recommendation_on_Open_Science | UNESCO's Recommendation on Open Science]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_UK_Persistent_Identifier_(PID)_Consortium | The UK Persistent Identifier (PID) Consortium]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/CARL's_Advancing_Open_Event_and_Report | CARL's Advancing Open Event and Report]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Canada's_Roadmap_for_Open_Science | Canada's Roadmap for Open Science]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/Plan_S_Update:_Rights_Retention_Strategy | Plan S Update: Rights Retention Strategy]] <small>(Winter)</small> *[[Foundational_Observations:_Open_Scholarship_Policy_Observatory,_2017-2020/The_TRUST_Principles_for_Digital_Repositories | The TRUST Principles for Digital Repositories]] <small>(Winter)</small> {{shelves|Humanities}} {{status|100%}} m5cp73dkf8kj9vysklukn8fst2ov6xw Extensions: Open Scholarship Policy Observatory, 2021-2024 0 473303 4635343 4607816 2026-05-11T23:23:18Z LodestarChariot2 3138880 Updated cover image 4635343 wikitext text/x-wiki ''To read the French version of this text, see [[b:fr:Extension : Observatoire des politiques d'Érudition ouverte, 2021-2024 | Extension : Observatoire des politiques d'Érudition ouverte, 2021-2024]]''. ''For the first volume in this series, please see [[Foundational Observations: Open Scholarship Policy Observatory, 2017-2020]]''. <big><div style="text-align: left;">'''Editors: Lynne Siemens, Tanja Niemann, Alyssa Arbuckle, Ray Siemens'''</div></big> <big><div style="text-align: left;">'''Authors: Caroline Winter, Talya Jesperson, JT Kern, Maggie Sardino, Brittany Amell'''</div></big> ==Overview== '''Extensions: Open Scholarship Policy Observatory, 2021-2024''' is a book-length compendium of reflections on issues pertinent to the open scholarship movement. This volume is intended to facilitate understanding of open social scholarship across Canada and internationally, as an aid to influence and implement policy around knowledge mobilization. In doing so, it reflects pertinent policies and their impact across research communities; signals trends and current research; and offers a broad and deep foundation for the development of policy recommendations on important issues, including identity management, open access, data management, citizen science, and other related areas. ==Table of Contents== [[File:OSP-OSPO_Volume_2_English_cover.jpg|frameless|250px|right]] {{noprint/top}} {{Helpful hint|title=Print Version (via PediaPress)|hint=[https://pediapress.com/books/show/13ab107db27df65ad879e7c2049834/ Click here] to order a printed copy of this book for a fee.}} {{noprint/bottom}} {{Book Search}} ===[[Extensions: Open Scholarship Policy Observatory, 2021-2024/Introduction | Introduction]]<ref>This is a brief introduction to the Extensions volume; for a comprehensive introduction to all volumes, please see the [[Foundational Observations: Open Scholarship Policy Observatory, 2017-2020/Introduction|Foundational Observations introduction]].</ref>=== {{reflist}} ===2021=== *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Wikipedian in Residence Programs | Wikipedian in Residence Programs]] <small>(Winter and Jesperson)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Plan S Update: The Expanding Membership of cOAlition S | Plan S Update: The Expanding Membership of cOAlition S]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Open Access Monographs | Open Access Monographs]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Update: Research Data Management in Canada | Update: Research Data Management in Canada]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Open Access Agreements | Open Access Agreements]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/International Open Access Week 2021, October 25–31 | International Open Access Week 2021, October 25–31]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Extension of Canada's General Term of Copyright under CUSMA (USMCA) | The Extension of Canada's General Term of Copyright under CUSMA (USMCA)]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Current State of Research Data Management in Canada: A Report by the Digital Research Alliance of Canada | The Current State of Research Data Management in Canada: A Report by the Digital Research Alliance of Canada]] <small>(Winter)</small> ===2022=== *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Fonds de Recherche du Québec Join cOAlition S | The Fonds de Recherche du Québec Join cOAlition S]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/RDM Capacity Building in Canada and the Portages Insights Reports Series | RDM Capacity Building in Canada and the Portages Insights Reports Series]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Canada's National Heritage Digitization Strategy | Canada's National Heritage Digitization Strategy]] <small>(Winter and Kern)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The CARL–OpenAIRE Collaboration | The CARL–OpenAIRE Collaboration]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Future of Open Scholarship Project Report on Open Infrastructure | The Future of Open Scholarship Project Report on Open Infrastructure]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/UKRI’s 2021 Open Access Policy | UKRI’s 2021 Open Access Policy]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The State of Open Data 2021 Report | The State of Open Data 2021 Report]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Altmetrics for Research Evaluation | Altmetrics for Research Evaluation]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The PKP and SciELO's Renewed Partnership | The PKP and SciELO's Renewed Partnership]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/CRKN's Decolonizing Metadata Project | CRKN's Decolonizing Metadata Project]] <small>(Winter and Kern)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Open Access Monographs Update | Open Access Monographs Update]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Nelson Memo: Ensuring Free, Immediate, and Equitable Access to Federally Funded Research in the US | The Nelson Memo: Ensuring Free, Immediate, and Equitable Access to Federally Funded Research in the US]] <small>(Winter)</small> ===2023=== *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/An Action Plan for Advancing Diamond Open Access | An Action Plan for Advancing Diamond Open Access]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/International Open Access Week 2022, October 24–30 |International Open Access Week 2022, October 24–30]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Market Consolidation in Scholarly Communications | Market Consolidation in Scholarly Communications]] <small>(Winter and Sardino)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Intellectual Property Rights and Open Scholarship in Europe | Intellectual Property Rights and Open Scholarship in Europe]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/The Budapest Open Access Initiative’s 20th Anniversary Recommendations | The Budapest Open Access Initiative’s 20th Anniversary Recommendations]] <small>(Winter and Kern)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Research Security and Open Scholarship in Canada | Research Security and Open Scholarship in Canada]] <small>(Winter)</small> ===2024=== *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Review of Canada's Tri-Agency Open Access Policy on Publications (2015) | Review of Canada's Tri-Agency Open Access Policy on Publications (2015)]] <small>(Winter)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Community over Commercialization | Community over Commercialization]] <small>(Amell)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Responses to Generative AI | Responses to Generative AI]] <small>(Amell)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Generative AI and Scholarly Publishing | Generative AI and Scholarly Publishing]] <small>(Amell)</small> *[[Extensions:_Open_Scholarship_Policy_Observatory,_2021-2024/Federal Research Funding Agencies Announce Draft Guidance on the Use of Generative AI | Federal Research Funding Agencies Announce Draft Guidance on the Use of Generative AI]] <small>(Amell)</small> {{shelves|Humanities}} {{status|100%}} 335un1yag6rzb2m62o61eprvch0ve6t Math for Non-Geeks/Linear map 0 473498 4635273 4630489 2026-05-11T16:38:48Z Sascha Lill 95 3167325 adjust equation format 4635273 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} Linear maps are special maps between vector spaces that are compatible with the vector space structure. They are one of the most important concepts of linear algebra and have numerous applications in science and technology. == Motivation == === What makes linear maps special === We have learned about the structure of vector spaces and studied various properties of them. Now we want to consider not only isolated vector spaces, but also maps between them. Some of these maps fit well with the underlying vector space structure and are therefore called ''linear maps'' or ''vector space homomorphisms''. They are a generalization of linear functions ''through the origin'' in one dimension, whose graphs are ''lines'' (hence the name). It is a typical approach in algebra to study maps that preserve the structure of an algebraic object, such as a vector space. For many algebraic objects such as groups, rings or fields, one often studies the corresponding structure-preserving maps between the respective algebraic structures - group homomorphisms, ring homomorphisms and field homomorphisms. For vector spaces, the structure-preserving maps are the ''linear maps'' (= vector space homomorphisms). So let <math>V</math> and <math>W</math> be two vector spaces. When is a map <math>f : V \to W</math> structure-preserving or well compatible with the underlying vector space structures in <math>V</math> and <math>W</math>? For this, let's repeat what the vector space structure is all about: They basically allow for two operations: * Addition of vectors: two vectors can be added, similarly to how numbers are added. * Scalar multiplication: vectors with a scaling factor (which is an element of the field) can be scaled. That means: compressed, stretched or mirrored. === Compatibility with addition === Let's start with of addition of vectors: when is a function <math>f : V \to W</math> compatible with the additions <math>+_{_V}</math> and <math>+_{_W}</math> on the respective vector spaces <math>V</math> and <math>W</math>? The most natural definition is the following: {{Important|A map is compatible with the addition if a sum is preserved by the map. Meaning, if <math>v_3 = v_1 +_{_V} v_2</math> is a sum within the vector space <math>V</math>, then the images of <math>v_1</math>, <math>v_2</math> and <math>v_3</math> , which are situated in vector space <math>W</math>, also form a corresponding sum: <math>f(v_3) = f(v_1) +_{_W} f(v_2)</math>}} Thus, a map compatible with addition satisfies for all <math>v_1,v_2,v_3 \in V</math> the implication: {{Math|<math>v_3 = v_1 +_{_V} v_2 \implies f(v_3) = f(v_1) +_{_W} f(v_2)</math>}} This implication can be summarized in one equation by substituting the premise <math>v_3=v_1 +_{_V} v_2</math> into the second equation. It thus suffices to require for all <math>v_1,v_2 \in V</math> that: {{Math|<math>f(v_1 +_{_V} v_2) = f(v_1) +_{_W} f(v_2)</math>}} This equation describes the first characteristic property of the linear map, namely "being compatible with vector addition". We can visualize it well for maps <math>\R^2\to\R^2</math>. A map is compatible with addition if and only if the triangle given by the vectors <math>v_1</math>, <math>v_2</math> and <math>v_3 = v_1 +_{_V} v_2</math> is preserved under applying the map. That means, also the three vectors <math>f(v_1)</math>, <math>f(v_2)</math> and <math>f(v_3)=f(v_1 +_{_V} v_2)</math> hive to form a triangle: [[File:Compatibility of linear map with addition 1.svg|center|maps are compatible with addition, if triangles are preserved by them]] If <math>f</math> is not compatible with addition, there are vectors <math>v_1</math> and <math>v_2</math> with <math>f(v_1 +_{_V} v_2) \neq f(v_1) +_{_W} f(v_2)</math>. The triangle generated by <math>v_1</math>, <math>v_2</math> and <math>v_3 = v_1 +_{_V} v_2</math> is then not preserved, because the triangle side <math>v_1 +_{_V} v_2</math> of the initial triangle is not mapped to the triangle side <math>f(v_1) +_{_W} f(v_2)</math> in the target space: [[File:Compatibility of linear map with addition 2.svg|center|If maps are not compatible with addition, at least one triangle is not preserved by the map.]] === Compatibility with scalar multiplication === Analogously, we can naturally define that a map <math>f:V\to W</math> is compatible with scalar multiplication if and only if it is preserved by the map. So it should hold for all <math>w, v\in V</math> and for all scalars <math>\lambda \in K</math> that {{Math|<math>w = \lambda \cdot_{_V} v \implies f(w) = \lambda \cdot_{_W} f(v)</math>}} Note that <math>\lambda</math> is a scalar and not a vector, and thus is not changed by the map under consideration. In other words, it can be "pulled out of the bracket". This move is only allowed if both vector spaces have the same underlying field. Both the domain of definition <math>V</math> and the range of values <math>W</math> must be vector spaces over the same <math>K</math>. Linear maps thus preserve scalings. From <math>w = \lambda v</math> one may conclude <math>f(w) = \lambda f(v)</math>. For the case where <math>f(v)\neq0</math>, straight lines of the form <math>\{ \lambda v: \lambda \in\R\}</math> are mapped to the straight line <math>\{ \lambda f(v): \lambda \in \R\}</math>. The above implication can be summarized in an equation. For all <math>v\in V</math> and <math>\lambda \in K</math>, we require that: {{Math|<math>f(\lambda \cdot_{_V} v) = \lambda \cdot_{_W} f(v)</math>}} For maps <math>\R^2\to\R^2</math> this means that a scaled vector <math>\lambda \cdot_{_V} v</math> is mapped to the correspondingly scaled version <math>\lambda \cdot_{_W} f(w)</math> of the image vector: [[File:Compatibility of linear map with scalar multiplication 1.svg|center|Linear maps preserve scalings.]] If a map is not compatible with scalar multiplication, there is a vector <math>v</math> and a scaling factor <math>\lambda</math> such that <math>f(\lambda \cdot_{_V} v) \neq \lambda \cdot_{_W} f(w)</math>: [[File:Compatibility of linear map with scalar multiplication 2.svg|center|A map where scaling is not preserved. This is an example of a non-linear map.]] === Recap === A linear map is a special map between vector spaces that is compatible with the structure of the underlying vector spaces. In particular, this means that a linear map <math>f:V\to W</math> has the following two characteristic properties: * ''compatibility with addition:'' <math>\forall v_1,v_2\in V:\, f(v_1 +_{_V} v_2) = f(v_1) +_{_W} f(v_2)</math>. * ''compatibility with scalar multiplication:'' <math>\forall v\in V, \lambda \in K: \,f(\lambda \cdot_{_V} v) = \lambda \cdot_{_W} f(v)</math> The compatibility with addition is called ''additivity'' and the compatibility with scalar multiplication is called ''homogeneity''. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Linear map |definition= Let <math>\color{Orange} V</math> and <math>\color{Purple} W</math> [[Math_for_Non-Geeks/Vector_space|vector spaces]] over the same [[Math_for_Non-Geeks/field|field]] <math>K</math>. Let <math>{\color{Orange} +_{{}_V}} \colon {\color{Orange}V} \times {\color{Orange}V} \to {\color{Orange}V} </math> and <math>{\color{Purple} +_{{}_W}} \colon {\color{Purple}W} \times {\color{Purple}W} \to {\color{Purple}W}</math> be the respective inner [[Math for Non-Freaks: operation|operations]]. Further, let <math> {\color{Orange} \cdot_{{}_V}} \colon K \times {\color{Orange}V} \to {\color{Orange}V} </math> and <math>{\color{Purple} \cdot_{{}_W}} \colon K \times {\color{Purple} W} \to {\color{Purple} W} </math> be the scalar multiplications. Now let <math> f \colon {\color{Orange}V} \to {\color{Purple}W} </math> be a [[Math for Non-Geeks/function|map]] between these vector spaces. We call <math> f </math> a ''linear map'' from <math> {\color{Orange}V} </math> to <math> {\color{Purple}W} </math> if the following two properties are satisfied: {{#invoke:list|ordered |''' additivity: ''' For all <math>v_1, v_2 \in V</math> we have {{Math|<math>f\left(v_1 {\color{Orange} +_{{}_V} } v_2\right)=f(v_1) {\color{Purple} +_{{}_W}} f(v_2)</math>}} |''' homogeneity: ''' For all <math>v \in V</math> and <math>\lambda \in K</math> we have {{Math|<math>f(\lambda {\color{Orange} \cdot_{{}_V}} v) = \lambda {\color{Purple} \cdot_{{}_W}} f(v)</math>}} }} }} {{:Math for Non-Geeks/Template:Hinweis|If it's clear from the context, in the future we'll also just write "<math>+</math>" instead of <math>{\color{Orange} +_{{}_V} }</math> and <math>{\color{Purple} +_{{}_W}}</math>. Similarly, "<math>\cdot</math>" is often used instead of <math>{\color{Orange} \cdot_{{}_V}}</math> and <math>{\color{Purple} \cdot_{{}_W}}</math> are used. Sometimes the dot for scalar multiplication is completely omitted.}} {{:Math for Non-Geeks/Template:Hinweis|In the literature, the term ''vector space homomorphism'' or ''homomorphism'' for short is also used as a synonym for the term ''linear map''. The ancient Greek word homós stands for ''equal'', morphé stands for ''shape''. Literally translated, a ''vector space homomorphism'' is a map between vector spaces, which leaves the "shape" of the vector spaces invariant.}} == Explanation of the definition == The characteristic equations of the linear map are <math>f(v_1 + v_2) = f(v_1) + f(v_2)</math> and <math>f(\lambda \cdot v) = \lambda \cdot f(v)</math>. What do these two properties intuitively mean? According to the additivity property, it doesn't matter whether you first add <math>v_1</math> and <math>v_2</math> and then map them, or whether you first map both vectors and then add them. Both ways lead to the same result: {{Math|<math> {\color{OliveGreen} \underbrace{f( {\color{Blue}\underbrace{v_1+v_2}_{\text{addition}}} )}_{\text{mapping }}} = {\color{Blue}\underbrace{ {\color{OliveGreen}\underbrace{f(v_1)}_{\text{mapping }}} + {\color{OliveGreen}\underbrace{f(v_2)}_{\text{mapping }}} }_{\text{addition}}} </math>}} What does the homogeneity property mean? Regardless of whether you first scale <math>v</math> by <math>\lambda</math> and then map it or first map the vector and then scale it by <math>\lambda</math>, the result is the same: {{Math|<math> {\color{OliveGreen} \underbrace{f( {\color{Blue}\underbrace{\lambda\cdot v}_{\begin{array}{c} \text{scalar multiplication } \end{array}}} )}_{\begin{array}{c} \text{mapping } \end{array}}} = {\color{Blue}\underbrace{\lambda\cdot {\color{OliveGreen}\underbrace{f(v)}_{\text{mapping}}} }_{\text{scalar multiplication}}} </math>}} The characteristic properties of linear maps mean that the orders of function mapping and vector space operations do not matter. == Characterization: linear combinations are mapped to linear combinations == Besides the defining property that linear maps get along well with the underlying vector space structure, linear maps can also be characterized by the following property: {{Important|Linear maps are precisely those maps that map [[Math for Non-Geeks/Linear combinations|linear combinations]] to linear combinations}}. This is an important property because linear combinations are used to define important structures on vector spaces such as the [[Math for Non-Geeks/Linear independence|linear independence]] or having [[Math for Non-Geeks/Generators|generators]]. Also, the definition of the basis relies on the notion of linear combination. The connection to linear combinations can be seen by looking at the two characteristic equations of linear maps: {{Math|<math>\begin{align} f(v_1 + v_2) & = f(v_1) + f(v_2) \\[0.5em] f(\lambda \cdot v) & = \lambda \cdot f(v) \end{align}</math>}} We can apply the two formulas above step-by-step to a linear combination like <math>3\cdot u + 5\cdot w -2 \cdot z</math> for vectors <math>u,w</math> and <math>z</math> from <math> V</math> . This allows us to "get the linear combination out of the bracket": {{Math|<math>\begin{align} & f(3\cdot u + 5\cdot w -2 \cdot z) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } f \right.} \\[0.3em] = & f(3\cdot u) + f(5\cdot w -2 \cdot z) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } f \right.} \\[0.3em] = & f(3\cdot u) + f(5\cdot w) + f(-2 \cdot z) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & 3\cdot f(u) + 5\cdot f(w) -2 \cdot f(z) \end{align}</math>}} The linear combination <math>3\cdot u + 5\cdot w -2 \cdot z</math> is mapped by <math>f</math> to <math>3\cdot f(u) + 5\cdot f(w) -2 \cdot f(z)</math> and thus keeps its structure. The situation is similar for other linear combinations. For by the property <math>f(v_1 + v_2) = f(v_1) + f(v_2)</math> sums "can be pulled out of the bracket" and by the property <math>f(\lambda \cdot v) = \lambda \cdot f(v)</math> scalar multiplications "can be pulled out of the bracket". We thus obtain the following alternative characterization of the linear map: [[Math for Non-Geeks/Properties_of_linear_maps|linear combinations are mapped to linear combinations]]. ==Examples== === Stretch in <math>x</math>-direction === Our first example is a stretch by the factor <math>\beta</math> in <math>x</math>-direction in the plane <math>\R^2</math>. Here, every vector <math>a=(a_x, a_y)^T \in\R^2</math> is mapped to <math>f(a)=(\beta a_x, a_y)^T</math>. The following figure shows this map for <math>\beta = 2</math>. The <math>y</math>-coordinate remains the same and the <math>x</math>-coordinate is doubled: [[File:Streckung eines Vektors.gif|center|300px|stretching a vector]] Now let's see if this map is compatible with addition. So let's take two vectors <math>a</math> and <math>b</math>, sum them <math>a+b</math> and then stretch them in <math>x</math>-direction. The result is the same as if we first stretch both vectors in <math>x</math>-direction and then add them: [[File:Streckung der Summe zweier Vektoren.gif|center|300px|stretching the sum of two vectors]] This can also be shown mathematically. Our map is the function <math>f: \R^2 \to \R^2, \ f(\left(x, y)^T\right)=(\beta x, y)^T</math>. We can now check the property <math>f(a+b)=f(a)+f(b)</math>: {{Math|<math>\begin{align} f(a+b) &= f\left(\begin{pmatrix}a_x\\a_y\end{pmatrix}+\begin{pmatrix}b_x\\b_y\end{pmatrix}\right) \\[0.5em] &= f\left(\begin{pmatrix}a_x + b_x\\a_y + b_y\end{pmatrix}\right) \\[0.5em] &= \begin{pmatrix}\beta(a_x+b_x)\\a_y+b_y\end{pmatrix} \\[0.5em] &= \begin{pmatrix}\beta a_x+\beta b_x\\a_y+b_y\end{pmatrix} \\[0.5em] &= \begin{pmatrix}\beta a_x\\a_y\end{pmatrix}+\begin{pmatrix}\beta b_x\\b_y\end{pmatrix} \\[0.5em] &= f\left(\begin{pmatrix}a_x\\a_y\end{pmatrix}\right)+f\left(\begin{pmatrix}b_x\\b_y\end{pmatrix}\right) \\[0.5em] &= f(a)+f(b) \\[1em] \end{align}</math>}} Now let's check the compatibility with scalar multiplication. The following figure shows that it doesn't matter if the vector <math>a</math> is first scaled by a factor of <math>\lambda</math> and then stretched in <math>x</math>-direction or first stretched in <math>x</math>-direction and then scaled by <math>\lambda</math>: [[File:Streckung homogenitaet Version 3.gif|center|300px|stretching and scaling a vector]] This can also be shown formally: For <math>a\in\R^2</math> and <math>\lambda \in\R</math> we have that {{Math|<math>\begin{align} f(\lambda a) &= f\left(\lambda \begin{pmatrix}a_x\\a_y\end{pmatrix} \right) = f\left(\begin{pmatrix}\lambda a_x\\\lambda a_y\end{pmatrix}\right) \\[0.5em] &= \begin{pmatrix} \beta (\lambda a_x)\\\lambda a_y\end{pmatrix} = \begin{pmatrix} \lambda\beta a_x\\\lambda a_y\end{pmatrix}\\[0.5em] &=\lambda \begin{pmatrix}\beta a_x\\a_y\end{pmatrix} = \lambda f\left(\begin{pmatrix}a_x\\a_y\end{pmatrix}\right)\\[0.5em] &= \lambda f(a). \end{align}</math>}} So our <math>f</math> is a linear map. ===Rotations=== In the following, we consider a rotation <math>D_\alpha</math> of the plane by the angle <math>\alpha</math> (measured counter-clockwise) with the origin as center of rotation. Thus, it is a map <math>D_\alpha:\R^2\to\R^2</math> that assigns to every vector <math>v\in\R^2</math> the vector <math>\alpha</math> rotated by the angle <math>D_\alpha(v)\in\R^2</math>: [[File:Mfnf-linear-rotation.webm|frame|none|thumbtime=4|start=0|end=4|Rotating a vector <math>v\in\R^2</math> by the angle <math>\alpha</math>]] Let us now convince ourselves that <math>D_\alpha</math> is indeed a linear map. To do this, we need to show that: # <math>D_\alpha</math> is additive: for all <math>v,w\in\R^2</math>, we have <math>D_\alpha(v+w)=D_\alpha(v)+D_\alpha(w)</math>. # <math>D_\alpha</math> is homogeneous: For all <math>v\lambda\in\R^2</math> and <math>\lambda\in\R</math> we have <math>D_\alpha(\lambda\cdot v)=\lambda\cdot D_\alpha(v)</math>. First, we check additivity, that is, the equation <math>D_\alpha(v+w)=D_\alpha(v)+D_\alpha(w)</math>. If we add two vectors <math>v,w\in\R^2</math> and then rotate their sum <math>v+w</math> by the angle <math>\alpha</math>, the same vector should come out, as if we first rotate the vectors by the angle <math>\alpha</math> and then add the rotated vectors <math>D_\alpha(v)</math> and <math>D_\alpha(w)</math>. This can be visualized by the following two videos: <gallery widths="428" heights="428"> File:Mfnf-linear-summe.webm|thumbtime=4|start=0|end=4|Rotate first, then add File:Mfnf-linear-summe2.webm|thumbtime=4|start=0|end=4|Add first, then rotate </gallery> Now we come to homogeneity: <math>D_\alpha(\lambda\cdot v)=\lambda\cdot D_\alpha(v)</math>. If we first stretch a vector <math>v\lambda\in\R^2</math> by a factor <math>\lambda\in\R</math> and then rotate the result <math>\lambda\cdot v</math> by the angle <math>\alpha</math>, we should get the same vector as if we first rotate the by an angle <math>\alpha</math> and then scale the result <math>D_\alpha(v)</math> by the factor <math>\lambda</math>. This is again visualized by two videos: <gallery widths="428" heights="428"> File:Mfnf-linear-skalar.webm|thumbtime=4|start=0|end=4|Rotate first, then scale File:Mfnf-linear-skalar2.webm|thumbtime=4|start=0|end=4|Scale first, then rotate </gallery> Thus, rotations in <math>\R^2</math> are indeed linear maps. === Linear maps between vector spaces of different dimension === An example of a linear map between two vector spaces with different dimensions is the following projection of the space <math>\R^3</math> onto the plane <math>\R^2</math>: {{Math|<math>f\colon \R^3 \to \R^2; \quad \begin{pmatrix}x\\y\\z \end{pmatrix} \mapsto \begin{pmatrix}x\\y \end{pmatrix}</math>}} We now check whether the vector addition is preserved. That means, for vectors <math>a,b\in\R^3</math> we need that {{Math|<math>f(a+b)=f(a)+f(b)</math>}} This can be verified directly: {{Math|<math>\begin{align} f(a+b)&= f\left( \begin{pmatrix}a_x\\a_y\\a_z \end{pmatrix} + \begin{pmatrix}b_x\\b_y\\b_z \end{pmatrix}\right)= f\left( \begin{pmatrix}a_x +b_x\\a_y+b_y\\a_z+b_z \end{pmatrix}\right) \\[0.5em] & = \begin{pmatrix}a_x + b_x\\a_y +b_y \end{pmatrix} = \begin{pmatrix}a_x\\a_y \end{pmatrix} + \begin{pmatrix}b_x\\b_y \end{pmatrix} \\[0.5em] & = f\left( \begin{pmatrix}a_x\\a_y\\a_z \end{pmatrix}\right) + f\left( \begin{pmatrix}b_x\\b_y\\b_z \end{pmatrix}\right)=f(a)+f(b). \end{align}</math>}} Now we check homogeneity. For all <math>\lambda \in \R</math> and <math>a\in\R^2</math> we need: {{Math|<math>f(\lambda\cdot a)=\lambda\cdot f(a).</math>}} We have that {{Math|<math>\begin{align} f(\lambda \cdot a)&= f\left(\lambda \cdot \begin{pmatrix}a_x\\a_y\\a_z \end{pmatrix}\right) = f\left(\begin{pmatrix}\lambda a_x\\\lambda a_y\\\lambda a_z \end{pmatrix}\right ) \\[0.5em] &= \begin{pmatrix}\lambda a_x\\ \lambda a_y \end{pmatrix} = \lambda \cdot \begin{pmatrix} a_x\\ a_y \end{pmatrix} = \lambda \cdot f\left(\begin{pmatrix}a_x\\a_y\\a_z \end{pmatrix}\right )\\[0.5em] &=\lambda\cdot f(a). \end{align}</math>}} So the projection <math>f</math> is a linear map. === A non-linear map === Next, we investigate some examples for ''non''-linear maps. It is easy to come up with such maps: basically any function on <math>\R</math> whose graph is not a line is a ''non-linear map''. So "most maps are non-linear". Of course, there are also examples for non-linear maps on <math>\R^2</math>. For instance, consider the norm mapping on the plane which assigns the length to every vector: {{Math|<math>\|\cdot\|_2 \,\colon\, \R^2 \to \R ;\quad \begin{pmatrix}x\\y \end{pmatrix} \mapsto \sqrt{x^2 + y^2}</math>}} This map is not a linear map, because it does not preserve either vector addition or scalar multiplication. We show this by a counterexample: Consider the two vectors <math>(1,0)^T</math> and <math>(0,1)^T\in\R^2</math>. If we add the vectors first and map them (determine their length) afterwards, we get {{Math|<math>\left\|\begin{pmatrix}1\\0 \end{pmatrix} + \begin{pmatrix}0\\1 \end{pmatrix}\right\|_2 = \left\| \begin{pmatrix}1\\1\end{pmatrix}\right\|_2 = \sqrt{1^2 + 1^2} = \sqrt{2}.</math>}} Now we determine the lengths of the vectors first and then add the results: {{Math|<math>\left\|\begin{pmatrix}1\\0 \end{pmatrix}\right\|_2 + \left\|\begin{pmatrix}0\\1 \end{pmatrix}\right\|_2 = \sqrt{1^2 + 0^2} + \sqrt{0^2 + 1^2} = \sqrt{1} + \sqrt{1} = 2</math>}} Thus, we have that {{Math|<math>\left\|\begin{pmatrix}1\\0 \end{pmatrix} + \begin{pmatrix}0\\1 \end{pmatrix}\right\|_2 \neq \left\|\begin{pmatrix}1\\0 \end{pmatrix}\right\|_2 + \left\|\begin{pmatrix}0\\1 \end{pmatrix}\right\|_2</math>}} This shows that the norm mapping is not additive. Finding a contradiction to one property (either additivity or homogeneity) already proves that the normal mapping is not linear. Alternatively, we could have shown that the norm mapping is not homogeneous: {{Math|<math> \left\|(-1) \cdot \begin{pmatrix}1\\0 \end{pmatrix}\right\|_2 = \left\|\begin{pmatrix}-1\\0 \end{pmatrix}\right\|_2 = \sqrt{(-1)^2 + 0^2} = 1 \neq -1 = (-1) \cdot \left\|\begin{pmatrix}1\\0 \end{pmatrix}\right\|_2 .</math>}} === Applied examples === Linear maps are used in almost all technological fields. Here is just a very tiny collection of some examples: # In order to make predictions or control machines, complicated functions are often approximated by linear ones (regression). Mainly because linear maps are easy to handle. # The best known case where linear maps make our lives easier are computer graphics. Any scaling of a photo or graphic is a linear map. Even different screen resolutions ended up being linear maps. # Search engines use page ranks of a website to sort their search results. Our "Serlo-page", also gets a ranking this way. To determine the page rank, a so-called Markov chain is used, which is a somewhat more sophisticated linear map. == Linear maps preserve structure == {{:Math for Non-Geeks/Template:Hauptartikel|Properties of linear maps}} {{#lst:Math for Non-Geeks/Properties of linear maps|Overview}} ==Relation to linear functions and affine maps== Linear functions in one dimension take the form <math>f(x)= mx + t</math> with <math>m,t \in \R</math>. They are only linear maps in some cases, namely for <math>t = 0</math>. As an example, for <math>m = 1</math> and <math>t = 2</math>: {{Math|<math>f(x+y)= x + y + 2 \neq x + y + 2 + 2 = f(x) + f(y)</math>}} Maps are in fact linear, if and only if <math>t = 0</math>, i.e., the map takes the form <math>f(x)= mx</math> with <math>m \in \R</math>. The functions of the form <math>f(x)= m x + t</math> are called '''affine-linear maps''' or simply '''affine maps''': They are the sum of a linear map and a constant translational term <math>t</math>. Every linear map is affine-linear, but not the other way round! However, affine maps still map straight lines to straight lines and preserve parallel lines and ratios of distances. We can always decompose an affine map <math>x \mapsto A(x)</math> into a linear map <math>x \mapsto L(x)</math> and a translation <math>x \mapsto x + t</math>. We have that also <math>A(x) = L(x) + t</math>. Because the translations <math>x \mapsto x + t</math> are easy to describe, the linear part is usually more interesting. In the theory we therefore only look at the linear part. == Exercises == === The identity is a linear map === <section begin=aufgabe_identität_linear /> {{:Math for Non-Geeks/Template:Aufgabe |titel=The identity is a linear map |aufgabe= Let <math>V</math> be a <math>K</math>-vector space. Prove that the identity <math>\operatorname{id}: V\to V</math> with <math>\operatorname{id}(v) = v</math> is a linear map. |beweis= The identity is additive: Let <math>v,w\in V</math>, then. {{Math|<math>\operatorname{id}(v + w) = v + w = \operatorname{id}(v) + \operatorname{id}(w)</math>}} The identity is homogeneous: Let <math>\lambda\in K</math> and <math>v\in V</math>, then {{Math|<math>\operatorname{id}(\lambda \cdot v) = \lambda \cdot v = \lambda \cdot \operatorname{id}(v)</math>}} }} <section end=aufgabe_identität_linear /> === The map to zero is a linear map === <section begin=aufgabe_nullabbildung_linear /> {{:Math for Non-Geeks/Template:Aufgabe |titel=The map to zero is a linear map |aufgabe= Let <math>V,W</math> be two <math>K</math>-vector spaces. Show that the map to zero <math>f:V\to W</math>, which maps all vectors <math>v\in V</math> to the zero vector <math>0_{{}_W}</math>, is linear. |beweis= <math>f</math> is additive: let <math>v_1,v_2</math> be vectors in <math>V</math>. Then {{Math|<math>f(v_1+v_2) = 0_{{}_W} = 0_{{}_W} + 0_{{}_W} = f(v_1) + f(v_2)</math>}} <math>f</math> is homogeneous: Let <math>v\in V</math> and let <math>\lambda\in K</math>. Then {{Math|<math>f(\lambda \cdot v) = 0_{{}_W}=\lambda\cdot 0_{{}_W}=\lambda\cdot f(v) </math>}} Thus, the map to zero is linear}} <section end=aufgabe_nullabbildung_linear /> === Linear maps on the real numbers === {{:Math for Non-Geeks/Template:Aufgabe |titel=Linear maps on the real numbers |aufgabe= Let <math>g: \R \to \R,\, x \mapsto m \cdot x+t</math> with <math>m, t \in \R</math>. Show that <math>g</math> is a linear map, if and only if <math>t=0</math>. |lösung= Let first <math>g</math> be a linear map. Since linear maps map the origin to the origin, <math>g(0)=0</math> must hold. Now <math>g(0)=t</math> and so <math>t=0</math> must hold. Let now <math>t=0</math>. We show that <math>g: \R \to \R, x \mapsto m \cdot x</math> is linear: {{:Math for Non-Geeks/Template:Beweisschritt |ziel=additivity |beweisschritt= Let <math>x</math> and <math>y</math> be any two real numbers. We have that {{Math|<math>\begin{align} & g(x+y) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{definition of } g \right.} \\[0.3em] = & m \cdot (x+y) \\[0.3em] = & m \cdot x + m \cdot y \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{definition of } g \right.} \\[0.3em] = & g(x) + g(y) \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=homogeneity |beweisschritt= Let <math>x</math> and <math>\lambda</math> be two real numbers. We have that {{Math|<math>\begin{align} & g(\lambda \cdot x) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{definition of } g \right.} \\[0.3em] = & m \cdot (\lambda \cdot x) \\[0.3em] = & m\cdot \lambda\cdot x \\[0.3em] = & \lambda \cdot (m \cdot x) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{definition of } g \right.} \\[0.3em] = & \lambda \cdot g(x) \end{align}</math>}} }} So <math>g</math> is a linear map, if and only if <math>t=0</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} aj97jgtvltiuqjqwo95fskwb6bzqy1u Math for Non-Geeks/Properties of linear maps 0 473499 4635274 4630490 2026-05-11T16:40:44Z Sascha Lill 95 3167325 adjust equation format 4635274 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} We consider some properties of linear maps between vector spaces. == Overview == <section begin="Overview"/>A linear map, also called vector space homomorphism, preserves the structure of the vector space. This is shown in the following properties of a linear mapping <math>f:V\to W</math>: * The zero vector is mapped to the zero vector: <math>f(0)=0</math>. * Inverses are mapped to inverses: <math>f(-v)=-f(v)</math>. * Linear combinations are mapped to linear combinations. * Compositions of linear maps are again linear * Images of subspaces are subspaces * The image of a span is the span of the individual image vectors: <math>f(\operatorname{span}(M)) = \operatorname{span}(f(M))</math> (<math>M\subseteq V</math> is supposed to be an arbitrary set)<section end="Overview"/> == Zero vector is mapped to the zero vector == The zero vector / origin has a central meaning in our view of vector spaces. And indeed, the origin is sent to the origin by any linear map. Mathematically, "origin" means the neutral element <math>0</math> of addition. And the <math>0 \to 0</math>-property can be shown as a mathematical theorem: {{:Math for Non-Geeks/Template:Satz |titel=Zero vector is mapped to the zero vector |satz= Any linear map <math>f:V\to W</math> between two <math>K</math>-vector spaces maps the neutral element of <math>V</math> to the neutral element in <math>W</math>. Formally, this means <math>f(0_V)=0_W</math>. |lösungsweg= We first start with the vector <math>0_V</math>, which is the neutral element of addition of the vector space <math>V</math>. Thus, it does not change a vector to which it is added. Therefore, we have that in particular <math>0_V +_V 0_V = 0_V</math>. We need the [[Math for Non-Geeks/Linear map|additivity]] of a linear map. Thus, <math>f(0_V+0_V)=f(0_V)+f(0_V)</math> follows. Using these two properties, we get <math>f(0_V)=f(0_V)+f(0_V)</math>. This equation is satisfied only of <math>0_W</math>. We can subtract <math>f(0_V)</math> on both sides and get <math>f(0_V)=0_W</math>. |beweis= We have that {{Math|<math>\begin{align} & f(0_V) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ 0_V = 0_V +_{{}_V} 0_V \right.} \\[0.3em] = & f(0_V +_{{}_V} 0_V) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{additivity of } f \right.} \\[0.3em] = & f(0_V) +_{{}_W} f(0_V). \\[0.3em] \end{align} </math>}} So we have that {{Math|<math>f(0_V) = f(0_V) +_{{}_W} f(0_V). </math>}} Now, let us add <math>-f(0_V)</math> on both sides: {{Math|<math>\begin{align} 0_W=&f(0_V)+_{{}_W}(-f(0_V))\\[0.3em] =&f(0_V) +_{{}_W} f(0_V)+_{{}_W}(-f(0_V))\\[0.3em] =&f(0_V)+_{{}_W}0_W\\[0.3em] =&f(0_V). \end{align}</math>}} Hence, we have that <math>0_W = f(0_V)</math>. }} == Inverses are mapped to inverses == Another important structure of vector space is that there is an additive inverse <math> -v </math> to every element <math> v </math>. We now want to show that inverses are preserved by linear maps. {{:Math for Non-Geeks/Template:Satz |titel= Inverses are mapped to inverses |lösungsweg= Our goal is to show that <math>f(-v)=-f(v)</math>. We already know that in a vector space <math>V</math> the inverse of any vector <math>v</math> is given by <math>(-1)\cdot_{{}_V}v</math>. Likewise, we have that for any vector <math>w\in W</math> that <math>-w = (-1) \cdot_{{}_W} w</math>. This simplifies the statement to be shown to <math>f((-1)\cdot_{{}_V}v)=(-1)\cdot_{{}_W}f(v)</math>. We can transform the expression <math>f((-1)\cdot_{{}_V}v)</math> into <math>(-1)\cdot_{{}_W}f(v)</math> using the homogeneity of the linear map <math>f</math>. |satz= Each linear map sends the inverse of an element to the inverse of the image of the element. Or within one formula, for all <math>v</math> in <math>V</math> we have that <math>f(-v)=-f(v)</math>. |beweis= Let <math>v</math> be any element of the vector space <math>V</math>. {{Math|<math>\begin{align} & f(-v) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ -v = (-1) \cdot_{{}_V} v \right.} \\[0.3em] = & f((-1) \cdot_{{}_V} v) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & (-1) \cdot_{{}_W} f(v)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ (-1) \cdot_{{}_W} f(v) = -f(v) \right.} \\[0.3em] = & -f(v) \end{align}</math>}} Thus, we have that indeed <math>f(-v) = -f(v)</math>. Above, we have used that <math>-v = (-1) \cdot_{{}_V} v</math> for <math>v\in V</math> and <math>-w = (-1) \cdot_{{}_W} w</math> for all <math>w\in W</math>. This holds in every vector space. You can find the proof [[Math for Non-Geeks/Vector space|here (link missing)]]. |beweis2= Let <math>v</math> again be any element of the vector space <math>V</math>. Our goal is to show that <math>-f(v) = f(-v)</math> holds. Let's start with a statement that we know is true: <math>f(v) + (-f(v)) = 0_V</math>. The addition of an element with its inverse always gives <math>0</math>. So we have that <math>f(v) + (-f(v)) = 0_V</math> . Now, we show that also <math>f(v) + f(-v) = 0_W</math> holds. Since we are working with maps, we should use their properties. For instance, additivity: {{Math|<math>\begin{align} & f(v) +_{{}_W} f(-v) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{additivity of } f \right.} \\[0.3em] = & f(v +_{{}_V} (-v)) \\[0.3em] = & f(0_V) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{previous theorem}\right.} \\[0.3em] = & 0_W \end{align}</math>}} Thus, <math>f(v) +_{{}_W} f(-v) = 0_W</math>. It follows that <math>f(-v)</math> is the additive inverse of <math>f(v)</math> with respect to <math>+_{{}_W}</math>. Or, in other words, <math>f(-v) = -f(v)</math>. }} The statement of this theorem also holds in any Abelian group. However, scalar multiplication does not exist there. Hence, the alternative (2nd) version of the proof must be used in this case. == Linear combinations are mapped to linear combinations == Linear mappings preserve the structure of a linear combination and thus map linear combinations in the domain of definition to their corresponding linear combinations in the range of values: <section begin=linear combinations werden auf linear combinations abgebildet /> {{:Math for Non-Geeks/Template:Satz |titel= Linear combinations are mapped to linear combinations |satz= A map <math>f:V\to W</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math> is a linear map if and only if it preserves linear combinations. That is, every linear map sends the linear combination of elements to the linear combination of the images of the elements. Put in a formula, this means that for finitely many <math>v_1,\dots,v_n \in V</math> and <math>\lambda_1,\dots,\lambda_n \in K</math> we have that: {{Math|<math>f \left( \sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)</math>}} |lösungsweg= We want to show that for all <math>v_i \in V</math> and <math>\lambda_i \in K</math> we have that: <math>f\bigg(\sum_{i=1}^{n}\lambda_{i}\cdot_{V}v_{i}\bigg) = \sum_{i=1}^{n}\lambda_{i} \cdot_{W}f(v_{i}) \iff f</math> is a linear map. We know from the definition of the linear map that additivity and homogeneity hold, and we make use of them. For the direction "left to right" within the proof we choose two linear combinations in such a way that we get the two properties by inserting them into the above formula. For the "right to left" direction we know that <math>f</math> is a linear map. We can show by induction that above formula holds true for all elements. This way, we reduce the linear combination to single addition and scalar multiplication, to which we can apply additivity and homogeneity. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\left(\forall v_1,\dots,v_n \in V\,\forall\lambda_1,\dots,\lambda_n \in K:\,f\left(\sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)\right)\implies f</math> is a linear map. |beweisschritt= Let <math>v,v_1,v_2 \in V</math> and <math>\lambda \in K</math>. The terms <math>v_1+v_2</math> and <math>\lambda \cdot v</math> are two linear combinations in <math>V</math>. If we plug them into the formula <math display="inline">f \left( \sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)</math> , we obtain {{Math|<math>\begin{align} f(v_1 + v_2) & = f(v_1) + f(v_2) \\[0.5em] f(\lambda \cdot v) & = \lambda \cdot f(w) \end{align}</math>}} So <math>f</math> is by definition a linear map. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel= <math>f</math> is a linear map <math>\implies \left(\forall v_1,\dots,v_n \in V\,\forall\lambda_1,\dots,\lambda_n \in K:\,f\left(\sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)\right)</math>. |beweisschritt= Let <math>f</math> be a linear map. We prove this equation by induction in <math>n</math>: {{:Math for Non-Geeks/Template:Vollständige Induktion |erfuellungsmenge=<math>n\in\N</math> |aussageform= {{Math|<math>\forall v_1,\dots,v_n \in V\,\forall\lambda_1,\dots,\lambda_n \in K:\,f \left( \sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)</math>}} |induktionsanfang= We start with the induction with <math>n=1</math> and find that the property of homogeneity is sufficient: {{Math|<math>\begin{align} & f \left( \lambda_1 \cdot_{{}_V} v_1 \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & \lambda_1 \cdot_{{}_W} f \left( v_1 \right) \end{align} </math>}} |induktionsvoraussetzung= {{Math|<math>\forall v_1,\dots,v_n \in V\,\forall\lambda_1,\dots,\lambda_n \in K:\,f \left( \sum_{i=1}^n \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^n \lambda_i \cdot_{{}_W} f \left( v_i \right)</math>}} |induktionsbehauptung= {{Math|<math>\forall v_1,\dots,v_n,v_{n+1} \in V\,\forall\lambda_1,\dots,\lambda_n,\lambda_{n+1} \in K:\,f \left( \sum_{i=1}^{n+1} \lambda_i \cdot_{{}_V} v_i \right) =\sum_{i=1}^{n+1} \lambda_i \cdot_{{}_W} f \left( v_i \right)</math>}} |beweis_induktionsschritt= Let <math>v_1,\dots,v_{n+1} \in V</math> and <math>\lambda_1,\dots,\lambda_{n+1} \in K</math>. Then {{Math|<math>\begin{align} & f \left( \sum_{i=1}^{n+1} \lambda_i \cdot_{{}_V} v_i \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{split the sum} \right.} \\[0.3em] = & f \left( \left( \sum_{i=1}^{n} \lambda_i \cdot_{{}_V} v_i \right) +_{{}_V} \left( \lambda_{n+1} \cdot_{{}_V} v_{n+1} \right) \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{additivity of } f \right.} \\[0.3em] = & f \left( \sum_{i=1}^{n} \lambda_i \cdot_{{}_V} v_i \right) +_{{}_W} f\left( \lambda_{n+1} \cdot_{{}_V} v_{n+1} \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & f \left( \sum_{i=1}^{n} \lambda_i \cdot_{{}_V} v_i \right) +_{{}_W} \left( \lambda_{n+1} \cdot_{{}_W} f\left( v_{n+1} \right) \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{induction assumption} \right.} \\[0.3em] = & \left( \sum_{i=1}^{n} \lambda_i \cdot_{{}_W} f \left( v_i \right) \right) +_{{}_W} \left( \lambda_{n+1} \cdot_{{}_W} f\left( v_{n+1} \right) \right) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{join the sum} \right.} \\[0.3em] = & \sum_{i=1}^{n+1} \lambda_i \cdot_{{}_W} f \left( v_i \right) \end{align}</math>}} }}}}}} <section end=linear combinations werden auf linear combinations abgebildet /> == Compositions of linear maps are again linear == Let us take two linear maps <math>f:V_1 \to V_2</math> and <math>g:V_2 \to V_3</math>. Both are compatible with the vector space structure and preserve linear combinations. This preservation should also hold for the consecutive execution of both maps <math>g\circ f: V_1 \to V_3</math> with <math>(g\circ f)(v) = g(f(v))</math>. This is mathematically established by the following theorem: {{:Math for Non-Geeks/Template:Satz |titel=Composition of linear maps |satz= Let <math>f:V_1 \to V_2</math> and <math>g:V_2 \to V_3</math> be two linear maps between the <math>K</math>-vector spaces <math>V_1</math>, <math>V_2</math> and <math>V_3</math>. Then the composition <math>g\circ f: V_1 \to V_3</math> of these two maps with <math>(g\circ f)(v) = g(f(v))</math> for <math>v\in V_1</math> is also a linear map. |lösungsweg= We know that the [[Math for Non-Geeks/Function#Anchor:Composition|composition (missing)]] of two maps is again a well-defined map. So we just need to show that <math>g\circ f</math> is linear. To do this, we need to prove that <math>(g\circ f)</math> satisfies [[Math for Non-Geeks/Linear map|additivity and homogeneity]]. *For all <math>v_1,\,v_2\in V_1</math> we have that <math>(g\circ f)(v_1 + v_2)=(g\circ f)(v_1)+(g\circ f)(v_2)</math> and *For all <math>\lambda \in K</math> and <math>v\in V</math> we have that <math>(g\circ f)(\lambda \cdot v)</math>. To prove this, we exploit the additivity and homogeneity of the individual maps <math>f</math> and <math>g</math>. |beweis= Let first <math>v_1, v_2 \in V_1</math> be any two vectors. We have that {{Math|<math>\begin{align} & (g\circ f)(v_1 + v_2) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } g\circ f\right.} \\[0.3em] = & g(f(v_1 + v_2)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } f\right.} \\[0.3em] = & g(f(v_1) + (v_2)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } g\right.} \\[0.3em] = & g(f(v_1)) + g(f(v_2)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } g\circ f \right.} \\[0.3em] & (g\circ f)(v_1) + (g\circ f)(v_2) \end{align}</math>}} For the proof of homogeneity we choose any <math>\lambda\in K</math> and any <math>v\in V_1</math>: {{Math|<math>\begin{align} & (g\circ f)(\lambda \cdot v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } g\circ f\right.} \\[0.3em] = & g(f(\lambda \cdot v)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{homogeneity of } f\right.} \\[0.3em] = & g(\lambda \cdot f(v)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{homogeneity of } g\right.} \\[0.3em] = & \lambda \cdot g(f(v)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } g\circ f \right.} \\[0.3em] & \lambda \cdot (g\circ f)(v) \end{align}</math>}} }} == Subspaces are mapped to subspaces == That linear maps preserve the vector space structure can also be seen in the following property: The images of subspaces of a linear map are again subspaces. {{:Math for Non-Geeks/Template:Satz |titel=Subspaces are mapped to subspaces |satz= Let <math>f:V\to W</math> be a linear map between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. Then the image <math>f(U)=\{f(v): v\in U\}</math> of every subspace <math>U\subseteq V</math> is again a subspace of <math>W</math>. |beweis= Let <math>U</math> be a subspace of <math>V</math>. The image <math>f(U)=\{f(v): v\in U\}</math> is the set of all function values of arguments from <math>U</math> and thus a subset of the range of values <math>W</math>. To show that <math>f(U)</math> is a subspace, the following criteria must be shown: # <math>f(U) \neq \emptyset</math> # For all <math>w_1, w_2 \in f(U)</math> we have that <math>w_1 + w_2 \in f(U)</math>. # For all <math>w \in f(U)</math> and for all <math>\lambda \in K</math> we have that <math>\lambda \cdot w \in f(U)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f(U) \neq \emptyset</math> |beweisschritt= Since <math>U</math> is a subspace of <math>V</math> we have <math>0_V\in U</math>. With <math>f(0_V)</math> , we have at least one element in <math>f(U)</math> and so <math>f(U)\neq \emptyset</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=For all <math>w_1, w_2 \in f(U)</math> we have that <math>w_1 + w_2 \in f(U)</math> |beweisschritt= Let us take any two vectors <math>w_1, w_2 \in f(U)</math>. Because these vectors lie in the image, there are at least two vectors <math>v_1, v_2\in U</math> with <math>f(v_1)=w_1</math> and <math>f(v_2) = w_2</math>. Now {{Math|<math>w_1 + w_2 = f(v_1) + f(v_2) = f(v_1 + v_2)</math>}} Thus <math>w_1+w_2</math> is the image of <math>v_1 + v_2</math> (the vector <math>v_1 + v_2</math> is mapped to <math>w_1+w_2</math>). Because <math>U</math> is a subspace of <math>V</math>, we have that <math>v_1+v_2 \in U</math> and thus <math>w_1+w_2</math> lies in <math>f(U)</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=For all <math>w \in f(U)</math> and for all <math>\lambda \in K</math> we have that <math>\lambda \cdot w \in f(U)</math> |beweisschritt= Let <math>\lambda \in K</math> and <math>w \in f(U)</math>. Since <math>w</math> lies within the image of <math>U</math> , we can find a <math>v\in V</math> with <math>f(v)=w</math>. Now {{Math|<math>\lambda \cdot w = \lambda \cdot f(v) = f(\lambda \cdot v)</math>}} Thus <math>\lambda \cdot w</math> is the image of <math>\lambda \cdot v</math> (the vector <math>\lambda \cdot v</math> is mapped to <math>\lambda \cdot w</math>). Because <math>U</math> is a subspace of <math>V</math>, we have that <math>\lambda \cdot v \in U</math> and thus <math>\lambda \cdot w</math> lies in <math>f(U)</math>.}} }} {{:Math for Non-Geeks/Template:Hinweis|The above theorem also proves that '''the image <math>f(V)</math> of a linear map <math>f:V\to W</math> is always a vector space'''. This follows from the fact that the vector space <math>V</math> is also a subspace of itself. According to the theorem above <math>f(V) = \{ f(v) : v\in V\}</math> is a subspace of <math>W</math>.}} == Spans are mapped to spans == Now suppose we have a subset <math>M \subseteq V</math>. For this subset, it does not matter whether we first calculate the span and then apply the map or vice versa. This is content of the following theorem: {{:Math for Non-Geeks/Template:Satz |titel=Spans are mapped to spans |satz=Let <math>M \subseteq V</math> be any subset (not necessarily a subspace!) of the vector space <math>V</math>. Then we have that for the span of <math>M</math>: {{Math|<math>\operatorname{span}(f(M)) = f(\operatorname{span}(M))</math>}} |lösungsweg= Since we want to show the equality of two sets, we must show that the sets are contained in the other. Once we have shown this, it follows that the two sets are equal. To show that <math>f(\operatorname{span}(M)) \subseteq \operatorname{span}(f(M))</math>, we first choose an arbitrary vector <math>v \in \operatorname{span}(M)</math>. Because this is in the span, it can be written as a linear combination of elements from the set <math>M</math>: {{Math|<math>\begin{align} & v = \lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n \\[0.3em] \end{align} </math>}} where <math>\lambda_1, \ldots, \lambda_n \in K</math>. We then apply the linear map to both <math>v</math> and the linear combination of elements from <math>M</math>. This yields the following expression: {{Math|<math>\begin{align} & f(v) = f(\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n) \\[0.3em] \end{align} </math>}} Then, using the properties of linear maps, we reshape the expression: {{Math|<math>\begin{align} & f(v)=\lambda_1 \cdot f(m_1) + \cdots + \lambda_n \cdot f(m_n) \\[0.3em] \end{align} </math>}} Since the right-hand side is contained in <math>\operatorname{span}(f(M))</math>, we have that <math>f(v)\in\operatorname{span}(f(M))</math>. Similarly, we show that <math>\operatorname{span}(f(M)) \subseteq f(\operatorname{span}(M))</math> . Now we need to prove that for any <math>w\in\operatorname{span}(f(M))</math> there exists a vector <math>v\in \operatorname{span}(M)</math> with <math>f(v)=w</math>. We know {{Math|<math> w=\lambda_1 \cdot f(m_1) + \cdots + \lambda_n \cdot f(m_n)</math>}} with <math>\lambda_1, \ldots, \lambda_n \in K</math>. Using the linearity of <math>f</math>, we can transform the expression to: {{Math|<math> w = f(\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n) </math>}} But the right-hand side is in <math>f(\operatorname{span}(M))</math> and thus we have that the same holds for <math>w</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f(\operatorname{span}(M)) \subseteq \operatorname{span}(f(M))</math> |beweisschritt= We first take any vector <math>v \in \operatorname{span}(M)</math>, for which we have that: <math>f(v) = w \in W</math>. Since we know that the vector is in the span of <math>M</math>, there are coefficients <math>\lambda_1, \cdots , \lambda_n \in K</math> and vectors <math>m_1, \cdots , m_n \in M</math>, such that: {{Math|<math>\begin{align} & v=\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n \\[0.3em] \end{align} </math>}} If we now apply our linear map to this expression, we get: {{Math|<math>\begin{align} & f(v)=f(\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n) \\[0.3em] \end{align} </math>}} We now further transform the right-hand side of this expression using the properties of linear maps: {{Math|<math>\begin{align} & f(\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } f\right.} \\[0.3em] = & f(\lambda_1 \cdot m_1) + \cdots + f(\lambda_n \cdot m_n) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & \lambda_1 \cdot f(m_1) + \cdots + \lambda_n \cdot f(m_n) \\[0.3em] \end{align} </math>}} On the right-hand side we now have <math>\operatorname{span}(f(M))</math>. So we have shown that <math>w \in \operatorname{span}(f(M))</math> and thus <math>f(\operatorname{span}(M)) \subseteq \operatorname{span}(f(M))</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\operatorname{span}(f(M)) \subseteq f(\operatorname{span}(M))</math> |beweisschritt= We again choose an arbitrary vector <math>w \in \operatorname{span}(f(M))</math>. Since it is in the span of the map, we can write it as: {{Math|<math>\begin{align} & w= \lambda_1 \cdot f(m_1) + \cdots + \lambda_n \cdot f(m_n) \\[0.3em] \end{align} </math>}} We can now start transforming the expression in the same way as in the previous proof step: {{Math|<math>\begin{align} w=& \lambda_1 \cdot f(m_1) + \cdots + \lambda_n \cdot f(m_n) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{homogeneity of } f \right.} \\[0.3em] = & f(\lambda_1 \cdot m_1) + \cdots + f(\lambda_n \cdot m_n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of } f\right.} \\[0.3em] = & f(\lambda_1 \cdot m_1 + \cdots + \lambda_n \cdot m_n) \\[0.3em] \end{align} </math>}} On the right-hand side there is now a vector in <math>f(\operatorname{span}(M))</math>. We have thus shown that <math>w \in f(\operatorname{span}(M))</math> holds. Moreover, we have shown the equality of the sets <math>f(\operatorname{span}(M))</math> and <math>\operatorname{span}(f(M))</math>, as both are contained within each other. }} }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} p09fn83e28slidb27vyf4yqsuxbdjt7 Math for Non-Geeks/Linear continuation 0 473500 4635278 4630491 2026-05-11T16:44:51Z Sascha Lill 95 3167325 adjust equation format 4635278 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} The principle of linear continuation states that every linear map is exactly determined by the images of the basis vectors. It provides an alternative way to characterize a linear map. ==Motivation== So far, we have mostly specified linear maps by saying where each vector of a vector space <math>V</math> is mapped. Those are a lot of vectors, e.g. infinitely many for <math>V=\R^n</math>. Is there a way to specify the map with fewer vectors? Perhaps '''finitely many''' ones? For every vector <math>v\in V</math> of our starting vector space we have to provide the information to which vector of the target vector space it should be mapped. Every such vector can be represented within a basis: If <math>V</math> is a <math>K</math>-vector space with basis <math>\{b_1, \dots, b_n\}</math> and <math>v\in V</math>, then there are unique coefficients <math>\lambda_1, \dots, \lambda_n\in K</math> such that <math>v=\sum_{i=1}^n \lambda_i b_i</math> holds. Now, consider a linear map <math>f:V\to W</math> into another <math>K</math>-vector space <math>W</math>. The basis vectors of <math>V</math> then have images <math>f(b_1)=:w_1, \dots, f(b_n)=:w_n \in W</math>. Now, an important trick follows: we can use these images <math>w_1, \dots, w_n </math> as building bricks to construct <math>f(v)</math>: by linearity (= additivity + homogeneity) of <math>f</math>, we have that: {{Math|<math>\begin{align} f(v)&=f(\sum_{i=1}^n \lambda_i b_i) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f\text{ is additive}\right.} \\[0.3em] &=\sum_{i=1}^n f(\lambda_i b_i) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ f \text{ is homogenous}\right.}\\[0.3em] &=\sum_{i=1}^n \lambda_i f(b_i) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f(b_i)=w_i\right.}\\[0.3em] &=\sum_{i=1}^n \lambda_i w_i \end{align}</math>}} This is amazing: For ''any'' <math>v\in V</math>, the image <math>f(v)</math> can be reconstructed using <math>w_1, \dots, w_n </math>. Than means the information how the (often infinitely) many <math>v\in V</math> are mapped by <math>f</math> can be condensed in specifying only <math>n</math> vectors! For a linear map <math>f: \R^3 \to \R^3</math>, knowing '''three vectors''' <math>w_1, w_2, w_3 </math> already suffices to know the image of all infinitely many vectors. The following theorem assures mathematically that this reconstruction works for any finite dimensional vector space: ==Principle of linear continuation {{Anchor|linear continuation}}== {{:Math for Non-Geeks/Template:Satz |titel=Linear continuation |satz=Let <math>K</math> be a field, <math>V</math> and <math>W</math> two <math>K</math>-vector spaces and <math>\lbrace b_1, \dots, b_n\rbrace</math> a basis of <math>V</math>. Further, let <math>w_1, \dots, w_n\in W</math> be any vectors from <math>W</math>. Then, there exists exactly one linear map <math>f:V\rightarrow W</math> with <math>f(b_i)=w_i</math> for all <math>i\in\{ 1, \dots, n\}</math>. }} {{:Math for Non-Geeks/Template:Lösungsweg |lösungsweg= First we have to find and define a suitable map <math>f</math>. This map is basically given in the "motivation" section. But, is it really mathematically well-defined? Once we have chosen a map, we should check that it is indeed linear and satisfies the requirement <math>f(b_i)=w_i</math>. Thus, a suitable map exists. Finally, we have to show that the map with these properties is uniquely determined. To do this, we assume that there is another map with the same properties. Then we have to show that this map with <math>f</math> is identical.}} {{:Math for Non-Geeks/Template:Beweis |beweis= Let <math>v \in V</math>. Since <math>b_1,\dots, b_n</math> form a basis of <math>V</math>, there are clearly certain coefficients <math>\lambda_1, \dots, \lambda_n \in K</math> such that <math>v=\sum_{i=1}^n \lambda_i b_i</math>. Now we set {{Math|<math>f(v) = f\left(\sum_{i=1}^n \lambda_i \cdot b_i\right) := \sum_{i=1}^n \lambda_i \cdot w_i</math>}} Because the coefficients <math>\lambda_i</math> are uniquely determined, the map <math>f</math> is well-defined. Further, it follows immediately that <math>f</math> satisfies the requirement <math>f(b_i)=w_i</math> for every <math>i\in\{1, \dots, n\}</math>, because for every <math>i</math> we have that: {{Math|<math>f(b_i)=f(1_K\cdot b_i + \sum_{j\neq i} 0_K\cdot b_j)=1_K\cdot w_i + \sum_{j\neq i} 0_K\cdot w_j = w_i</math>}} Now we show that <math>f</math> is linear. For this, let <math>v, v'\in V</math> with <math>v=\sum_{i=1}^n \lambda_i b_i</math> and <math>v'=\sum_{i=1}^n \mu_i b_i</math> as well as <math>\mu\in K</math>. Then: {{:Math for Non-Geeks/Template:Beweisschritt |name=current goal |ziel=additivity |beweisschritt= {{Math|<math>\begin{align} f(v+v') &= f(\sum_{i=1}^n \lambda_i b_i + \sum_{i=1}^n \mu_i b_i)\\[0.3em] &= f(\sum_{i=1}^n (\lambda_i + \mu_i)b_i) \\[0.3em] &= \sum_{i=1}^n (\lambda_i + \mu_i)w_i \\[0.3em] &= \sum_{i=1}^n \lambda_i w_i + \sum_{i=1}^n \mu_i w_i \\[0.3em] &= f(v) + f(v') \end{align}</math>}}}} {{:Math for Non-Geeks/Template:Beweisschritt |name=current goal |ziel=homogeneity |beweisschritt= {{Math|<math>\begin{align} f(\mu\cdot v) &= f(\mu\sum_{i=1}^n \lambda_i b_i) \\[0.3em] &= f(\sum_{i=1}^n \mu\lambda_i b_i)\\[0.3em] &= \sum_{i=1}^n \mu\lambda_i w_i \\[0.3em] &= \mu\sum_{i=1}^n \lambda_i w_i \\[0.3em] &= \mu\cdot f(v) \end{align}</math>}}}} Finally, we want to show that <math>f</math> is uniquely determined by the properties of being linear and for every <math>i\in \{1, \dots, n\}</math> mapping the basis vector <math>b_i</math> to <math>w_i</math>. To do this, suppose there is a second map <math>g:V\rightarrow W</math> with exactly these two properties. We then have to show that <math>f=g</math>. Let for this <math>v=\sum_{i=1}^n \lambda_i b_i\in V</math> be arbitrarily. Then: {{Math|<math>\begin{align} g(v)=&g(\sum_{i=1}^n \lambda_i b_i) \\[0.3em] & {\color{OliveGreen}\downarrow {g \text{ is linear}}}\\[0.3em] =&\sum_{i=1}^n \lambda_i g(b_i) \\[0.3em] & {\color{OliveGreen}\downarrow g(b_i)=w_i}\\[0.3em] =&\sum_{i=1}^n \lambda_i w_i = f(v) \end{align}</math>}} We have shown that <math>f</math> and <math>g</math> take the same value for every vector <math>v\in V</math>. So both maps are the same, and we are done with the proof of uniqueness. }} {{:Math for Non-Geeks/Template:Hinweis|In the premise on the principle of linear continuation, a basis <math>\{b_1, \dots, b_n\}</math> of <math>V</math> occurs. That is, <math>V</math> must be finite-dimensional. However, <math>W</math> might be infinite-dimensional. Actually, the statement also holds for <math>V</math> being infinite-dimensional. The proof works similar to the one above. }} ==Examples== ===Example 1=== {{:Math for Non-Geeks/Template:Beispiel |beispiel= We consider the <math>\R</math>-vector space <math>\R^2</math> with the basis <math>\{b_1,b_2\}</math> where <math>b_1:=(2,1)^T</math> and <math>b_2:=(1,1)^T</math>. It can easily be seen that this is basis. (you may now think a moment about why) Let <math>w_1:=(1,3)^T</math> and <math>w_2:=(2,2)^T</math> be two vectors. By the theorem above, there hence exists a unique linear map <math>f:\R^2\to\R^2</math> given by <math>f(b_1)=w_1</math> and <math>f(b_2)=w_2</math>. What is the image of <math>f</math> for a general vector <math>(x,y)^T\in\R^2</math>? We proceed as in the theorem on the principle of linear continuation: let <math>(x,y)^T</math> be a vector in <math>\R^2</math>. First, we represent <math>(x,y)^T</math> as a linear combination of basis vectors <math>b_1,b_2</math>. So we determine <math>\lambda_1,\lambda_2\in\R</math> such that <math>(x,y)^T=\lambda_1\cdot b_1+\lambda_2\cdot b_2</math>. They are given by: {{Math|<math>\begin{pmatrix} x\\ y\end{pmatrix}=\lambda_1\cdot b_1+\lambda_2\cdot b_2=\lambda_1\cdot\begin{pmatrix}2\\1\end{pmatrix}+\lambda_2\cdot \begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}2\lambda_1+\lambda_2\\ \lambda_1+\lambda_2\end{pmatrix} </math>}} So we need to solve the system of equations {{Math|<math>\begin{align} x&=2\lambda_1+\lambda_2\\ y&=\lambda_1+\lambda_2 \end{align}</math>}} for <math>\lambda_1</math> and <math>\lambda_2</math>. Subtracting the second equation from the first, we obtain <math>x-y=\lambda_1</math>. To get <math>\lambda_2</math>, we substitute this result into the second equation: {{Math|<math>y=\lambda_1+\lambda_2=(x-y)+\lambda_2 </math>}} If we resolve for <math>\lambda_2</math>, we get <math>\lambda_2=2y-x</math>. Consequently, the linear combination we are looking for is <math>(x,y)^T=(x-y)\cdot b_1+(2y-x)\cdot b_2</math>. By the proof of the theorem above, we know how <math>f</math> acts on <math>(x,y)^T</math>: {{Math|<math>\begin{align} f\begin{pmatrix}x\\y\end{pmatrix}&=f\bigg( (x-y)\cdot b_1+(2y-x)\cdot b_2\bigg) =(x-y)\cdot w_1+(2y-x)\cdot w_2\\[0.5em] &=(x-y)\begin{pmatrix}1\\3\end{pmatrix}+(2y-x)\begin{pmatrix}2\\2\end{pmatrix}=\begin{pmatrix} x-y+2(2y-x)\\3(x-y)+2(2y-x)\end{pmatrix}\\[0.5em] &=\begin{pmatrix}-x+3y\\x+y\end{pmatrix} \end{align}</math>}} So the <math>f</math> has the general image {{Math|<math>\begin{align} f:\R^2&\to\R^2\\[0.3em] \begin{pmatrix}x\\y\end{pmatrix}&\mapsto \begin{pmatrix}-x+3y\\x+y\end{pmatrix} \end{align}</math>}} }} ===Example 2=== {{:Math for Non-Geeks/Template:Beispiel |beispiel= We consider the map <math>f:\R^2\to \R^2</math> with <math>f\begin{pmatrix}v_1\\v_2\end{pmatrix}=\begin{pmatrix}v_1+v_2\\3v_2\end{pmatrix}</math>. As basis of <math>\R^2</math> we choose <math>\lbrace b_1:=(2, 0)^T, b_2:=(1, 1)^T\rbrace</math>. Then {{Math|<math>f\begin{pmatrix}2\\0\end{pmatrix}=\begin{pmatrix}2\\0\end{pmatrix}\text{ and }f\begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}2\\3\end{pmatrix}</math>}} So we could also specify the linear map <math>f</math> by requiring that it maps <math>b_1</math> to <math>(2,0)^T</math> and <math>b_2</math> to <math>(2, 3)^T</math>. This only requires fixing two vectors.}} ===Example 3=== {{:Math for Non-Geeks/Template:Beispiel |beispiel= Is there a linear map <math>f:\R^2\to \R^2</math> with <math>f\begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}1\\1\end{pmatrix} </math> and <math>f\begin{pmatrix}2\\2\end{pmatrix}=\begin{pmatrix}3\\1\end{pmatrix}</math>? Assuming there is such a map, then we would have: {{Math|<math>\begin{pmatrix}3\\1\end{pmatrix}=f\begin{pmatrix}2\\2\end{pmatrix}=f\left(2\cdot\begin{pmatrix}1\\1\end{pmatrix}\right)=2\cdot f\begin{pmatrix}1\\1\end{pmatrix}=2\cdot \begin{pmatrix}1\\1\end{pmatrix}=\begin{pmatrix}2\\2\end{pmatrix}</math>}} This is a contradiction. Hence, such a linear map <math>f</math> cannot exist.}} {{:Math for Non-Geeks/Template:Frage |typ=Question |frage= A linear map <math>f:\R^2\to \R^2</math> should be specified by exactly 2 vectors, and we have 2 vectors. Then why is there a contradiction, anyway? |antwort= The vectors <math>\begin{pmatrix}1\\1\end{pmatrix}</math> and <math>\begin{pmatrix}2\\2\end{pmatrix}</math> are linearly dependent, but the function values we assigned to them are not multiples of each other. This is where the contradiction comes from. However, this does not contradict the theorem of linear continuation. Because there, the function values are given for a basis.}} == Properties of the linear continuation == In the following, <math>V</math> and <math>W</math> are two <math>K</math>-vector spaces, <math>\{b_1,\ldots,b_n\}</math> is a basis of <math>V</math> and <math>w_1,\ldots,w_n\in W</math> are vectors in <math>W</math>. Let <math>f:V\to W</math> be a linear map with <math>f(b_i)=w_i</math> for all <math>i\in\{1,\ldots,n\}</math>. Because of the above theorem, such a linear map exists and it is unique. {{Anchor|Eigenschaften der linear continuation}} {{:Math for Non-Geeks/Template:Satz |titel=Properties of the linear continuation |satz= <math>f(V) = \operatorname{span} \left(w_1, \dots, w_n\right)</math> In particular, we have that <math>f</math> is surjective if and only if <math>\lbrace w_1, \dots, w_n \rbrace</math> is a generator of <math>W</math>. }} {{:Math for Non-Geeks/Template:Lösungsweg |lösungsweg= We establish the first statement by showing equality of sets. That is, we prove that <math>f(V) \subseteq \operatorname{span} \left(w_1, \dots, w_n\right)</math> and <math>f(V) \supseteq \operatorname{span} \left(w_1, \dots, w_n\right)</math> hold. For the first inclusion, we consider an element <math>w\in f(V)</math>. So there exists a <math>v\in V</math> such that <math>f(v)=w</math> holds. We can write this <math>v</math> as a linear combination of the basic elements <math>b_1,\ldots ,b_n</math> of <math>V</math>. Together with the linearity of <math>f</math> it can then be shown that we may also write <math>w</math> as a linear combination of <math>w_1, \dots, w_n</math>. For the other inclusion "<math>f(V) \supseteq \operatorname{span} \left(w_1, \dots, w_n\right)</math>" we now consider a <math>w\in \operatorname{span}\left(w_1, \dots, w_n\right)</math>. Then we can write <math>w</math> as a linear combination of <math>w_i</math>. Since <math>w_i=f(b_i)</math> holds, <math>w</math> is representable as a linear combination of <math>f(b_1),\ldots f(b_n)</math>. And since <math>f</math> is linear, we can now show that <math>w</math> lies in <math>f(V)</math>. Thus, we can easily prove that <math>f</math> is surjective exactly if <math>\lbrace w_1, \dots, w_n \rbrace</math> is a generator of <math>W</math> using the following statements: * <math>f</math> is surjective if and only if <math>W=f(V)</math> holds. * <math>\lbrace w_1, \dots, w_n \rbrace</math> is a generator of <math>W</math> if and only if <math>W= \operatorname{span}\left(w_1, \dots, w_n\right)</math> holds. * <math>f(V) = \operatorname{span} \left(w_1, \dots, w_n\right)</math> (our already proved statement). }} {{:Math for Non-Geeks/Template:Beweis |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |name=Proof step |ziel=<math>f(V) = \operatorname{span} \left(w_1, \dots, w_n\right)</math> |beweisschritt= <math>\subseteq</math>: Let <math>w\in f(V)</math>. Then there is a <math>v\in V</math> with <math>f(v)=w</math>. Since <math>b_1, \dots, b_n</math> is a basis of <math>V</math>, there are coefficients <math>\lambda_1, \dots, \lambda_n\in K</math> such that <math>v=\sum_{i=1}^n \lambda_i b_i</math>. Now we have: {{Math|<math>\begin{align} w=f(v)=f(\sum_{i=1}^n \lambda_i b_i)=\sum_{i=1}^n \lambda_i f(b_i)=\sum_{i=1}^n \lambda_i w_i \end{align}</math>}} i.e., we managed to write <math>w</math> as a linear combination of <math>w_i</math>, such that <math>w \in \operatorname{span} \left(w_1, \dots, w_n\right)</math>. <math>\supseteq</math>: Let <math>w\in \operatorname{span}\left(w_1, \dots, w_n\right)</math>, then there are coefficients <math>\lambda_1, \dots, \lambda_n\in K</math> such that <math>w=\sum_{i=1}^n \lambda_i w_i</math>. By definition of <math>f</math> we have: {{Math|<math>\begin{align} w=\sum_{i=1}^n \lambda_i w_i=\sum_{i=1}^n \lambda_i f(b_i)=f(\sum_{i=1}^n \lambda_i b_i)\in f(V) \end{align}</math>}} }} In particular, this implies the second statement: {{:Math for Non-Geeks/Template:Beweisschritt |name=Proof step |ziel=<math>f</math> is surjective, if and only if <math>\lbrace w_1, \dots, w_n \rbrace</math> is a generator of <math>W</math>. |beweisschritt= If <math>f</math> is surjective, then: <math>W = f(V) = \operatorname{span}(w_1, ..., w_n)</math> (according to the statement above). Therefore, <math>\lbrace w_1, ..., w_n \rbrace</math> is a generator of <math>W</math>. Conversely, if <math>\lbrace w_1, ..., w_n\rbrace</math> is a generator, then we have that <math>f(V) = \operatorname{span}(w_1, ..., w_n) = W</math>, and <math>f</math> is surjective. }} }} {{:Math for Non-Geeks/Template:Satz |titel=Injective maps send bases to linearly independent vectors |satz= <math>f</math> is injective, if and only if <math>\lbrace w_1, \dots, w_n \rbrace</math> is linearly independent. |lösungsweg= For equivalence, we need to show two implications. In the proof of "<math> \Rightarrow </math>" we want to show that the vectors <math> w_1, \dots, w_n </math> are linearly independent if <math>f</math> is injective. We assume that <math>f</math> is injective and consider the zero vector as a linear combination of <math> w_1, \dots, w_n </math>, i.e. <math>0_{ _W}=\mu_1 w_1+\ldots \mu_n w_n</math> with <math>\mu_1,\ldots , \mu_n\in K</math>. We now want to prove that all coefficients <math>\mu_i</math> vanish. If we replace in our linear combination <math> w_i</math> with the respective <math> f(b_i)</math> and use the linearity of <math>f</math>, we get {{Math|<math>0_{_W}=f(\mu_1\cdot b_1 + \cdots + \mu_n \cdot b_n)</math>.}} We know that <math>f(0_{_V}) = 0_{_W}</math> because <math>f</math> is linear. So {{Math|<math>f(0_{_V})=f(\mu_1\cdot b_1 + \cdots + \mu_n \cdot b_n)</math>.}} Using injectivity of <math>f</math>, it follows that <math>0_{_V}=\mu_1 \cdot b_1 + \cdots + \mu_n \cdot b_n</math>. Since the basis <math> b_1, \dots, b_n</math> is linearly independent, we have <math>\mu_i=0</math> for all <math>i=1,\ldots ,n</math>. In the proof of "<math> \Leftarrow </math>", our goal is to show that <math>f</math> is injective if <math> w_1, \dots, w_n</math> are linearly independent. To do this, we consider two vectors <math>v,\tilde v \in V</math> with <math>f(v) = f(\tilde v)</math>. We want to show that <math>v = \tilde v</math>. Since <math> b_1, \dots, b_n</math> forms a basis of <math>V</math>, we can represent <math>v</math> and <math>\tilde v</math> as a linear combination of them: {{Math|<math>v = \mu_1 \cdot b_1 + \cdots + \mu_n \cdot b_n\,</math> and <math>\,\tilde v = \tilde{\mu}_1 \cdot b_1 + \cdots + \tilde\mu_n \cdot b_n\,</math> with <math>\,\mu_1,\ldots, \mu_n,\tilde\mu_1,\ldots, \tilde\mu_n \in K</math>}} To prove <math>v=\tilde v</math>, it is enough to show that <math>\mu_i = \tilde\mu_i</math> for <math>i = 1,\ldots, n </math> holds. With <math>f(v) = f(\tilde v)</math> and the linearity of <math>f</math> we get {{Math|<math>\mu_1 \cdot f(b_1) + \cdots + \mu_n \cdot (b_n)=\tilde\mu_1 \cdot f(b_1) + \cdots + \tilde\mu_n \cdot f(b_n)</math>}} Because of <math>f(b_i)=w_i</math> we get the representation {{Math|<math>\mu_1 \cdot w_1 + \cdots + \mu_n \cdot w_n=\tilde\mu_1 \cdot w_1 + \cdots + \tilde\mu_n \cdot w_n</math>}} Because of the linear independence of <math> w_1, \dots, w_n </math> their [[Math for Non-Geeks/Linear_independence|linear combinations]] are unique and one has <math>\mu_i = \tilde\mu_i</math> for all <math>i = 1,\ldots, n </math>. |beweis= We need to establish two directions. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>f</math> is injective, then the <math>\lbrace w_1, w_2, \ldots , w_n\rbrace </math> are linearly independent. |beweisschritt= Let <math>\mu_1,\mu_2,\ldots,\mu_n \in K</math> and let {{Math|<math>0_W = \mu_1 \cdot w_1 + \cdots + \mu_n \cdot w_n = \mu_1\cdot f(b_1) + \cdots + \mu_n \cdot f(b_n) = f(\mu_1\cdot b_1 + \cdots + \mu_n \cdot b_n)</math>}} For any linear mapping, it is also true that <math>f(0_V) = 0_W</math>. Since <math>f</math> is injective, we have {{Math|<math>\mu_1 \cdot b_1 + \cdots + \mu_n \cdot b_n = 0_V</math>}} Further, since <math>\lbrace b_1,b_2,\ldots,b_n\rbrace</math> is a basis of <math>V</math>: {{Math|<math>\mu_1 = \mu_2 = \cdots = \mu_n = 0_K</math>}} Thus, the <math>\{w_1, w_2, \ldots,w_n\}</math> are linearly independent. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If the <math>\lbrace w_1, w_2, \ldots , w_n\rbrace </math> are linearly independent, then <math>f</math> is injective. |beweisschritt= Let <math>v,v^* \in V</math> with <math>f(v) = f(v^*)</math>. Then, there are some <math>\mu_1,\mu_2,\ldots, \mu_n,{\mu_1}^*,{\mu_2}^*,\ldots, {\mu_n}^* \in K</math> with <math>v = \mu_1 \cdot b_1 + \cdots + \mu_n \cdot b_n</math> and <math>v^* = {\mu_1}^* \cdot b_1 + \cdots + {\mu_n}^* \cdot b_n</math>. We have that: {{Math|<math>\begin{align} \mu_1 \cdot w_1 + \cdots + \mu_n \cdot w_n &= \mu_1 \cdot f(b_1) + \cdots + \mu_n \cdot f(b_n) \\[0.3em] &=\ f(\mu_1 \cdot b_1 + \cdots + \mu_n \cdot b_n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{since } f(v) = f(v^*)\right.} \\[0.3em] &=\ f({\mu_1}^* \cdot b_1 + \cdots + {\mu_n}^* \cdot b_n) \\[0.3em] &=\ {\mu_1}^* \cdot f(b_1) + {\mu_n}^* \cdot f(b_n) \\[0.3em] &=\ {\mu_1}^* \cdot w_1 + \cdots + {\mu_n}^* \cdot w_n \end{align}</math>}} If <math>\lbrace w_1, w_2, \ldots , w_n\rbrace </math> are linearly independent, the representation is unique, so <math>\mu_i = {\mu_i}^*; (i = 1,2, \ldots, n)\, \longrightarrow \,v = v^*</math>. Thus <math>f</math> is injective. }} }} {{:Math for Non-Geeks/Template:Satz |titel=Bijective maps send bases to bases |satz= <math>f</math> is bijective if and only if <math>\lbrace w_1, \dots, w_n \rbrace</math> is a basis of <math>W</math>. |lösungsweg= We simply combine the statements of the last two theorems. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>f</math> is bijective, then <math>\{w_1, \dots, w_n\}</math> is a basis of <math>W</math>. |beweisschritt= Since <math>f</math> is bijective, also <math>f</math> is injective and surjective. Therefore, according to the last two theorems, <math>\lbrace w_1, ..., w_n \rbrace</math> form a linearly independent generator. This generator is always a basis. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>\{w_1, \dots, w_n\}</math> is a basis of <math>W</math>, then <math>f</math> is bijective. |beweisschritt= Suppose <math>\lbrace w_1, ..., w_n \rbrace</math> is a basis - so in particular it is linearly independent and a generator. Then, we have by the last two theorems that <math>f</math> is injective and surjective - so in particular bijective. }} }} ==Exercises== <section begin=konstruktion_lin_Abb/> {{:Math for Non-Geeks/Template:Aufgabe |titel=Linear maps under some conditions |aufgabe=Let <math>u=(1 , 0, -1)^T,\, v=(0, 1, 2)^T</math> and <math>w=(1, 2, 3)^T</math>. Is there an <math>\R</math>-linear map <math>f:\R^3\R^2</math> that satisfies <math>f(u)=(0, 1)^T,\,f(v)=(1, -1)^T,\,f(w)=(2, 1)^T</math>? |lösungsweg= First you should check if the vectors <math>u,v,w</math> are linearly independent. If this is the case, <math>\{u,v,w\}</math> is a basis of <math>\R^3</math> because of <math>\operatorname{dim}(\R^3)=3</math>. Using the principle of linear continuation, the existence of such a linear map would follow <math>f</math>. Let thus <math>\lambda_1, \lambda_2, \lambda_3 \in \R</math>: {{Math| <math>\lambda_1 u + \lambda_2 v + \lambda_3 w = \begin{pmatrix} \lambda_1 + \lambda_3 \\ \lambda_2 + 2 \lambda_3 \\ -\lambda_1 + 2 \lambda_2 + 3\lambda_3 \end{pmatrix}= \begin{pmatrix}0 \\ 0 \\ 0 \end{pmatrix}.</math>}} But then also <math> \lambda_1= -\lambda_3, \, \lambda_2= -2 \lambda_3</math> and so <math>2 \lambda_1= \lambda_2 </math> must be fulfilled. However, this equation has not only the "trivial" solution <math>\lambda_1 = \lambda_2 = \lambda_3=0</math>. In fact, the upper equation is satisfied for <math>\lambda_1=1, \, \lambda_2=2, \, \lambda_3 =-1</math>. Thus, one obtains {{Math|<math>\begin{align}u+2v=w.\end{align}</math>}} For such a map <math>f</math>, the relation <math>f(u)+2 f(v)=f(w)</math> would then have to hold, which is a contradiction to {{Math|<math>\begin{align}f(u)+2f(v)=(2,-1)^T, \quad f(w)= (2,1)^T\end{align}</math>}} |lösung=Let us first assume that such a linear map <math>f</math> would exist. By the following calculation {{Math|<math>\begin{align}u + 2 v = \begin{pmatrix} 1 \\ 0 \\ -1 \end{pmatrix}+ \begin{pmatrix} 0 \\ 2 \\4 \end{pmatrix}= \begin{pmatrix}1 \\ 2 \\ 3 \end{pmatrix}= w\end{align}</math>}} we see that <math> f(u)+ 2f(v)=f(w)</math> should hold. But this is a contradiction to the other conditions, because those would imply {{Math|<math>\begin{align}f(u)+2f(v)=(0,1)^T+2(1,-1)^T=(2,-1)^T \neq (2,1)^T=f(w)\end{align}</math>}} So there is no such <math>f</math>. }} <section end=konstruktion_lin_Abb/> {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} kb5cuz6nxpor83op9u0c13syr3n4jew Math for Non-Geeks/Proofs for linear maps 0 473501 4635280 4630492 2026-05-11T16:46:44Z Sascha Lill 95 3167325 adjust equation format 4635280 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} We will give here a proof structure that shows how to prove linearity of a map. == General procedure == === Recap: Definition of a linear map === We recall that a linear map (or homomorphism) is a structure-preserving map of a <math>K</math>-vector space <math>V</math> into a <math>K</math>-vector space <math>W</math>. That is, for the map <math>f \colon V \to W</math>, the following two conditions must hold: # <math> f</math> must be additive, i.e., for <math>v,w \in V</math> we have that: <math>f(v + w) = f(v) + f(w)</math> # <math> f</math> must be homogeneous, i.e., for <math>v \in V, \lambda \in K</math> we have that: <math>f(\lambda \cdot v) = \lambda \cdot f(v)</math>. So for a linear map it doesn't matter if we first do the addition or scalar multiplication in the vector space <math>V</math> and then map the sum into the vector space <math>W</math>, or first map the vectors <math>v,\,w</math> into the vector space <math>W</math> and perform the addition or scalar multiplication there, using the images of the map. === Proving that a map is linear === The proof that a map is linear can be done according to the following structure. First, we assume that a map <math>f \colon V \to W</math> is given between vector spaces. That is, <math>V</math> and <math> W</math> are <math>K</math>-vector spaces and <math>f</math> is well-defined. Then for the linearity of <math>f</math> we have to show: # additivity: <math>\forall v,\,w \in V:\quad f(v+w) = f(v) + f(w) </math> # homogeneity: <math>\forall v \in V \, \forall \lambda \in K:\quad f(\lambda \cdot v) = \lambda \cdot f(v)</math> {{:Math for Non-Geeks/Template:Aufgabe |titel=Introductory example |aufgabe= We consider the following map {{Math|<math>f\colon \R^2\to\R,\quad f\begin{pmatrix}v_1\\v_2\end{pmatrix}:=2v_1+v_2</math>}} and show that it is linear. |beweis= First, <math>\R^2</math> and <math>\R</math> are vector spaces over the field <math>\R</math>. Moreover, the map <math>f</math> is well-defined. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=proving additivity |beweisschritt= Let <math>\begin{pmatrix}v_1\\v_2\end{pmatrix},\,\begin{pmatrix}w_1\\w_2\end{pmatrix} \in \R^2</math>. {{Math|<math>\begin{align} f\left( \begin{pmatrix}v_1\\v_2\end{pmatrix}+\begin{pmatrix}w_1\\w_2\end{pmatrix}\right)&=f \begin{pmatrix}v_1+w_1\\v_2+w_2\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &=\ 2(v_1+w_1)+(v_2+w_2)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributive law}\right.} \\[0.3em] &=\ 2v_1+2w_1+v_2+w_2\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutative and associative law } \right.} \\[0.3em] &=\ (2v_1+v_2)+(2w_1+w_2)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &=\ f\begin{pmatrix}v_1\\v_2\end{pmatrix}+f\begin{pmatrix}w_1\\w_2\end{pmatrix} \end{align}</math>}} Thus, we have proved the additivity of <math>f</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=proving homogeneity |beweisschritt= Let <math>\begin{pmatrix}v_1\\v_2\end{pmatrix}\in\R^2</math> and <math>\lambda\in\R</math>. Then, we have {{Math|<math>\begin{align} f\left(\lambda\begin{pmatrix} v_1\\ v_1\end{pmatrix}\right)&=f\begin{pmatrix}\lambda v_1\\\lambda v_2\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &=\ 2\lambda v_1+\lambda v_2\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributive law } \right.} \\[0.3em] &=\ \lambda(2v_1+v_2)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &=\ \lambda\cdot f\begin{pmatrix}v_1\\v_2\end{pmatrix} \end{align}</math>}} Thus, we have proved the homogeneity of <math>f</math>. }} }} == The map to zero == The map to zero is the map which sends every vector to zero. For instance, the map to zero of <math>\R</math> to <math>\R^3</math> looks as follows: {{Math|<math>f\colon \R\to\R^3,\quad x\mapsto\begin{pmatrix}0\\0\\0\end{pmatrix}</math>}} {{:Math for Non-Geeks/Template:Aufgabe |titel=The map to zero linear |aufgabe=Show that the map <math>f\colon \R\to\R^3,\quad x\mapsto\begin{pmatrix}0\\0\\0\end{pmatrix}</math> is linear. |beweis= We already know that <math>\R</math> and <math>\R^3</math> are both <math>\R</math>-vector spaces, and that the map to zero is well-defined. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=additivity |beweisschritt= For all <math>x,y\in\R</math> we have that {{Math|<math>\begin{align} f(x+y) &=\begin{pmatrix}0\\0\\0\end{pmatrix}\\[0.3em] &{\color{OliveGreen}\left\downarrow\ \text{additive neutral element} \right.}\\[0.3em] &=\begin{pmatrix}0\\0\\0\end{pmatrix}+\begin{pmatrix}0\\0\\0\end{pmatrix}\\[0.3em] &{\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.}\\[0.3em] &=f(x)+f(y) \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=homogeneity |beweisschritt= For all <math>x\in\R,\lambda\in\R</math> we have that {{Math|<math>\begin{align} f(\lambda\cdot x) &=\begin{pmatrix}0\\0\\0\end{pmatrix}\\[0.3em] &{\color{OliveGreen}\left\downarrow\ \text{scalar multiplication } \right.}\\[0.3em] &=\lambda\cdot \begin{pmatrix}0\\0\\0\end{pmatrix}\\[0.3em] &{\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.}\\[0.3em] &=\lambda\cdot f(x)\end{align}</math>}} }} Thus, the map to zero is linear. }} ==An example in <math>\R^2</math>== <section begin=aufgabe_linearität_R^2 /> We consider an example for a linear map of <math>\R^2</math> to <math>\R^2</math>: <math>f \colon \R^2 \to \R^2</math> with <math>f\begin{pmatrix}x_1\\x_2\end{pmatrix}=\begin{pmatrix}x_1+x_2\\x_1-5x_2\end{pmatrix}</math> {{:Math for Non-Geeks/Template:Aufgabe |titel=Linearity of <math>f</math> |aufgabe=Show that the map <math>f \colon \R^2 \to \R^2,\begin{pmatrix}x_1\\x_2\end{pmatrix}\mapsto\begin{pmatrix}x_1+x_2\\x_1-5x_2\end{pmatrix}</math> is linear. |beweis=<math>\R^2</math> is an <math>\R</math>-vector space. In addition, the map is well-defined. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=additivity |beweisschritt= Let <math>(x_1, x_2)^T</math> and <math>(y_1, y_2)^T</math> be any vectors from the plane <math>\R^2</math>. Then, we have: {{Math|<math>\begin{align} f\left(\begin{pmatrix}x_1\\x_2\end{pmatrix}+\begin{pmatrix}y_1\\y_2\end{pmatrix}\right) &=f\begin{pmatrix}x_1+y_1\\x_2+y_2\end{pmatrix} \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] & =\begin{pmatrix}(x_1+y_1)+(x_2+y_2)\\(x_1+y_1)-5\cdot(x_2+y_2)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributive law}\right.} \\[0.3em] & =\begin{pmatrix}(x_1+x_2)+(y_1+y_2)\\(x_1-5 x_2)+(y_1-5 y_2)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{separate vectors} \right.} \\[0.3em] & =\begin{pmatrix} x_1+x_2\\x_1-5 x_2\end{pmatrix} + \begin{pmatrix}y_1+y_2\\y_1-5 y_2\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] & =f\begin{pmatrix}x_1\\x_2\end{pmatrix}+f\begin{pmatrix}y_1\\y_2\end{pmatrix} \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=homogeneity |beweisschritt= Let <math>\lambda\in\R</math> and <math>(x_1, x_2)^T \in \R^2</math>. Then: {{Math|<math>\begin{align} f\left(\lambda \cdot \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}\right) &= f\begin{pmatrix}\lambda \cdot x_1 \\ \lambda \cdot x_2 \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &= \begin{pmatrix}\lambda x_1 +\lambda x_2 \\ \lambda x_1 - 5 \lambda x_2 \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributive law} \right.} \\[0.3em] &= \begin{pmatrix}\lambda (x_1 + x_2) \\ \lambda (x_1 - 5 x_2) \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{scalar multiplication} \right.} \\[0.3em] &= \lambda\cdot \begin{pmatrix} (x_1 + x_2) \\ (x_1 - 5 x_2) \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } f \right.} \\[0.3em] &= \lambda\cdot f\begin{pmatrix} x_1 \\ x_2 \end{pmatrix}\\[0.3em] \end{align}</math>}} }} Thus, the map is linear. }} <section end=aufgabe_linearität_R^2 /> ==A linear map in the vector space of sequences== Next, we consider the space of all sequences of real numbers. This space is infinite-dimensional, because there are not finitely many sequences generating this sequence space. But it is a vector space, as we have shown in the chapter about [[Math_for_Non-Geeks/Sequence_spaces|sequence spaces]]. <section begin=folgenraum_abbildung_linear /> {{:Math for Non-Geeks/Template:Aufgabe |titel=Sequence space |aufgabe=Let <math>V</math> be the <math>\R</math>-vector space of all real-valued sequences. Show that the map {{Math|<math>\begin{align} f: V&\to V \\ (a_0,a_1,a_2,\ldots)&\mapsto(a_1,a_2,a_3,\ldots) \end{align}</math>}} is linear. |lösungsweg= To show linearity, two properties need to be checked: # <math>f</math> is additive: <math>f(v+w)=f(v)+f(w)</math> for all <math>v,w\in V</math> # <math>f</math> is homogeneous: <math>f(\lambda\cdot v)=\lambda\cdot f(v)</math> for all <math>v\in V</math> and <math>\lambda\in\R</math> The vectors <math>v</math> and <math>w</math> are sequences of real numbers, i.e. they are of the form <math>v=(a_0,a_1,a_2,\ldots)</math> and <math>w=(b_0,b_1,b_2,\ldots)</math> with <math>a_k,b_k\in\R</math> for all <math>k\in\N_0</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=additivity |beweisschritt= Let <math>v=(a_0,a_1,a_2,\ldots)\in V</math> and <math>w=(b_0,b_1,b_2,\ldots)\in V</math>. Then, we have {{Math|<math>\begin{align} f(v+w)&= f((a_0,a_1,a_2,\ldots)+(b_0,b_1,b_2,\ldots))\\[0.3em] &=\ f(a_0+b_0,a_1+b_1,a_2+b_2,\ldots)\\[0.3em] &=\ (a_1+b_1,a_2+b_2,a_3+b_3,\ldots)\\[0.3em] &=\ (a_1,a_2,a_3,\ldots)+(b_1,b_2,b_3,\ldots)\\[0.3em] &=\ f(a_0,a_1,a_2,\ldots)+f(b_0,b_1,b_2,\ldots)\\[0.3em] &=\ f(v)+f(w)\end{align}</math>}} It follows that <math>f</math> is additive.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=homogeneity |beweisschritt= Let <math>v=(a_0,a_1,a_2,\ldots)\in V</math> and <math>\lambda\in\R</math>. Then, we have {{Math|<math>\begin{align} f(\lambda\cdot v)&=f(\lambda\cdot(a_0,a_1,a_2,\ldots))\\[0.3em] &=\ f(\lambda a_0,\lambda a_1,\lambda a_2,\ldots)\\[0.3em] &=\ (\lambda a_1,\lambda a_2,\lambda a_3,\ldots)\\[0.3em] &=\ \lambda\cdot(a_1,a_2,a_3,\ldots)\\[0.3em] &=\ \lambda\cdot f(a_0,a_1,a_2,\ldots)\\[0.3em] &=\ \lambda\cdot f(v) \end{align}</math>}} So <math>f</math> is homogeneous.}} Thus, it was proved that <math>f</math> is a <math>\R</math>-linear map. }} <section end=folgenraum_abbildung_linear /> == Abstract example == In this chapter, we deal with somewhat more abstract vectors. Let <math>M, \,N</math> be arbitrary sets; <math>K</math> a field and <math>V</math> a <math>K</math>-vector space. We now consider the set of all maps/ functions of the set <math>M</math> into the vector space <math>V</math> and denote this set with <math>\text{Fun}(M,V)</math>. Furthermore, we also consider the set of all maps of the set <math>N</math> into the vector space <math>V</math> and denote this set with <math>\text{Fun}(N,V)</math>. The addition of two maps is defined for <math>f,g \in \text{Fun}(M,V)</math> by {{Math|<math>(f+g)(m) = f(m) + g(m)</math>}} Die scalar multiplication is defined for <math>\lambda \in K</math> via {{Math|<math>(\lambda \cdot f)(m) = \lambda \cdot f(m)</math>}} Analogously, we define addition scalar multiplication for <math>\text{Fun}(N,V)</math>. {{:Math for Non-Geeks/Template:Aufgabe |titel=The set <math>\text{Fun}(M,V)</math> is a <math>K</math>-vector space |aufgabe= Show that <math>\text{Fun}(M,V)</math> is a <math>K</math>-vector space. |lösungsweg=Simply check the vector space axioms.}} We now show that the composition with a mapping <math>t\in\text{Fun}(N,M)</math> is a linear map from <math>\text{Fun}(M,V)</math> to <math>\text{Fun}(N,V)</math>. <section begin=präkomposition_linear /> {{:Math for Non-Geeks/Template:Aufgabe |titel=The composition with a map is linear. |aufgabe=Let <math>V</math> be a vector space, let <math>M,N</math> be sets, and let <math>\text{Fun}(M,V)</math> or <math>\text{Fun}(N,V)</math> be the [[Math_for_Non-Geeks/Function_spaces|vector space of functions]] from <math>M</math> or <math>N</math> to <math>V</math>. Let <math>t\in \text{Fun}(N,M)</math> be arbitrary but fixed. We consider the mapping {{Math|<math>\begin{align} \Theta:\text{Fun}(M,V)&\to\text{Fun}(N,V) \\ g&\mapsto g\circ t \end{align}</math>}} Show that <math>\Theta</math> is linear. |erklärung= It is important that you exactly follow the definitions. Note that <math>\Theta</math> is a map that assigns to every map of <math>M</math> to <math>V</math> a map of <math>N</math> to <math>V</math>. These maps, which are elements of <math>\text{Fun}(M,V)</math> and <math>\text{Fun}(N,V)</math> respectively, need not themselves be linear, since there is no vector space structure on the sets <math>M</math> and <math>N</math>. |zusammenfassung= In order to prove the linearity of <math>\Theta</math>, we need to check the two properties again: # <math>\Theta</math> is additive: <math>\Theta(g+h)=\Theta(g)+\Theta(h)</math> for all <math>g,h\in\text{Fun}(M,V)</math> # <math>\Theta</math> is homogeneous: <math>\Theta(\lambda\cdot g)=\lambda\cdot\Theta(g)</math> for all <math>g\in\text{Fun}(M,V)</math> and <math>\lambda\in K</math> So at both points an equivalence of maps <math>N\to V</math> is to be shown. For this, we evaluate the maps at every m element <math>y\in N</math>. |beweis=Let <math>g,h\in\text{Fun}(M,V)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=additivity |beweisschritt= For all <math>n\in N</math> we have that {{Math|<math>\begin{align} \Theta(g+h)(n)&= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \Theta \right.} \\[0.3em] &=\ ((g+h)\circ t)(n) \\[0.3em] &=\ (g+h)(t(n)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{vector addition on Fun}(M,V) \right.} \\[0.3em] &=\ g(t(n))+h(t(n)) \\[0.3em] &=\ (g\circ t)(n)+(h\circ t)(n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \Theta \right.} \\[0.3em] &=\ \Theta(g)(n)+\Theta(h)(n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{vector addition on Fun}(N,V) \right.} \\[0.3em] &=\ (\Theta(g)+\Theta(h))(n) \end{align}</math>}} Thus, we have shown <math>\Theta(g+h)=\Theta(g)+\Theta(h)</math>, i.e., <math>\Theta</math> is additive.}} Let <math>g\in\text{Fun}(M,V)</math> and <math>\lambda\in K</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=homogeneity |beweisschritt= For all <math>n\in N</math> we have that {{Math|<math>\begin{align} \Theta(\lambda\cdot g)(n)&= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \Theta \right.} \\[0.3em] &=\ ((\lambda\cdot g)\circ t)(n) \\[0.3em] &=\ (\lambda\cdot g)(t(n)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{scalar multiplication on Fun}(M,V) \right.} \\[0.3em] &=\ \lambda\cdot g(t(n)) \\[0.3em] &=\ \lambda\cdot(g\circ t)(n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \Theta \right.} \\[0.3em] &=\ \lambda\cdot\Theta(g)(n) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{scalar multiplication on Fun}(N,V) \right.} \\[0.3em] &=\ (\lambda\cdot\Theta(g))(n) \end{align}</math>}} Thus, we have shown <math>\Theta(\lambda\cdot g)=\lambda\cdot\Theta(g)</math>, i.e., <math>\Theta</math> is homogeneous.}} Now, additivity and homogeneity of <math>\Theta</math> implies that <math>\Theta</math> is a linear map. }} <section end=präkomposition_linear /> {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} mdgoaixgotdpsnlhd1au8vvk0mzp0ta Math for Non-Geeks/Monomorphisms 0 473502 4635281 4630493 2026-05-11T16:48:08Z Sascha Lill 95 3167325 adjust equation format 4635281 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} Linear maps preserve linear combinations. We now learn about special linear maps that preserve linear independence. These are called ''monomorphisms''. == Motivation == We have introduced [[Math for Non-Geeks/Linear map|linear maps]] as functions between vector spaces that preserve linear combinations. Thus, they satisfy the property that a linear combination is preserved nuder the mapping: {{Math|<math>f \left( \sum_{i = 1}^n \lambda_i v_i \right) = \sum_{i = 1}^n \lambda_i f(v_i).</math>}} Using linear combinations, we have defined the property of [[Math for Non-Geeks/Linear independence|linear independence]]. Recall: For a vector space <math> V </math> over a field <math> K </math>, a finite set of vectors <math>\{v_1, \ldots, v_n\} \subset V</math> is linearly independent if and only if the only linear combination by <math> \lambda_1,...,\lambda_n \in K</math>, which leads to zero (<math>\lambda_1 v_1 + \ldots + \lambda_n v_n = 0 \in V </math>) is the trivial one, i.e., <math> \lambda_1 = \ldots = \lambda_n = 0 </math>. An alternative characterization is that if {{Math|<math>\sum_{i = 1}^n \lambda_i f(v_i) = \sum_{i = 1}^n \mu_i f(v_i),</math>}} then the set of coefficients <math> \lambda_i, \mu_i \in K </math> must be equal as <math> \lambda_i = \mu_i </math>. Is this property preserved? Certainly, there are linear maps, which ''do not preserve linear independence'', e.g. the map to zero: <math> f(v) = 0 \; \forall v \in V </math>. Any set of vectors containing the zero vector is linearly dependent, as there is a non-trivial linear combination leading to the zero vector, e.g. with <math> \lambda = 1 </math>: <math> 1 \cdot f(v) = 1 \cdot 0 = 0 </math>. Now are there even linear maps which ''preserve linear independence''? The answer is: Yes, and they are called ''monomorphisms''. What additional property does a linear map need to have in order to preserve linear independence? We take some linearly independent vectors <math>v_1, \ldots , v_n</math>. For a linear map <math>f</math> to preserve linear independence, it needs to satisfy: {{Math|<math>\sum_{i = 1}^n \lambda_i f(v_i) = \sum_{i = 1}^n \mu_i f(v_i) \implies \forall i \le n: \lambda_i = \mu_i.</math>}} We transform: {{Math|<math>\begin{align} & \left(\sum_{i = 1}^n \lambda_i f(v_i) = \sum_{i = 1}^n \mu_i f(v_i) \implies \forall i \le n: \lambda_i = \mu_i \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{homogeneity of }f \right.} \\[0.3em] \iff & \left(\sum_{i = 1}^n f(\lambda_i v_i) = \sum_{i = 1}^n f(\mu_i v_i) \implies \forall i \le n: \lambda_i = \mu_i \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of }f \right.} \\[0.3em] \iff & \left(f\left(\sum_{i = 1}^n \lambda_i v_i\right) = f\left(\sum_{i = 1}^n \mu_i v_i\right) \implies \forall i \le n: \lambda_i = \mu_i\right). \end{align}</math>}} Therefore <math>f</math> must have the following property to preserve linear independence: {{Math|<math>f\left(\sum_{i = 1}^n \lambda_i v_i\right) = f\left(\sum_{i = 1}^n \mu_i v_i\right) \implies \sum_{i = 1}^n \lambda_i v_i = \sum_{i = 1}^n \mu_i v_i.</math>}} By setting <math display="inline">x := \sum_{i = 1}^n \lambda_i v_i </math> and <math display="inline">y := \sum_{i = 1}^n \mu_i v_i </math>, it becomes clearer what this property is. We get that {{Math|<math>f(x) = f(y) \implies x = y</math>}} for all <math>x,y \in V</math> which can be written as linear combination of <math>v_1, \ldots, v_n</math>. This statement should be valid for all linear independent sets, and therefore also for bases. In the case of a basis, however, all <math>x,y</math> can be written as such a linear combination, which means that <math> f</math> must be injective. Thus, '''injectivity is a necessary condition for a linear map to preserve linear independence'''. Is injectivity also a '''sufficient condition''' for this property? Let for this <math>f</math> an injective linear map and <math>v_1,\ldots ,v_n\in V</math> linearly independent vectors. We are to find out whether <math>f(v_1),\ldots ,f(v_n)</math> are also linearly independent. According to our considerations above, it is enough to show the following for scalars <math>\lambda_i</math> and <math>\mu_i\in K</math> {{Math|<math>\left(f\left(\sum_{i = 1}^n \lambda_i v_i\right) = f\left(\sum_{i = 1}^n \mu_i v_i\right) \implies \forall i \le n: \lambda_i = \mu_i\right).</math>}} Let {{Math|<math>f\left(\sum_{i = 1}^n \lambda_i v_i\right) = f\left(\sum_{i = 1}^n \mu_i v_i\right)</math>}} Then, we have from the injectivity of <math>f</math> that {{Math|<math>\sum_{i = 1}^n \lambda_i v_i = \sum_{i = 1}^n \mu_i v_i</math>.}} Because <math>v_1,\ldots ,v_n</math> are linearly independent, we have that <math>\lambda_i=\mu_i</math> for all <math>i</math>. Thus, we have shown the above statement and <math>f</math> preserves linear independence. Thus, '''a linear map preserve linear independence if and only if it is injective'''. We call injective linear maps '''monomorphisms'''. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=monomorphism |definition= A '''monomorphism''' is an injective linear map <math>f\colon V \to W</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. That is, <math>f</math> is a linear map such that for all <math>v,\tilde v\in V</math> the statement <math>f(v) = f(\tilde v)</math> implies that also <math>v=\tilde v</math>. }} == Equivalent characterization of monomorphisms == We have considered in the motivation that monomorphisms should be exactly those linear maps, which preserve linear independence of vectors. We now prove this mathematically: {{:Math for Non-Geeks/Template:Satz |titel=monomorphisms preserve linear independence |satz= Let <math>f:V\to W</math> be a linear map. Then, we have that <math>f</math> is injective if and only if the image of every linearly independent subset <math>M\subseteq V</math> is again linearly independent. Thus, the linear map <math>f</math> preserves linear independence exactly if <math>f</math> is a monomorphism. |lösungsweg= We follow the preliminary considerations from the motivation. What we would like to show are two implications: "<math>f</math> is injective <math>\implies</math> the image every linearly independent subset <math>M\subseteq V</math> is linearly independent." and "The image of every linearly independent subset <math>M\subseteq V</math> is linearly independent <math>\implies</math> <math>f</math> is injective." However, it is easier to prove linear dependence than linear independence, because with linear dependence of a set we only need to find ''one example'' for a non-trivial combination to 0. With linear independence, we need to prove that ''every'' finite subset of the set is linearly independent. Therefore, we do not directly show the above implications, but use a proof by contradiction. |beweis= We show "There exists a linearly independent subset <math>M\subseteq V</math> such that <math>f(M)</math> is linearly dependent" <math>\iff</math> "<math>f</math> is not injective" {{:Math for Non-Geeks/Template:Beweisschritt |name=Proof step |ziel=„<math>\implies</math>" |beweisschritt= So let <math>M\subseteq V</math> be linearly independent, but <math>f(M)\subseteq W</math> be linearly dependent. Then <math>f(M)</math> contains a finite linearly dependent subset <math>\{w_1,\ldots, w_n\}</math>. Let <math>v_1, \ldots, v_n</math> be the preimages of the vectors <math>w_1,\ldots w_n</math>, so <math>w_i=f(v_i)</math> with <math>v_i\in M</math>. Since <math>w_1,\ldots w_n</math> are linearly dependent, there exist scalars <math>\mu_1,\ldots,\mu_n \in K</math> which are not all zero but {{Math|<math> 0_W = \mu_1w_1 + \cdots + \mu_n w_n=\mu_1\cdot f(v_1) + \cdots + \mu_n \cdot f(v_n) = f(\mu_1 \cdot v_1 + \cdots + \mu_n \cdot v_n). </math>}} Then, we have <math>v:=\mu_1 \cdot v_1 + \cdots + \mu_n \cdot v_n\neq 0_V</math>, since at least one <math>\mu_i\neq 0</math> and because of <math>v_1,\ldots, v_n\in M</math> these vectors are linearly independent. Now on the one hand <math>f(v)=0_W</math>, but we also know that <math>f(0_V)=0_W</math>. Because of <math>v\neq 0_V</math>, <math>f</math> is not injective. }} {{:Math for Non-Geeks/Template:Beweisschritt |name=Proof step |ziel=„<math>\Longleftarrow</math>“ |beweisschritt= Since <math>f</math> is not injective, there are some <math>v_1, v_2 \in V</math> with <math>v_1\neq v_2</math>, but <math>f(v_1) = f(v_2)</math>. For <math>\tilde v:=v_1-v_2</math> we have that then <math>f(\tilde v) = f(v_1-v_2)=f(v_1)-f(v_2)=0_W</math>. Now define the set <math>M</math> as the span <math>M=\lbrace \tilde v\rbrace</math>. Because of <math>\tilde v\neq 0</math>, <math>M</math> is linearly independent, but <math>f(M)=f(\lbrace \tilde v\rbrace)=\lbrace 0_W\rbrace</math> is linearly dependent. }} }} We can derive a different criterion for a linear map being a monomorphism: Suppose we have linearly independent vectors <math>v_1, \dots, v_n \in V</math>. The linear independence means that the vectors describe "independent information". We have seen above that monomorphisms preserve linear independence. This means that monomorphisms map independent information to independent information. So monomorphisms preserve all information. Suppose we have a monomorphism <math>f\colon V\to W</math>, another vector space <math>U</math> and maps <math>a,b \colon U \to V</math> such that <math>f \circ a = f \circ b</math> holds. Since no information was lost by the application of <math>f</math>, the maps <math>a</math> and <math>b</math> must have been the same before the application. So we have that for a monomorphism <math>f</math>, from <math>f \circ a = f \circ b</math> one can infer <math>a = b</math>. One also says that the monomorphism can be ''left shortened''. The next theorem verifies that the ability to being left shortened is equivalent to a linear map being a monomorphism. {{:Math for Non-Geeks/Template:Satz |titel=monomorphisms can be "left shortened" |satz=Let <math>f \colon V \to W</math> be linear map. Then, we have: <math>f</math> is a monomorphism if and only if for all vector spaces <math>U</math> and for all <math>a, b \colon U \to V</math> with <math>f \circ a = f\circ b</math> we have that <math>a = b </math>. One also says that <math>f</math> can be ''left shortened''. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\implies</math>, by a direct proof |beweisschritt=Let <math>f \colon V \to W</math> be a monomorphism, i.e. an injective, linear map. Let <math>U</math> be another vector space and <math>a,b \colon U \to V</math> with <math>f\circ a = f\circ b</math>. Let <math>v \in U</math>. Then <math>f(a(v)) = f(b(v))</math>. Since <math>f</math> is injective, it follows that <math>a(v) = b(v)</math>. Since we have chosen <math>v</math> arbitrary, we obtain <math>a = b</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\Longleftarrow</math> , proof by contradiction |beweisschritt=Suppose that <math>f</math> is not a monomorphism, i.e. <math>f</math> is not injective. Then there exist <math>v</math> and <math>w \in V</math> with <math>v\neq w</math> and <math>f(v) = f(w)</math>. Without loss of generality, let <math>v \neq 0</math> (otherwise swap <math>v</math> and <math>w</math>). We extend <math>\lbrace v \rbrace</math> to a basis <math>C</math> of <math>V</math>. Then we consider the two linear maps <math>a = id_V</math> and <math>b \colon V \to V, v \mapsto w, c \mapsto c</math> for all <math>c \in C \setminus \lbrace v \rbrace</math>. (the second linear map is given by [[Math for Non-Geeks/Linear continuation|linear continuation]] starting from the basis vectors). We now show that <math>f\circ a = f\circ b</math> holds. It suffices to check this identity on our basis <math>C</math>: For all <math>c \in C \setminus \lbrace v \rbrace</math> we have that <math>f(a(c)) = f(c) = f(b(c)) \forall c \in C \setminus \lbrace v \rbrace</math> and <math>f(a(v)) = f(v) = f(w) = f(b(v))</math>. In addition, we have that <math>f\circ a = f\circ b</math>, since this relation holds for all basis elements of <math>V</math>. But we also have that <math>a \neq b</math>, since <math>a(v) = v \neq w = b(v)</math>. This is a contradiction to the assumption, and it follows that <math>f</math> is a monomorphism. }} }} {{:Math for Non-Geeks/Template:Hinweis|This theorem is useful because sometimes it is easier to show that <math>f \circ a = f \circ b</math> holds, instead of directly proving <math>a = b</math>. This theorem gives us a kind of "rule of calculation" for linear maps. Moreover, we do not use concrete elements for left shortening. This allows us to generalize the concept of monomorphism to ''categories'' that you may encounter in further study. }} == Examples == {{:Math for Non-Geeks/Template:Beispiel |beispiel= The map <math>h\colon\R^2\to\R^3</math> with of the following mapping rule is a vector space monomorphism: {{Math|<math>h \left(\begin{pmatrix}x\\y\end{pmatrix} \right)= \begin{pmatrix}x\\y\\x+y\end{pmatrix}</math>}} Indeed, from <math>h(x_1, y_1) = h(x_2, y_2)</math>, it follows: {{Math|<math>\begin{pmatrix}x_1\\y_1\\x_1+y_1\end{pmatrix}=\begin{pmatrix}x_2\\y_2\\x_2+y_2\end{pmatrix}</math>}} But then <math>x_1=x_2</math> and <math>y_1=y_2</math> must hold and so the equality of the arguments follows <math>(x_1, x_2)^T=(y_1,y_2)^T</math>. This shows that <math>h</math> is injective. }} == Relation to the kernel == === Alternative derivation of a monomorphism === Linear maps preserve linear independence if and only if they are injective. We call these maps monomorphisms. To derive this, we have first clarified how linear independence is defined, namely via the uniqueness of the representation of vectors as a linear combination. As mentioned before that, instead of considering all these vectors, however, linear independence can also be defined only by the representation of the zero vector: <math>v_1, \dots, v_n</math> are linearly independent if it follows from <math display="inline">\sum_{i=1}^n \lambda_i v_i = 0</math> that all coefficients are <math>\lambda_i=0</math>. What if, with this definition, we tried to derive the definition of monomorphism? Again we are looking for a property for a linear map <math>f</math> with which we can infer from the linear independence of <math>v_i</math> the linear independence of <math>f(v_i)</math>. Let for this <math> v_1, \ldots, v_n</math> be linearly independent. Let us now show that: {{Math|<math> \sum_{i = 1}^n \lambda_i f(v_i) = 0 \implies \forall i \le n: \lambda_i = 0.</math>}} This is equivalent to {{Math|<math> f\left( \sum_{i = 1}^n \lambda_i v_i \right) = 0 \implies \forall i \le n: \lambda_i = 0. </math>}} Our desired property must guarantee that <math display="inline">\sum_{i=1}^n \lambda_i v_i = 0</math>. Then we can show with the linear independence of <math>v_i</math> that all <math>\lambda_i = 0</math>, which also proves the linear independence of <math>f(v_i)</math>. So <math>f</math> needs to fulfil the property: <math> f(v) = 0 \implies v = 0</math> for all vectors <math>v</math>. By the principle of contraposition, this property is equivalent to <math>v\neq 0 \implies f(v)\neq 0</math>. So the property we are looking for is: "The set of elements that are mapped to zero consists only of the zero vector." This property, by the way, is the special case of injectivity at the point <math>0</math> and states that only the zero element of the domain vector space is mapped to the zero element of the image vector space. === Definition of the kernel === So the set of elements that are mapped to zero has a special meaning in this context. That is why it has its own name, one speaks of the ''kernel of the map''. {{:Math for Non-Geeks/Template:Definition |titel=Kernel of a linear map |definition= Let <math>f\colon V \to W</math> be a linear map between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. The '''kernel''' of the map <math>f</math> is the set of all vectors from <math>V</math> that are mapped to <math>0_{_W}</math> by <math>f</math> and is denoted <math> \ker f</math>. In mathematical terms: {{Math|<math> \ker f = f^{-1}\left(\left\{ 0_{_W} \right\}\right) = \left\{\, v \in V : f(v) = 0_{_W} \,\right\} \subseteq V. </math>}} }} === Reading off injectivity from the kernel === We now know two properties of linear maps which guarantee that they preserve linear independence: On the one hand the injectivity and on the other hand that the kernel of the linear map being trivial (i.e., only including the zero vector). Both properties have the same effect. So it can be assumed that both properties are ''equivalent''. As the following proof will show, this assumption is correct: (this part is still missing) {{#lst:Math_for_Non-Geeks/Kernel_of_a_linear_map|InjektivitätSatz}} === Alternative definition of a monomorphism === So we have learned a second property with which one can characterize monomorphisms. A linear map is a monomorphism if its kernel consists only of the zero vector. We also say that the kernel is "trivial". We can thus formulate an alternative definition for monomorphisms: {{:Math for Non-Geeks/Template:Definition |titel=monomorphism |definition= A monomorphism is a linear map <math>f\colon V \to W</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math> for which one (or all) of the following equivalent statements hold: * <math>f </math> is injective. * For all <math>v \in V</math> we have that <math> (v\neq 0 \implies f(v)\neq 0) </math>. * For all <math>v \in V</math> we have that <math> (f(v) = 0 \implies v=0) </math>. * The kernel of <math>f</math> is trivial, i.e., <math>\ker f = \lbrace 0_{_V} \rbrace </math>. }} == Exercises == {{:Math for Non-Geeks/Template:Aufgabe |titel=Verification of a monomorphism |aufgabe=Show that for <math>m\geq n</math>, the map <math>f \colon \R^n \to \R^m: \quad (x_1,x_2,\ldots,x_n)^T\mapsto (x_1,x_2,\ldots,x_n,\underbrace{0,\ldots,0}_{(m-n) \text{ times}})^T</math> is a monomorphism. This shows that one can map every "smaller" vector space <math>K^n</math> injectively into a "bigger" vector space <math>K^m</math>, as long as <math>m \geq n</math>. |lösung= Let <math>v = (v_1, \ldots, v_n)^T \in \mathbb{R}^n</math> and <math>w = (w_1, \ldots, w_n)^T \in \mathbb{R}^n</math>, as well as <math>\lambda, \mu \in \mathbb{R}</math>. By definition of the map <math>f</math>, we have that: <math>f(\lambda v + \mu w) = f\left( \begin{pmatrix} \lambda v_1 + \mu w_1 \\ \vdots \\ \lambda v_n + \mu w_n \end{pmatrix} \right) = \begin{pmatrix} \lambda v_1 + \mu w_1 \\ \vdots \\ \lambda v_n + \mu w_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} = \lambda \cdot \begin{pmatrix} v_1 \\ \vdots \\ v_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} + \mu \cdot \begin{pmatrix} w_1 \\ \vdots \\ w_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} = \lambda f(v) + \mu f(w). </math> So <math>f</math> is linear. It remains to be shown that <math>f</math> is injective. To show the injectivity of <math>f</math>, there are (at least) two ways: '''1st way''' From the definition of the linear map <math>f</math> it is clear that only the zero vector of <math>\mathbb{R}^n</math> is mapped by <math>f</math> to the null element of <math>\mathbb{R}^m</math>. Thus <math>\operatorname{ker}f = \left\{(0, \ldots, 0)^T\right\}. </math> Thus the kernel of <math>f</math> contains only the zero vector. By the theorem on the relation between kernel and injectivity of a linear map, it follows that <math>f</math> is injective. Together with the linearity of <math>f</math> it is thus shown that <math>f</math> is a monomorphism. '''2nd way''' A second way to prove the injectivity of the map <math>f</math> is to directly recalculate the definition of injectivity: Let <math>f(v) = f(w)</math>. This is equivalent to the statement <math>f(v)-f(w) = 0</math>. In other words <math>f\left( \begin{pmatrix} v_1 \\ \vdots \\ v_n \end{pmatrix} \right) - f\left( \begin{pmatrix} w_1 \\ \vdots \\ w_n \end{pmatrix} \right) = \begin{pmatrix} v_1 \\ \vdots \\ v_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} - \begin{pmatrix} w_1 \\ \vdots \\ w_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} = 0. </math> From this representation one recognizes immediately that <math>v_1 = w_1, v_2 = w_2, \ldots, v_n = w_n</math> must hold. Thus <math>v = w</math> and hence, <math>f</math> is injective. Together with the linearity of <math>f</math> we have therefore shown that <math>f</math> is a monomorphism. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} onijag7652cvgxwgpp2aiywz29y1kq4 Math for Non-Geeks/Epimorphisms 0 473503 4635284 4630494 2026-05-11T16:50:05Z Sascha Lill 95 3167325 adjust equation format 4635284 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} Linear maps preserve linear combinations. We now learn about special linear maps that preserve generators. These are called ''epimorphisms''. == Motivation and derivation == In the article on [[Math for Non-Geeks/Monomorphisms|monomorphisms]] we considered linear maps which map linearly independent vectors to linearly independent vectors. There we found out that these maps are exactly injective linear maps. Injective linear maps therefore "preserve" linear independence. Using the [[Math for Non-Geeks/Linear independence|linear independence]], we could express the intuitive dimension notion in mathematical (linear algebra) terms. There, we also encountered [[Math for Non-Geeks/Generators|generators]]. Now: Are there also linear maps that preserve generators? So let <math>V,W</math> be two <math>K</math>-vector spaces over the same field <math>K</math> and <math>\{v_1, \ldots, v_n \} \subseteq V</math> a generator. Now, what properties must a linear map <math>f:V \to W</math> satisfy, in order for <math>\{ f(v_1), \ldots , f(v_n) \} </math> being a generator of vector space <math> W </math>? For this, we would need to be able to represent any <math>w \in W</math> as a linear combination of <math>f(v_i)</math>. That is, we need to find <math>\lambda_1,\ldots,\lambda_n \in K</math> such that {{Math|<math>w=\sum_{i=1}^n \lambda_i f(v_i).</math>}} Since the map <math> f </math> is linear, this is equivalent to {{Math|<math>w=f\left(\sum_{i=1}^n \lambda_i v_i\right).</math>}} So <math>w</math> must be in the image of <math>f</math>. This is said to hold for every <math>w\in W</math>. Thus <math>f(V)=W</math> is a necessary condition for <math>f</math> to preserve generators. Is this also a sufficient condition? Let <math>f(V)=W</math>. We investigate whether every <math>w\in W</math> can be represented as a linear combination of <math>f(v_i)</math>. Because <math>f(V)=W</math> we have for any <math>w\in W</math> a vector <math>v\in V</math> with <math>f(v)=w</math>. Since <math>v_1, \ldots, v_n</math> is a generator of <math>V</math>, there are some linear combination factors <math>\lambda_1,\ldots ,\lambda_n</math> with {{Math|<math>v=\sum_{i=1}^n\lambda_iv_i.</math>}} So we can write <math>w</math> as: {{Math|<math>w=f\left(\sum_{i=1}^n\lambda_iv_i\right)=\sum_{i=1}^n\lambda_if(v_i)</math>}} And hence <math>w</math> is within the generated space of the <math>f(v_i)</math>. Thus, the linear map <math>f</math> preserves generators if and only if <math>f(V)=W</math>. Moreover, <math>f</math> satisfies <math>f(V)=W</math> exactly if <math>f</math> is surjective. Thus, a linear map must be '''surjective''' to have the generating property. We call surjective linear maps '''epimorphisms'''. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Epimorphism |definition= An epimorphism is a surjective linear map <math>f\colon V \to W</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. That is: to every <math> w \in W</math> there is a <math> v \in V</math> such that <math>w = f(v)</math>. }} == Equivalent characterization of epimorphisms == We have already considered in the motivation that surjective linear maps are exactly the maps that preserve generators.<br> Because the case of finite generators is more important than the general statement, we consider this case first. Then we investigate what we need to change for the general case: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>f\colon V \to W</math> be a linear map and let <math>\lbrace v_1, \dots ,v_n\rbrace \subseteq V</math> be a generator of <math>V</math>. The linear map <math>f</math> is an epimorphism exactly if <math>\lbrace f(v_1), \dots, f(v_n) \rbrace</math> is a generator of <math>W</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=„<math>f</math> is an epimorphism“ <math>\implies</math> „<math>\lbrace f(v_1), \dots, f(v_n) \rbrace</math> is a generator“ |beweisschritt=Let <math>w \in W </math> be arbitrary. Then according to precondition there is a vector <math> v \in V</math> with <math>f(v) = w</math>. Since <math>\lbrace v_1,\ldots,v_n\rbrace</math> generates the vector space <math>V</math>, there are linear combination factors <math>\lambda_1,\ldots, \lambda_n</math> with <math>v = \sum_{i=1}^n\lambda_i v_i</math>. Hence, we have: {{Math|<math>\begin{align} w = f(v) = f\left(\sum_{i=1}^n\lambda_i v_i\right) = \sum_{i=1}^n f\left(\lambda_i v_i\right) = \sum_{i=1}^n \lambda_i f(v_i). \end{align}</math>}} So <math>w \in W </math> can be represented as a linear combination of <math> f(v_1), \ldots , f(v_n) </math>. Since <math> w </math> was arbitrary, <math> f(v_1), \ldots , f(v_n)\rbrace </math> is a generator of <math>W</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=„<math>\lbrace f(v_1), \dots, f(v_n) \rbrace</math> is a generator“ <math>\implies</math> „<math>f</math> is an epimorphism“ |beweisschritt=Let <math>w \in W </math> be arbitrary. We have to show that there is a vector <math>v \in V</math> with <math>f(v)=w</math>. Since <math>W</math> is generated by <math>\{\, f(v_1), \ldots , f(v_n) \,\}</math>, there exist scalars <math>\lambda_1, \ldots, \lambda_n \in K</math> (for linear combination) with <math>w = \sum_{i=1}^n\lambda_i f(v_i)</math>. We now set <math>v := \sum_{i=1}^n \lambda_i v_i </math>: {{Math|<math>\begin{align} f(v) = f\left(\sum_{i=1}^n \lambda_i v_i\right) = \sum_{i=1}^n f\left(\lambda_i v_i\right) = \sum_{i=1}^n \lambda_i f(v_i) = w. \end{align}</math>}} This proves that <math>f</math> is surjective, that is, an epimorphism. }} }} Now we generalize to vector spaces of arbitrary dimension: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>f\colon V \to W</math> be a linear map and let <math>M\subseteq V</math> be a generator of <math>V</math>. The linear map <math>f</math> is an epimorphism if and only if <math> f(M)</math> is a generator of <math>W</math>. |beweis=We can almost copy the proof from above: Since <math>M\subseteq V</math> is a generator of <math>V</math>, this means that every vector <math>v\in V</math> has a representation as a linear combination <math>v=\sum_{i=1}^n \lambda_i v_i</math>, where <math>\lambda_1,\ldots, \lambda_n</math> are scalars and <math>v_1,\ldots ,v_n</math> are from <math>M</math>. The only thing that changes is that the sums no longer have a fixed number of summands. In the proof above, we could always run the sums of <math>1</math> to <math>n</math>. Here, the number of summands depends on the vectors <math>v</math> and <math>w</math>, respectively. But it is still a finite number of summands. Therefore, the rest of the proof is the same as within the finite case. }} We will now be introduced to a second (category-theoretic) characterization of epimorphisms, the possibility of being "right shortened": {{:Math for Non-Geeks/Template:Satz |titel=Epimorphisms can be right shortened |satz=Let <math>f \colon V \to W</math> be a homomorphism. Then the following statements are equivalent # <math>f</math> is an epimorphism. # For all vector spaces <math>U</math> and all <math>a, b \colon W \to U</math> with <math>a \circ f = b \circ f</math> we have that <math>a = b </math>. One also says that the epimorphism can be "right shortened". |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=1.<math>\implies</math>2., by direct proof |beweisschritt=Let <math>f\colon V \to W</math> be an epimorphism, i.e., <math>f</math> is surjective. Let <math>U</math> be a vector space, and <math>a,b\colon W \to U</math>, such that <math>a\circ f = b\circ f</math>. We want to show that <math>a = b</math> holds. Since <math>a</math> and <math>b</math> are maps with same domain of definition <math>W</math> and same range <math>U</math>, we need to show that <math>a(w) = b(w)</math> holds for all <math>w \in W</math>. So consider any <math>w \in W</math>. Since <math>f</math> is surjective, there exists a <math>v \in V</math> with <math>f(v) = w</math>. Now, <math>a(w) = a(f(v)) = (a \circ f)(v) = (b \circ f)(v) = b(f(v)) = b(w)</math>. Since we have chosen <math>w</math> arbitrary, we obtain <math>a = b</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=2.<math>\implies</math>1., proof by contradiction |beweisschritt=Let <math>f\colon V \to W</math> be a homomorphism. Suppose <math>f</math> is not an epimorphism, i.e., not surjective. Then there is a <math>w \in W</math> with <math>w \notin \operatorname{im}f</math>. In particular, <math>w \neq 0</math> since <math>0 = f(0) \in \operatorname{im} f</math>. We extend <math>\lbrace w \rbrace</math> to a basis <math>B</math> of <math>W</math>. Now, let us define two homomorphisms <math>a,b\colon W \to W</math>. First we set <math>a := \operatorname{id}_W</math>. Further, we define <math>b</math> using the principle of linear continuation on the basis <math>B</math>: <math>b\colon v \mapsto 0, b \mapsto b</math> for all <math>b \in B \setminus \{v\}</math>. Next we show <math>a \circ f = b\circ f</math>: Consider some <math>v\in V</math>. Then <math>f(v) \in \operatorname{span}(B \setminus \{v\})</math>, since <math>w \notin \operatorname{in}f</math>. As <math>a|_{\operatorname{span}(B \setminus \{v\})} = \operatorname{Id}_{\operatorname{span}(B \setminus \{v\})} = b|_{\operatorname{span}(B \setminus \{v\})}</math>, we indeed have <math>a(f(v)) = b(f(v))</math>. But <math>a \neq b</math>, since <math>a(w) = w \neq 0 = b(w)</math>. This is a contradiction to the assumption, and it follows that <math>f</math> is an epimorphism. }} }} == Examples == {{:Math for Non-Geeks/Template:Beispiel |beispiel= We consider the vector spaces <math>\R^n</math> and <math>\R^m</math> with <math>n \geq m</math>, as well as the linear map {{Math| <math>\begin{align} f \colon \R^n &\to \R^m, \\ ({\color{blue}x_1,x_2,\ldots,x_m},x_{m+1},\ldots,x_n) &\mapsto ({\color{blue}x_1,x_2,\ldots,x_m}). \end{align}</math>}} For this map, we simply truncate the last <math>n-m</math> components. This makes it clear why we must require <math>n \geq m</math> (if <math>n = m</math>, the map is simply the identity). This map is an epimorphism: Let <math>({\color{blue}x_1,x_2,\ldots,x_m}) \in \R^m</math>. Then, we have <math>f({\color{blue}x_1,x_2,\ldots,x_m}, \underbrace{0, \dots, 0}_{n-m \text{ zeros} }) = ({\color{blue}x_1,x_2,\ldots,x_m})</math>. }} {{:Math for Non-Geeks/Template:Beispiel |beispiel=For a field <math>K</math> and two <math>K</math>-vector spaces <math>V,W</math> , the following map is an epimorphism: {{Math|<math>\begin{align} f:V \oplus W &\to V, \\ (v,w) &\mapsto v \end{align}</math>}} Here <math>V \oplus W</math> denotes the [[Math for Non-Geeks/Outer direct sum|Outer direct sum (missing)]]. We first show for this that the map <math> f</math> is linear. Consider some <math>(v,w),(v',w') \in V \oplus W </math>, as well as <math> \lambda \in K </math>. Then <math>f((v,w)+(v',w'))=f((v+v',w+w'))=v+v'=f((v,w))+f((v',w'))</math> and <math>f(\lambda \cdot (v,w))=f((\lambda v, \lambda w))=\lambda v= \lambda f((v,w)) </math>. This establishes linearity. Let now <math> v \in V</math> be arbitrary. Then <math> f((v,w))=v </math> for every <math>w \in W</math>. That is, <math>(v,w)</math> is a preimage of <math>v</math> under <math>f</math>. Thus <math>f</math> is an epimorphism. If <math>W</math> is not the null space, then there are even multiple (perhaps infinitely many) preimages. }} == Exercises == {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= We consider <math>\R^3</math>. By <math>e_1:=(1,0,0),e_2:=(0,1,0), e_3:=(0,0,1)</math>, we denote the standard basis. Let <math>f:\R^3 \to \R^2</math> be the unique linear map given by the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]] and {{Math|<math>\begin{align} f(e_1) = \begin{pmatrix}1\\1\end{pmatrix},\, f(e_2) = \begin{pmatrix}1\\-1\end{pmatrix},\, f(e_3) = \begin{pmatrix}1\\-1\end{pmatrix} \end{align}</math>}} Show that <math>f</math> is an epimorphism. |lösung=By construction, <math>f</math> is a linear map. We want to show that <math>\{f(e_1), f(e_2), f(e_3) \}=\{(1,1),(1,-1)\}</math> is a generator of <math>\R^2</math>. Then, we have with the above theorem that <math>f</math> is an epimorphism. So, we must represent every <math>(x,y) \in \R^2</math> as a linear combination of vectors <math>(1,1),(1,-1)</math>. Accordingly, we search linear combination scalars <math>\lambda, \mu \in \R</math> such that {{Math|<math>\begin{align} \begin{pmatrix} x\\y \end{pmatrix}= \lambda \begin{pmatrix} 1\\1 \end{pmatrix} + \mu \begin{pmatrix} 1\\-1 \end{pmatrix}. \end{align}</math>}} From this we get the linear system of equations {{Math|<math>\begin{align} \begin{align}x &=\lambda + \mu \\ y &=\lambda - \mu , \end{align} \end{align}</math>}} which is solved by <math>\lambda=\frac{x+y}{2}</math> and <math>\mu=\frac{x-y}{2} </math>. So we have <math>\begin{pmatrix} x\\y \end{pmatrix}= \frac{x+y}{2}\begin{pmatrix} 1\\1 \end{pmatrix} + \frac{x-y}{2} \begin{pmatrix} 1\\-1 \end{pmatrix}</math> for all <math>x,y \in \R</math>. Thus <math>\{(1,1),(1,-1)\}</math> is a generator. This proves that <math> f</math> is an epimorphism. }} {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe=Consider the [[Math for Non-Geeks/Function spaces|function space]] <math>\operatorname{Fun}([0,1],\R)</math> of all function s mapping <math>\R</math> to <math>\R</math>, as well as the map {{Math|<math>\begin{align} \phi \colon \operatorname{Fun}([0,1],\R) &\to \R, \\ f &\mapsto f(0). \end{align}</math>}} Show that <math> \phi </math> is an epimorphism. |lösung=The operations on the function space are defined element-wise in each case. That is: for <math>f,g \in \operatorname{Fun}([0,1],\R)</math>, <math>\lambda \in \R </math> and <math>x \in [0,1]</math> we have that <math>(f+g)(x)=f(x)+g(x)</math> and <math>(\lambda f)(x)= \lambda f(x)</math>. In particular, this is true for <math>x=0</math>, which implies {{Math|<math>\begin{align} \phi(f+g)=(f+g)(0)=f(0)+g(0)= \phi(f)+\phi(g) \end{align}</math>}} and {{Math|<math>\begin{align} \phi(\lambda f)=(\lambda f)(0)=\lambda f(0)=\lambda \phi(f) \end{align}</math>}} Thus, we have shown the linearity. To prove surjectivity, let <math> c \in \R </math> be arbitrary. We need to show that there is a <math> f: [0,1] \to \R</math> with <math>f(0)=c</math>. Such a map exists, since e.g. the constant function {{Math|<math>\begin{align} f: [0,1] \to \R, \, x \mapsto c \end{align}</math>}} has the desired properties. Every <math> c \in \R</math> thus has a preimage, so <math>\phi</math> is an epimorphism. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 4k816hsmghr47yvjwauqu6zo7j53td6 Math for Non-Geeks/Isomorphisms 0 473504 4635287 4630495 2026-05-11T16:53:17Z Sascha Lill 95 3167325 adjust equation format 4635287 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} == Isomorphic Structures and Isomorphisms == === Isomorphic Structures === We consider the vector space <math>K[X]_{\leq 2}</math> of polynomials of degree less than or equal to <math>2</math> and we consider <math>\R^3</math>. Vectors in these spaces have a one-to-one correspondence, as we have already seen in the [[Math for Non-Geeks/Introduction: Vector space|introduction article to vector spaces]]: {{#lst:Math for Non-Geeks/Introduction: Vector space|polynom_vektor}} We also found that addition and scalar multiplication work the same way in both vector spaces: {{#lst:Math for Non-Geeks/Introduction: Vector space|polynom-vektor_1}} {{#lst:Math for Non-Geeks/Introduction: Vector space|polynom-vektor_2}} In general, vector spaces can be thought of as ''sets'' with some ''structure''. In our example, we can match the ''sets'' 1 to 1. And also the ''structures'' (i.e. addition and multiplication) can be matched. So both vector spaces "essentially carry the same information", although they formally comprise different objects. In such a case, we will call the two vector spaces '''isomorphic''' (to each other). The bijection which identifies the two vector spaces is then called an '''isomorphism'''. We now derive what the mathematical definition is of "two vector spaces <math>V</math> and <math>W</math> are isomorphic": The identification of the ``sets`` is given by a bijective mapping <math>f:V\to W</math>. Preserving the ''structure'' means that addition and scalar multiplication are preserved when mapping back and forth with <math>f</math> and <math>f^{-1}</math>. But "preserving addition and scalar multiplication" for a mapping between vector spaces is nothing else than "being linear". So we want <math>f</math> and <math>f^{-1}</math> to be linear. {{:Math for Non-Geeks/Template:Definition |titel=Isomorphic |definition=The vector spaces <math>V</math> and <math>W</math> are isomorphic if there is a bijective map <math>f\colon V \to W</math> between them such that <math>f</math> and <math>f^{-1}</math> are linear. We then write <math>V \cong W</math>. }} Let us now return to our example from above. In this case, the identification map we are looking for from the Definition would look like this: {{Math|<math> \begin{align} f\colon \R^3 &\to K[X]_{\leq 2} \\[0.3em] (a,b,c) &\mapsto ax^2+bx+c\end{align}</math>}} === Isomorphism === We also want to give a name to the map <math>f</math> introduced above: {{:Math for Non-Geeks/Template:Definition |titel=Isomorphism |definition=An isomorphism between vector spaces <math>V</math> and <math>W</math> is a bijective map <math>f\colon V \to W</math> such that <math>f</math> and <math>f^{-1}</math> are linear. }} === Alternative Derivation {{Anchor|Alternative Herleitung}}=== Now let's look at the term "vector space" from a different point of view. We can also think of a vector space as a basis together with corresponding linear combinations of the basis. So we can call vector spaces "equal" if we can identify the bases 1 to 1 and the corresponding linear combinations are generated in the same way. In other words, we are looking for a mapping that preserves both bases and linear combinations. What property must the mapping have in order to generate the same linear combinations? The answer is almost in the name: The mapping must be linear. Let us now turn to the question of what property a linear map needs in order to map bases to bases. A basis is nothing else than a linearly independent generator. Thus, the map must preserve generators and linear independence. A linear map that preserves a generator is called an [[Math for Non-Geeks/Epimorphisms|epimorphism]] - that is, a surjective linear map. A linear map that preserves linear independence is called a [[Math for Non-Geeks/Monomorphisms|monomorphism]] and is thus an injective linear map. So the function we are looking for is an epimorphism and a monomorphism at the same time. As a monomorphism it must be injective. As an epimorphism, on the other hand, the mapping must be surjective. So overall we get a ''bijective linear map''. This we again call an isomorphism. This gives us the alternative definition: {{:Math for Non-Geeks/Template:Definition |titel= Alternative definition of isomorphism and isomorphism |definition=Two vector spaces <math>V</math> and <math>W</math> are isomorphic if there is a bijective linear map <math>f\colon V \to W</math> between them. A map <math>f\colon V \to W</math> is called an isomorphism if it is a bijective linear map. }} == Inverse Mappings of Linear Bijections are Linear == We have derived two descriptions for isomorphisms. Thus, we have also two different definitions. The first one seems to require more than the second one: In the first definition, an isomorphism <math>f</math> must additionally satisfy that <math>f^{-1}</math> is linear. Does this give us two different mathematical objects, or does linearity of <math>f</math> already imply linearity of <math>f^{-1}</math>? According to our intuition, both definitions should define the same objects. So <math>f</math> being linear should then imply <math>f^{-1}</math> being linear. And indeed, this is the case: {{:Math for Non-Geeks/Template:Satz |titel=The inverse map of a bijective linear map is again linear. |satz=Let <math>f \colon V \to W </math> be a bijective linear map. Then the inverse mapping <math>g \colon W \to V </math> is also linear. |lösungsweg=We want to show that <math>g</math> is linear. For this, both <math>g(w + w') = g(w) + g(w')</math> and <math>g(\lambda \cdot w) = \lambda \cdot g(w) </math> must hold for all vectors <math>w,w'\in W</math> and scalars <math>\lambda\in K</math>. We have given that <math>f</math> is linear and bijective with inverse map <math>g</math>. How can we use this to show the linearity of <math>g</math>? Since <math>g</math> is the inverse map of <math>f</math>, we have: {{Math|<math> \begin{align} &f\circ g = id_W \text{, so } f(g(w)) = w \text{ for all } w\in W\end{align}</math>}} Together with the linearity of <math>f</math>, this gives us: {{Math|<math>\begin{align}g(w + w') &= g(f(g(w)) + f(g(w'))) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{ linearity of }f \right.}\\[0.3em] &= g(f(g(w) + g(w'))) = g(w) + g(w').\end{align}</math>}} In the same way we can proceed for homogeneity <math>g(\lambda \cdot w) = \lambda \cdot g(w)</math>. |beweis= For the inverse <math>g</math> of <math>f</math> , it holds that: {{Math|<math> \begin{align} &f\circ g = id_W;\\[0.3em] &g\circ f = id_V. \end{align}</math>}} So for every vector <math>v\in V</math> and every vector <math>w\in W</math> {{Math|<math>\begin{align} &(f\circ g)(w) = f(g(w))=w;\\[0.3em] &(g\circ f)(v) = g(f(v)) = v. \end{align} </math>}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>g</math> is additive. |beweisschritt= Let <math>w</math> and <math>w' \in W</math> be two vectors. Then we have: {{Math|<math>\begin{align} &g(w+w') \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname g \text{ is the inverse of }\operatorname f \right.} \\[0.3em] =\,&g(f(g(w)) + f(g(w')))\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname f\text{ is linear } \right.} \\[0.3em] =\,&g(f(g(w) + g(w'))\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname g \text{ is the inverse of }\operatorname f \right.} \\[0.3em] =\,&g(w) + g(w'). \end{align}</math>}} Thus, the inverse function is additive.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>g</math> Is homogeneous. |beweisschritt= Let <math>w\in W</math> be a vector and <math>\lambda \in K</math> is a scalar. Then we have that {{Math|<math>\begin{align} &g(\lambda \cdot w) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname g \text{ is the inverse of }\operatorname f \right.} \\[0.3em] =\,&g(\lambda\cdot f(g(w)))\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname f\text{ is linear } \right.} \\[0.3em] =\,&g(f(\lambda \cdot g(w)))\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \operatorname g \text{ is the inverse of }\operatorname f \right.} \\[0.3em] =\,&\lambda \cdot g(w). \end{align} </math>}} Thus, the inverse function is homogeneous. }} Thus have shown that the inverse <math>g</math> is also linear.}} == Classifying Isomorphic Structures == === Bijections of Bases Generate an Isomorphism === In the [[#Anchor:Alternative Herleitung|alternative derivation]] , we used the intuition that an isomorphism is a linear map that "preserves bases". This means that bases are sent to bases and linear combinations are preserved. So, describing it a bit more formally, we considered the following: We already know the following: If <math>f\colon V\to W</math> is a linear map between two vector spaces and <math>f</math> is an isomorphism, then <math>f</math> maps bases of <math>V</math> to bases of <math>W</math>. But we don't know yet whether a linear map that sends a basis to a basis, is already an isomorphism. This statement indeed turns out to be true. {{Anchor|BasenImplizierenIsomorphismus}} {{:Math for Non-Geeks/Template:Satz |titel= |satz= Let <math> K </math> be a field, <math>V,W</math> two <math>K</math>-vector spaces, <math>B_V</math> a basis of <math>V</math> and <math>f:V \to W </math> a linear map. Then <math>f</math> is an isomorphism if and only if <math>B_V</math> is mapped by <math>f</math> to a basis of <math>W</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\implies</math> |beweisschritt= Let <math>f</math> be an isomorphism. Then <math>f</math> is by definition both a monomorphism and an epimorphism. We want to show that <math>f</math> preserves bases. That is, the image of <math>B_V</math> under <math>f</math> is a linearly independent generator of <math>W</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f(B_V)</math> is linearly independent |beweisschritt= We know from the article on [[Math for Non-Geeks/Monomorphisms|monomorphisms]] that those [[Math for Non-Geeks/Monomorphisms#Anchor:lineare Unabhängigkeit erhalten|preserve linear independence]]. The set <math>B_V</math> is a basis and thus linearly independent. So its image under <math>f</math> is also linearly independent. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f(B_V)</math> is a generator of <math>W</math> |beweisschritt= We know from the article on [[Math for Non-Geeks/Epimorphisms|epimorphisms]] that those [[Math for Non-Geeks/Epimorphisms#Anchor:Erzeugendensystem erhalten|preserve generators ]]. The set <math>B_V</math> is a basis and hence a generator of <math>V</math>. So its image under <math>f</math> is a generator of <math>W</math>. }} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\Longleftarrow</math> |beweisschritt= <math>f</math> maps <math>B_V</math> to a basis <math>B_W</math> of <math>W</math> . {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Injectivity |beweisschritt=Since <math>f</math> maps the linearly independent set <math>B_V</math> to the linearly independent set <math>B_W</math>, <math>f</math> preserves linear independence. From the article on [[Math for Non-Geeks/Monomorphisms|monomorphisms]] we know that <math>f</math> must thus be injective. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Surjectivity |beweisschritt= <math>f</math> maps the basis <math>B_V</math>, (which is in particular a generator), to the basis <math>B_W</math> (which is also a generator). From the article on [[Math for Non-Geeks/Epimorphisms|epimorphisms]] we know that <math>f</math> must thus be surjective. }} <math>f</math> is linear by premise. Together with injectivity and surjectivity it follows that <math>f</math> is an isomorphism. }} }} {{Anchor|BijektivImpliziertIsomorphismus}} {{:Math for Non-Geeks/Template:Satz |titel= |satz=Let <math>V</math> and <math>W</math> be two <math>K</math>-vector spaces with bases<math>B_V</math> and <math>B_W</math>. Let further <math>h\colon B_V\to B_W</math> be a bijective mapping. Then there is exactly one isomorphism <math>f\colon V\to W</math> with <math>f|_{B_V}=h</math>. |beweis= From the article about [[Math for Non-Geeks/Linear continuation|linear continuation]] we know that we can find a unique linear map <math>f</math> with <math>f(b) = h(b) \in B_W</math> for all <math>b \in B_V</math>. Thus, as required by the premise, <math>f|_{B_V}=h</math>. We still have to show that the mapping <math>f</math> is an isomorphism. By the previous theorem, we must show that <math>f</math> maps a basis of <math>V</math> to a basis of <math>W</math>. Now we have constructed <math>f</math> exactly such that <math>f|_{B_V}=h</math>. That is, <math>f</math> maps the basis <math>B_V</math> to the basis <math>B_W</math> since <math>h</math> is bijective. So <math>f</math> is an isomorphism. }} {{Anchor|UmkehrabbildungInduzierterIsomorphismus}} If we have given a bijection between bases, then there is a nice description of the inverse of <math>f</math>: We know that <math>f^{-1}</math> is characterized by the conditions <math>f^{-1}\circ f = \operatorname{id}_V</math> and <math>f\circ f^{-1} = \operatorname{id}_W</math>. Further, the principle of linear continuation tells us that we need to know <math>f^{-1}</math> only on a basis of <math>W</math> to describe it completely. Now we have already chosen the basis <math>B_W</math> of W. That is, we are interested in <math>f^{-1}(b_W)</math> for <math>b_W\in B_W</math>. Because <math>h</math> is bijective, there is exactly one <math>b_V \in B_V</math> with <math> h(b_V) = b_W</math>. Therefore, we get <math>f^{-1}(b_W) = f^{-1}(f(b_V)) = b_V</math> from the above conditions. Now how can we describe this element <math>b_V</math> more precisely? <math>b_V</math> is the unique preimage of <math>b_W</math> under <math>h</math>. So <math>b_V = h^{-1}(b_W)</math>. In other words, <math>f^{-1}</math> is the linear map induced by <math>h^{-1}</math> from <math>W</math> to <math>V</math>. === Classification of Finite Dimensional Vector Spaces === When are two finite-dimensional vector spaces isomorphic? If <math>V</math> and <math>W</math> are finite-dimensional vector spaces, then we have bases <math>\{b_1,\ldots ,b_n\}</math> of <math>V</math> and <math>\{c_1,\ldots, c_m\}</math> of <math>W</math>. From the previous theorem, we know that an isomorphism is uniquely characterized by the bijection of the bases. When do we find a bijection between these two sets? Exactly when they have the same size, so <math>n = m</math>. Or in other words, if <math>V</math> and <math>W</math> have the same dimension: {{:Math for Non-Geeks/Template:Satz |titel=Finite dimensional vector spaces with the same dimension are isomorphic |satz=Let <math>V, W</math> be finite-dimensional vector spaces. Then: <math>\operatorname{dim}(V) = \operatorname{dim}(W) \Longleftrightarrow V \cong W </math> |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\implies</math> |beweisschritt= Let <math>\operatorname{dim}(V) = \operatorname{dim}(W)</math>. Two vector spaces are called isomorphic if there exists an isomorphism between them. [[#Anchor:BijektivImpliziertIsomorphismus|We know]] that an isomorphism exists between vector spaces if we can find a bijective mapping between the bases of them. Since <math>\operatorname{dim}(V) = \operatorname{dim}(W)</math>, we find a bijective mapping between bases. Thus, there exists an isomorphism between <math>V</math> and <math>W</math>. Thus, <math>V</math> and <math>W</math> are isomorphic. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\Longleftarrow</math> |beweisschritt= Let <math> V \cong W </math>. Let <math>f</math> be an isomorphism between <math>V</math> and <math>W</math>. [[#Anchor:BasenImplizierenIsomorphismus|We know]] that an isomorphism maps bases to bases. That is, <math>f(B_V)</math> is a basis of <math>W</math>. In particular, since the mapping is an isomorphism, it is bijective. Thus <math>|B_V| = |f(B_V)|</math>. This implies <math>\operatorname{dim}(V) = \operatorname{dim}(W)</math>. }} }} We have shown that all <math>K</math>-vector spaces of dimension <math>n</math> are isomorphic. In particular, all such vector spaces are isomorphic to the vector space <math>K^n</math>. Because the <math>K^n</math> is a well-describable model for a vector space, let us examine in more detail the isomorphism constructed in the last theorem. Let <math>V</math> be an <math>n</math>-dimensional <math>K</math>-vector space. We now follow the proof of the last theorem to understand the construction of the isomorphism. We use that bases of <math>V</math> and of <math>K^n</math> have the same size. For the isomorphism, we construct a bijection between a basis of <math>V</math> and a basis of <math>K^n</math>. The space <math>K^n</math> has as kind of "standard basis", given by the canonical basis <math>\{e_1, \dots, e_n\}</math>. Following the proof of the last theorem, we see that we must choose a basis of <math>V</math> and a basis of <math>K^n</math>. For <math>K^n</math> we choose the standard basis <math>E</math> and for <math>V</math> we choose some basis <math>B</math> of <math>V</math>. Next, we need a bijection <math>h\colon E \to B</math> between the standard basis and the basis <math>B</math>. That is, we need to associate exactly one <math>b\in B</math> with each <math>e_i</math>. We can thus name the images of <math>e_i</math> as <math>b_i = h(e_i)</math>. Because <math>h</math> is bijective, we get <math>B = \{b_1, \dots, b_n\}</math>. In essence, we have used this to number the elements of B. Mathematically, numbering the elements of <math>B</math> is the same as giving a bijection from <math>E</math> to <math>B</math>, since we can simply map <math>e_i</math> to the <math>i</math>-th element of <math>B</math>. The principle of linear continuation now provides us with an isomorphism <math>f\colon K^n \to V</math>. By linear continuation, this isomorphism sends the vector <math>(x_1,\dots, x_n)^T\in K^n</math> to the element <math>f((x_1,\dots, x_n)^T) = x_1\cdot b_1+ \dots + x_n\cdot b_n</math>. Now what about the map that sends <math>B</math> to <math>E</math>, i.e., the inverse map <math>f^{-1}</math> of <math>f</math>? We have already computed [[#Anchor:UmkehrabbildungInduzierterIsomorphismus|above]] what the mapping <math>f^{-1}</math> looks like in this case. <math>f^{-1}</math> is just the mapping induced by <math>h^{-1}</math> via the principle of linear continuation. That is, for basis vectors, we know that <math>f</math> maps <math>b_i\in B</math> to <math>h^{-1}(b_i)=e_i</math>. And where does it map a general vector <math>v\in V</math>? Here, we use the principle of linear continuation: We write <math>v</math> as a linear combination of our basis <math>v = \lambda_1 b_1+\dots + \lambda_n b_n</math>. By linearity, the mapping <math>f^{-1}</math> now sends <math>v</math> to <math>f^{-1}(v) = (\lambda_1,\dots, \lambda_n)^T</math>. In particular, the <math>\lambda_i</math> describe where <math>v</math> is located with respect to the basis vectors <math>b_i</math>. This is just like GPS coordinates, which tells you your position with respect to certain anchor points (there prime meridian and equator). Therefore, we can say that <math>f^{-1}</math> sends each vector to its coordinates with respect to the basis <math>B</math>. {{:Math for Non-Geeks/Template:Definition |titel=Coordinate mapping |definition= Let <math>V</math> be a <math>n</math>-dimensional <math>K</math>-vector space and <math>b_1, \dots, b_n</math> a basis of <math>V</math>. We define the isomorphism <math>k_{b_1,\dots, b_n}\colon V \to K^n</math> as the continuation of the following bijection between the base <math>b_1,\dots, b_n</math> and the standard basis of <math>K^n</math>: {{Math|<math>\{b_1,\dots, b_n\} \to \{e_1,\dots, e_n\}; b_i \mapsto e_i</math>}} We call <math>k_{b_1,\dots, b_n}</math> the coordinate mapping with respect to <math>b_1, \dots, b_n</math>. }} We now want to investigate how many choices the construction of the coordinate map depends on. {{:Math for Non-Geeks/Template:Beispiel |titel= Coordinate mapping between the vector space of real quadratic polynomials and <math>\R^3</math> |beispiel=We consider the two <math>\R</math>-vector spaces <math>W:= \R^3</math> and that of real polynomials of degree <math> \leq 2 := P_{\leq 2}</math>. The coordinate mapping then looks like this: <math>k_{1, x, x^2}: P_2 \to W</math>, <math>a_0 + a_1 x + a_2x^2 \mapsto (a_0, a_1, a_2)</math>. }} The coordinate mapping depends on the choice of the basis. If you have different bases, you get different mappings. {{:Math for Non-Geeks/Template:Beispiel |titel=Different bases create different coordinate mappings |beispiel=We consider the following two bases of <math>\R^2</math>: <math>B = \{(1,0)^T, (0,1)^T\}</math> and <math>C = \{(1,1)^T, (1,-1)^T\}</math>. For <math>x=(x_1,x_2)\in\R^2</math> we have {{Math|<math>x=x_1\cdot \begin{pmatrix}1\\0\end{pmatrix}+x_2\cdot \begin{pmatrix}0\\1\end{pmatrix}</math>}} So the coordinate mapping with respect to <math>B</math> looks like this {{Math|<math>k_{(1,0)^T,(0,1)^T}\colon \R^2\to\R^2 ,\quad \begin{pmatrix}x_1\\ x_2\end{pmatrix} \mapsto \begin{pmatrix}x_1\\ x_2\end{pmatrix}</math>}} For the base <math>C</math> we have {{Math|<math>x=\frac{x_1+x_2}{2}\cdot \begin{pmatrix}1\\1\end{pmatrix}+\frac{x_1-x_2}{2}\cdot \begin{pmatrix}1\\-1\end{pmatrix}</math>}} Thus, the coordinate mapping with respect to <math>C</math> is. {{Math|<math>k_{(1,1)^T,(1,-1)^T}\colon \begin{pmatrix}x_1\\ x_2\end{pmatrix} \mapsto \begin{pmatrix}\frac{x_1+x_2}{2}\\ \frac{x_1-x_2}{2}\end{pmatrix}.</math>}} These two mappings are not the same. For example {{Math|<math>k_{(1,0)^T,(0,1)^T}\left(\begin{pmatrix}1\\3 \end{pmatrix}\right)=\begin{pmatrix}1\\3\end{pmatrix}\neq \begin{pmatrix}2\\-1\end{pmatrix}=k_{(1,1)^T,(1,-1)^T}\left(\begin{pmatrix}1\\3 \end{pmatrix}\right)</math>}} }} Even if we only change the numbering of the elements of a base, we already get different coordinate mappings. {{:Math for Non-Geeks/Template:Beispiel |titel=Different numbering of the basis result in different coordinate images |beispiel=We consider the standard basis <math>B = \{(1,0)^T, (0,1)^T\}</math> of <math>\R^2</math>. We want to find out what the coordinate mappings <math>k_{(1,0)^T,(0,1)^T}</math> and <math>k_{(0,1)^T,(1,0)^T}</math> look like. For <math>k_{(1,0)^T,(0,1)^T}</math> we already know this: {{Math|<math>k_{(1,0)^T,(0,1)^T}\colon \R^2\to\R^2 ,\quad \begin{pmatrix}x_1\\ x_2\end{pmatrix} \mapsto \begin{pmatrix}x_1\\ x_2\end{pmatrix}</math>}} For <math>x=(x_1,x_2)^T</math> we have {{Math|<math>x=x_2\cdot \begin{pmatrix}0\\1\end{pmatrix}+x_1\cdot \begin{pmatrix}1\\0\end{pmatrix}.</math>}} The construction of the coordinate mapping thus provides us with the following description {{Math|<math>k_{(0,1)^T,(1,0)^T}\colon \R^2\to\R^2 ,\quad \begin{pmatrix}x_1\\ x_2\end{pmatrix} \mapsto \begin{pmatrix}x_2\\ x_1\end{pmatrix}</math>}} These two mappings are different. For example {{Math|<math>k_{(1,0)^T,(0,1)^T}\left(\begin{pmatrix}2\\1 \end{pmatrix}\right)=\begin{pmatrix}2\\1\end{pmatrix}\neq \begin{pmatrix}1\\2\end{pmatrix}=k_{(0,1)^T,(1,0)^T}\left(\begin{pmatrix}2\\1 \end{pmatrix}\right).</math>}} }} In order to speak of ''the'' coordinate mapping, we must also specify the order of the basis elements. A basis where we also specify the order of the basis elements is called an ''ordered basis''. {{:Math for Non-Geeks/Template:Definition |titel=Ordered basis |definition = Let <math>K</math> be a field and <math>V</math> a finite-dimensional <math>K</math>-vector space. Let <math> B = (b_1, \dots, b_n) \in V^n</math>. Then we call <math>B</math> an ordered basis of <math>V</math> if <math>\{b_1, \dots, b_n\}</math> is a basis of <math>V</math>. }} With this notion we can simplify the notation of the coordinate mapping. If <math>B =(b_1, \dots, b_n)</math> is an ordered basis, we also denote the coordinate mapping <math>k_{b_1, \dots, b_n}</math> as <math>k_B</math>. We have now talked about a class of isomorphisms from <math>V</math> to <math>K^n</math>. Are there any other isomorphisms from <math>V</math> to <math>K^n</math>? That is, are there isomorphisms that are not coordinate mappings? In fact, ''every'' isomorphism from <math>V</math> to <math>K^n</math> is a coordinate mapping with respect to a proper basis. {{:Math for Non-Geeks/Template:Satz |titel=All isomorphisms <math>V\to K^n</math> are coordinate mappings |satz=Let <math>f\colon V \to K^n</math> be an isomorphism. Then there is exactly one ordered basis <math>B</math> of <math>V</math> such that <math>f = k_B</math>. |lösungsweg= We have constructed the coordinate mapping as an inverse mapping. For this we bijectively mapped the standard basis of <math>K^n</math> to a basis of <math>V</math>. To reconstruct this basis, we need to consider the preimages of the standard basis under <math>f</math>. That is, we need <math>B = f^{-1}(E)</math>, which requires choosing an ordering of <math>B</math>. For instance, we may set <math>b_i = f^{-1}(e_i)</math>. Now, we know that <math>B</math> is a basis because <math>f^{-1}</math> is an isomorphism. Further, we have just above applied the principle of linear continuation backwards, which told us that all of <math>f^{-1}</math> is induced by only the bijection <math>e_i \mapsto b_i</math>. Further above, we have also seen that <math>f</math> is already induced by the bijection <math>b_i \mapsto e_i</math>. But this gives exactly the coordinate mapping with respect to <math>B</math>. |beweis=We define <math>b_i:=f^{-1}(e_i)</math> for <math>1\leq i\leq n</math>. Then <math>\{b_1,\dots ,b_n\}</math> is the image of the standard basis under the mapping <math>f^{-1}</math>. Since <math>f^{-1}</math> is an isomorphism, it maps bases to bases. Thus <math>b_1,\ldots , b_n</math> is a basis of <math>V</math>. Define the ordered basis <math>B:=(b_1,\dots , b_n)</math>. We now show <math>f=k_B</math>. For this it is sufficient to prove equality on the basis <math>B</math>, since <math>f</math> and <math>k_B</math> are linear. For any <math>b_i</math> it holds that {{Math|<math>f(b_i)=f(f^{-1}(e_i))=e_i=k_B(b_i).</math>}} So indeed, <math>f=k_B</math>. }} == Examples of vector space isomorphisms == {{:Math for Non-Geeks/Template:Beispiel |titel=Real polynomials of <math>n</math>-th degree and <math>\R^{n+1}</math> |beispiel=For <math>n=2</math> , we can establish an isomorphism between the space of polynomials of at most second degree <math>\R[X]_{\leq 2}</math> and the space <math>\R^3</math>. We define the mapping <math>f: \R[X]_{\leq 2}\to \R^3</math> vis <math>f(p)=(p(-1),\, p(0),\, p(1))^T </math>. Claim: <math>f</math> is an isomorphism. For this, we need to prove three things: # <math>f</math> is a linear map <math>f: \R[X]_{\leq 2}\to \R^3</math> # <math>f</math> is injective # <math>f</math> is surjective {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Linearity of <math>f</math> |beweisschritt=Since <math>f(p)</math> is defined for every polynomial <math>p\in \R[X]_{\leq 2}</math> and has values in <math>\R^3</math>, <math>f</math> is well-defined as a mapping. So we still have to prove that for <math>p_1, p_2\in \R[X]_{\leq 2}</math> and <math>\lambda \in \R</math> it always holds that <math>f(p_1+p_2)=f(p_1)+f(p_2)</math> and <math>f(\lambda p)=\lambda f(p)</math>. This is completely analogous to [[Math for Non-Geeks/Subspace#Anchor:Polynomraum|this calculation]]. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Injectivity of <math>f</math> |beweisschritt=Let <math>p\in \R[X]_{\leq 2} </math> and <math>f(p)=(0,0,0)^T</math>. This means that the polynomial of the highest second degree <math>p</math> has three zeros:<math>p(-1)=p(0)=p(1)=0</math>. It follows (e.g., with polynomial division) that we can write <math>p</math> as <math>p(x)=(x+1)\cdot (x-0)\cdot(x-1)\cdot q(x)</math>, where <math>q</math> is again a polynomial (or a constant, i.e., a zero-degree polynomial). But because the degree of <math>p</math> is at most two, <math>q</math> must be constant and equal to <math>0</math>, and thus <math>p</math> is then the zero polynomial, i.e. the zero vector of the vector space <math>\R[X]_{\leq 2}</math>. Now, since the kernel of <math>f</math> consists only of the zero vector, <math>f</math> is injective. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Surjectivity of <math>f</math> |beweisschritt= In proving this assertion, we use [[w:EN:Polynomial interpolation|polynomial interpolation]] in the Lagrangian form. For this purpose we define three polynomials <math>p_1, p_2, p_3\in \R[X]_{\leq 2}</math> via {{Math|<math>\begin{align} p_1(x) &= \dfrac{(x-0)(x-1)}{(-1-0)(-1-1)} \\ p_2(x) &= \dfrac{(x-(-1))(x-1)}{(0-(-1))(0-1)} \\ p_3(x) &= \dfrac{(x-(-1))(x-0)}{(1-(-1))(1-0)} \end{align}</math>}} <math>p_1</math> has zeros at <math>x=0</math> and <math>x=1</math>, and the denominator is the numerator at the position <math>x=-1</math>. Hence <math>p_1(-1)=1</math>, since the numerator and denominator then contain the same number. Quite analogously, <math>p_2(-1)=p_2(1)=0</math> and <math>p_2(0)=1</math> as well as <math>p_3(-1)=p_3(0)=</math> and <math>p_3(1)=1</math>. Now, if we have any vector <math>x=(x_1,x_2,x_3)^T\in\R^3</math>, then we define the polynomial <math>p\in \R[X]_{\leq 2}</math> by {{Math|<math>p(x)=x_1\cdot p_1(x)+x_2\cdot p_2(x)+x_3\cdot p_3(x)</math>}} Then, <math>p(-1)=x_1\cdot 1+x_2\cdot 0+x_3\cdot 0=x_1</math> and analogously <math>p(0)=x_1\cdot 0+x_2\cdot 1+x_3\cdot 0=x_2</math> as well as <math>p(1)=x_1\cdot 0+x_2\cdot 0+x_3\cdot 1=x_3</math>. Thus, we have shown that <math>f</math> is surjective. }} We also see that we can use this procedure for arbitrary degrees of polynomials and arbitrary points, as long as the number of points is equal to the maximum degree of the polynomials plus 1. We can also replace <math>\R</math> everywhere by <math>\Q</math> or <math>\C</math> without the need to change anything in the proof. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Convergent sequences modulo zero sequences |beispiel=Let <math>K \in \{\R, \Complex\}</math>. We already know the vector spaces <math>c, c_0 \subseteq \omega</math> of convergent sequences and of zero sequences. We also know that <math>c_0 \subseteq c</math> is a subspace. Therefore, we can form the factor space <math>V := c / c_0</math>. In the following, we will show that <math>V \cong K</math>. We define a mapping {{Math|<math>\begin{align} \Phi \colon K &\to V \\ \lambda &\mapsto [(\lambda)_{i\in\N}]. \end{align}</math>}} So the image of <math>\lambda \in K</math> under this map is the coset of the sequence which takes the constant value <math>\lambda</math>. This is convergent with limit <math>\lambda</math>. We have to show that <math>\Phi</math> is linear and bijective. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Linearity of <math>\Phi</math> |beweisschritt=We need to show additivity and homogeneity of <math>\Phi</math> in order to get linearity. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Additivity of <math>\Phi</math> |beweisschritt=Let <math>\lambda, \mu \in K</math>. Then {{Math|<math>\begin{align} \Phi(\lambda) + \Phi(\mu) &= [(\lambda)_{i\in\N}] + [(\mu)_{i\in\N}] \\ &= [(\lambda)_{i\in\N} + (\mu)_{i\in\N}] \\ &= [(\lambda + \mu)_{i\in\N}] \\ &= \Phi(\lambda + \mu). \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Homogeneity of <math>\Phi</math> |beweisschritt=Let <math>\lambda, \kappa \in K</math>. We consider <math>\lambda</math> as a vector of the <math>K</math>-vector space <math>K</math> and <math>\kappa</math> as a scalar. Then {{Math|<math>\begin{align} \Phi(\kappa \cdot \lambda) &= [(\kappa \cdot \lambda)_{i \in \N}] \\ &= [\kappa \cdot (\lambda)_{i \in \N}] \\ &= \kappa \cdot [(\lambda)_{i \in \N}] \\ &= \kappa \cdot \Phi(\lambda). \end{align}</math>}} }} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Injectivity of <math>\Phi</math> |beweisschritt=We need to show that <math>\ker(\Phi) = 0</math> . So let <math>\lambda \in \ker(\Phi)</math>. That means, <math>0 = \Phi(\lambda) = [(\lambda)_{i\in\N}]</math>. Thus, we have <math>(\lambda)_{i\in\N} \in c_0</math>. Therefore, <math>\lambda = \lim_{i \to \infty} \lambda = 0</math> which establishes the assertion. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Surjectivity of <math>\Phi</math> |beweisschritt=Let <math>x=[(x_i)_{i\in\N}] \in V</math> and let <math>\lambda=\lim_{i\to\infty}x_i</math>. We set <math>y=[(\lambda)_{i\in\N}]=\Phi(\lambda)</math>. Then <math>\lim_{i\to\infty}|x_i-y_i|=\lim_{i\to\infty}|x_i-\lambda|=0</math>. Therefore <math>(x_i)_{i\in\N} - (\lambda)_{i\in\N} \in c_0</math>, which implies <math>x=y=\Phi(\lambda)</math>. This establishes surjectivity. }} }} {{:Math for Non-Geeks/Template:Beispiel |titel=The isomorphism theorem |beispiel=One of the most important examples is the isomorphism between the image space of a linear map <math>L:V\to W</math> and the quotient space <math>V/ \ker L</math>. All this is described [[Math_for_Non-Geeks/Homomorphism theorem and Isomorphism theorem|here]]. }} == Exercises == <section begin=aufgaben_isomorphismus /> {{:Math for Non-Geeks/Template:Aufgabe |titel=complex <math>\R</math>-vector spaces |aufgabe=Let <math>V</math> be a finite-dimensional <math>\Complex</math>-vector space. Show that <math>V \cong \R^{2\operatorname{dim}_\Complex(V)}</math> (interpreted as <math>\R</math>-vector spaces). |lösung=Set <math>n := \operatorname{dim}_\Complex(V)</math>. We choose a <math>\Complex</math> basis <math>\mathcal B = \{b_1, \dots, b_n\}</math> of <math>V</math>. Define <math>c_j := i \cdot b_j</math> for all <math>1 \leq j \leq n</math>. We have to show that <math>\{b_1, \dots, b_n, c_1, \dots, c_n\}</math> is an <math>\R</math>-basis of <math>V</math>. Then, <math>\operatorname{dim}_\R(V) = 2n = \operatorname{dim}_\R(\R^{2n})</math>. According to [[#Satz:Endlich_dimensionale_Vektorräume_mit_gleicher_Dimension_sind_isomorph_und_umgekehrt|a theorem above]], we have <math>V \cong \R^{2n}</math> as <math>\R</math>-vector spaces. We now show <math>\R</math>-linear independence. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\{b_1, \dots, b_n, c_1, \dots, c_n\}</math> is <math>\R</math>-linearly independent |beweisschritt=Let <math>\beta_1,\dots,\beta_n,\gamma_1, \dots,\gamma_n \in \R</math> and assume that <math>\sum_{j=1}^n\beta_j\cdot b_j + \sum_{j=1}^n\gamma_j\cdot c_j=0</math>. We substitute the definition for <math>c_j</math>, conclude the sums and obtain <math>\sum_{j=1}^n(\beta_j + i\cdot\gamma_j)\cdot b_j=0</math>. By <math>\Complex</math>-linear independence of <math>b_j</math> we obtain <math>\beta_j + i\cdot\gamma_j=0</math> for all <math>j \in\{1,\dots,n\}</math>. Thus, <math>\beta_j=\gamma_j=0</math> for all <math>j\in\{1,\dots,n\}</math>. This establishes the <math>\R</math>-linear independence. }} Now only one step is missing: {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\{b_1, \dots, b_n, c_1, \dots, c_n\}</math> is a generator with respect to <math>\R</math> |beweisschritt=Let <math>v \in V</math> be arbitrary. Since <math>\mathcal B</math> is a <math>\Complex</math>-basis of <math>V</math> , we can find some <math>\lambda_1, \dots, \lambda_n \in \Complex</math>, such that <math>v = \sum_{j=1}^n \lambda_j \cdot b_j</math> . We write <math>\lambda_j = \beta_j + \gamma_j i</math> with <math>\beta_j, \gamma_j \in \R</math> for all <math>j</math>. Then we obtain {{Math|<math>\begin{align} v &= \sum_{j=1}^n \lambda_j \cdot b_j \\ &= \sum_{j=1}^n (\beta_j + \gamma_j i) \cdot b_j \\ &= \sum_{j=1}^n (\beta_j \cdot b_j + \gamma_j \cdot (i \cdot b_j)) \\ &= \sum_{j=1}^n (\beta_j \cdot b_j + \gamma_j \cdot c_j) \\ &= \sum_{j=1}^n \beta_j \cdot b_j + \sum_{j=1}^n \gamma_j \cdot c_j. \end{align}</math>}} So <math>v</math> is inside the <math>\R</math>-span of <math>\{b_1, \dots, b_n, c_1, \dots, c_n\}</math>. This establishes the assertion. }} }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Isomorphic coordinate spaces |aufgabe=Let <math>K</math> be a field and consider <math>n, m \in \N_0</math>. Prove that <math>K^n \cong K^m</math> holds if and only if <math>m = n</math>. |lösung=We know that <math>\operatorname{dim}(K^k) = k</math> for all <math>k \in \N_0</math>. We use [[#Satz:Endlich_dimensionale_Vektorräume_mit_gleicher_Dimension_sind_isomorph_und_umgekehrt|the theorem above]], which states that finite-dimensional vector spaces are isomorphic exactly if their dimensions coincide. So <math>K^n \cong K^m</math> holds if and only if <math>n = \operatorname{dim}(K^n) = \operatorname{dim}(K^m) = m</math> . }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Isomorphism criteria for endomorphisms |aufgabe=Let <math>K</math> be a field, <math>V</math> a finite-dimensional <math>K</math>-vector space and <math>f : V \to V</math> a <math>K</math>-linear map. Prove that the following three statements are equivalent: (i) <math>f</math> is an isomorphism. (ii) <math>f</math> is injective. (iii) <math>f</math> is surjective. (Note: For this task, it may be helpful to know the terms [[Math for Non-Geeks/Kernel of a linear map|kernel]] and [[Math for Non-Geeks/Image of a linear map|image]] of a linear map. Using the [[Math for Non-Geeks/Intuition behind Isomorphism Theorem and Dimension Formula#Dimensionssatz|dimension theorem]], this exercise becomes much easier. However, we give a solution here, which works without the dimension theorem). |lösung=(i)<math>\implies</math>(ii) and (iii): According to the definition of an isomorphism, <math>f</math> is bijective, i.e. injective and surjective. Therefore (ii) and (iii) hold. (ii)<math>\implies</math>(i): Let <math>f</math> be an injective mapping. We need to show that <math>f</math> is also surjective. The image <math>\mathrm{im}(f):=\{ f(v) ~|~ v\in V\}</math> of <math>f</math> is a subspace of <math>V</math>. This can be verified by calculation. We now define a mapping <math>f'</math> that does the same thing as <math>f</math>, except that it will be surjective by definition. This mapping is defined as follows: {{Math|<math>\begin{align} f' : V &\to \mathrm{im}(f) \\ v&\mapsto f(v) \end{align}</math>}} The surjectivity comes from the fact that every element <math>w\in\mathrm{im}(f)</math> can be written as <math>w = f(v')</math>, for a suitable <math>v'\in V</math>. Moreover, the mapping <math>f'</math> is injective and linear. This is because <math>f</math> already has these two properties. So <math>V</math> and <math>\mathrm{im}(f)</math> are isomorphic. Therefore, <math>V</math> and <math>\mathrm{im}(f)</math> have the same finite dimension. Since <math>\mathrm{im}(f)</math> is a subspace of <math>V</math>, <math>\mathrm{im}(f)=V</math> holds. This can be seen by choosing a basis in <math>\mathrm{im}(f)</math>, for instance the basis given by the vectors <math>v_1,\dots,v_n\in\mathrm{im}(f)</math>. These <math>v_1,\dots,v_n</math> are also linearly independent in <math>V</math>, since <math>\mathrm{im}(f)\subseteq V</math>. And since <math>V</math> and <math>\mathrm{im}(f)</math> have the same dimension, the <math>v_1,\dots,v_n</math> are also a basis in <math>V</math>. So the two vector spaces <math>V</math> and <math>\mathrm{im}(f)</math> must now be the same, because all elements from them are <math>K</math>-linear combinations formed with the <math>v_1,\dots,v_n</math>. Thus, we have shown that <math>f</math> is surjective. (iii)<math>\implies</math>(i): Now suppose <math>f</math> is surjective. We need to show that <math>f</math> is also injective. Let <math>\mathrm{ker}(f):=\{v\in V~|~ f(v)=0\}</math> be the kernel of the mapping <math>f</math>. You may convince yourself by calculation, that this kernel is a subspace of <math>V</math>. Let <math>v_1,\dots,v_k</math> be a basis of <math>\mathrm{ker}(f)</math>. We can complete this (small) basis to a (large) basis of <math>V</math>, by including the additional vectors <math>v_{k+1},\dots,v_n</math>. We will now show that <math>f(v_{k+1}),\dots,f(v_n)</math> are linearly independent. So let coefficients <math>\lambda_{k+1},\dots,\lambda_n \in K</math> be given such that {{Math|<math>\begin{align} \lambda_{k+1}f(v_{k+1})+\dots+\lambda_n f(v_n) = 0. \end{align}</math>}} By linearity of <math>f</math> we conclude: <math> f(\lambda_{k+1}v_{k+1} + \dots \lambda_n v_n)=0</math>. This means that the linear combination {{Math|<math>\begin{align} \lambda_{k+1}v_{k+1} + \dots + \lambda_n v_n \end{align}</math>}} is in the kernel of <math>f</math>. But we already know a basis of <math>\mathrm{ker}(f)</math>. Therefore, there are coefficients <math>\lambda_1,\dots,\lambda_k\in K</math>, such that {{Math|<math>\begin{align} \lambda_{k+1}v_{k+1} + \dots + \lambda_n v_n = \lambda_1 v_1 + \dots + \lambda_k v_k. \end{align}</math>}} Because of the linear independence of <math>v_1,\dots,v_n</math> it now follows that <math>\lambda_1,\dots,\lambda_n = 0</math>. Therefore, the <math>f(v_{k+1}),\dots,f(v_n)</math> are linearly independent. Next, we will show that these vectors also form a basis of <math>V</math>. To do this, we show that each vector in <math>V</math> can be written as a linear combination of the <math>f(v_{k+1}),\dots,f(v_n)</math>. Let <math>w \in V</math>. Because of the surjectivity of <math>f</math>, there is a <math>v\in V</math>, with <math>w=f(v)</math>. Since the <math>v_1,\dots,v_n</math> form a basis of <math>V</math>, there are coefficients <math>\lambda_1,\dots,\lambda_n\in K</math> such that {{Math|<math>\begin{align} v = \lambda_1 v_1 + \dots + \lambda_n v_n \end{align}</math>}} If we now apply <math>f</math> to this equation, we get: {{Math|<math>\begin{align} w=f(v) = \lambda_1 \underbrace{f(v_1)}_{=0}+ \dots + \lambda_k \underbrace{f(v_k)}_{=0} + \lambda_{k+1} f(v_{k+1}) + \dots + \lambda_n f(v_n). \end{align}</math>}} Here we used the linearity of <math>f</math>. Since the first <math>k</math> elements of our basis are in the kernel, their images are <math>0</math>. So we get the desired representation of <math>w</math>: {{Math|<math>\begin{align} w=f(v) = \lambda_{k+1} f(v_{k+1}) + \dots + \lambda_n f(v_n). \end{align}</math>}} Thus, we have shown that <math>f(v_{k+1}),\dots,f(v_n)</math> forms a linearly independent generator of <math>V</math>. So these vectors form a basis of <math>V</math>. Now, if <math>k</math> were not <math>0</math>, two finite bases in <math>V</math> would not contain equally many elements. This cannot be the case. Therefore, <math>k=0</math>, so <math>\mathrm{ker}(f)</math> is the trivial vector space and <math>f</math> is indeed injective. }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Function spaces |aufgabe=Let <math>X</math> be a finite set with <math>n \in \N</math> elements and let <math>K</math> be a field. We have seen that the set of functions from <math>X</math> to <math>K</math> forms a <math>K</math>-vector space, denoted by <math>\operatorname{Fun}(X, K)</math>. Show that <math>\operatorname{Fun}(X, K) \cong K^n</math>. |lösung= We already know according to [[#Satz:Endlich dimensionale Vektorräume mit gleicher Dimension sind isomorph und umgekehrt|a theorem above]] that two finite dimensional vector spaces are isomorphic exactly if they have the same dimension. So we just need to show that <math>\operatorname{dim}(\operatorname{fun}(X,K))=n= \operatorname{dim}(K^n)</math> holds. To show this, we first need a basis of <math>\operatorname{Fun}(X, K)</math>. For this, let <math>x_1, \dots , x_n</math> be the elements of the set <math>X</math>. We define <math>f_1, \dots , f_n \in \operatorname{Fun}(X, K)</math> by {{Math|<math>f_j(x_i):=\delta_{i,j}=\begin{cases}1 ,\text{ for } i=j \\ 0, \text{ for } i\neq j. \end{cases}</math>}} We now show that the functions <math>f_1, \dots , f_n </math> indeed form a basis of <math>\operatorname{Fun}(X, K)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f_1, \dots , f_n</math> are linearly independent |beweisschritt= Let <math>\alpha_1, \dots, \alpha_n \in K</math> with <math>\sum_{k=1}^n\alpha_{k}\cdot f_{k}=0</math> being the zero function. If we apply this function to any <math>x_j</math> with <math>j \in \{1, \dots, n\}</math>, then we obtain: <math>\sum_{k=1}^n\alpha_k\cdot f_k(x_j)=0</math>. By definition of <math>f_1, \dots , f_n</math> it follows that {{Math|<math>0=\sum_{k=1}^n\alpha_kf_k(x_j)=\alpha_j\cdot f_j(x_j)=\alpha_j\cdot 1=\alpha_j</math>.}} Since <math>j</math> was arbitrary and <math>\sum_{k=1}^n\alpha_k\cdot f_k(x_j)=0</math> must hold for all <math>x_j \in X </math>, it follows that <math>\alpha_1=\dots=\alpha_n=0</math>. So we have shown that <math>f_1, \dots, f_n</math> are linearly independent. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f_1, \dots, f_n</math> generate <math>\operatorname{Fun}(X, K)</math> |beweisschritt= Let <math>g \in \operatorname{Fun}(X, K)</math> be arbitrary. We now want to write <math>g</math> as a linear combination of <math>f_1, \dots, f_n</math>. For this we show <math>g=\sum_{j=1}^n g(x_j)\cdot f_j</math>, i.e., <math>g</math> is a linear combination of <math>f_1, \dots, f_n</math> with coefficients <math>g(x_1), \dots, g(x_n) \in K</math>. We now verify that <math>g(x_i)=\sum_{j=1}^n g(x_j)\cdot f_j(x_i)</math> for all <math>i \in \{1,\dots ,n\}</math>. Let <math>i \in \{1, \dots, n\}</math> be arbitrary. By definition of <math>f_1, \dots, f_n</math> we obtain: {{Math|<math>\sum_{j=1}^n g(x_j)\cdot f_{j}(x_i)=g(x_i)\cdot f_{i}(x_i)=g(x_i)\cdot 1=g(x_i)</math>.}} Since equality holds for all <math>i</math>, the functions agree at every point and are therefore identical. So we have shown that <math>f_1, \dots, f_n</math> generate <math>\operatorname{Fun}(X, K)</math>.}} Thus, we have proved that <math>f_1, \dots , f_n</math> is a basis of <math>\operatorname{Fun}(X, K)</math>. Since we have <math>n</math> basis elements of <math>\operatorname{Fun}(X, K)</math>, it follows that <math>\operatorname{dim}(\operatorname{Fun}(X,K))=n=\operatorname{dim}(K^n)</math>. }}<section end=aufgaben_isomorphismus /> {{:Math for Non-Geeks/Template:Hinweis|If <math>X</math> is an infinite set, then <math>\operatorname{Fun}(X,K)</math> is infinite-dimensional. In the special case <math>X=\N</math>, <math>\operatorname{Fun}(X,K)</math> is isomorphic to the [[Math for Non-Geeks/Sequence spaces|sequence space]] <math>\omega</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 5almofyygk725tyylpiulnur66u7jx6 Math for Non-Geeks/Endomorphism and Automorphism 0 473505 4635292 4630496 2026-05-11T17:01:57Z Sascha Lill 95 3167325 adjust equation format 4635292 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} An endomorphism is a linear deformation of a vector space <math>V</math>. Formally, an endomorphism is a linear mapping <math>f</math> that sends <math>V</math> to itself, i.e., <math>f\colon V\to V</math>. A bijective endomorphism is called an automorphism. Intuitively, an automorphism is a linear deformation that can be undone. == Derivation == We already know [[Math for Non-Geeks/Linear map|linear maps]]. These are mappings between two vector spaces which are compatible with the (linear) vector space structure. We now examine a few examples of linear maps that we have already learned about in previous articles. === Examples in the <math>\R^2</math> === ==== Stretching in <math>x</math>-direction ==== First, we consider the stretching of a vector in the plane by a factor of <math>2</math> in the <math>x</math>-direction. Our mapping is thus {{Math|<math>f\colon \R^2\to\R^2 ,\ (x,y)\mapsto (2x,y).</math>}} One can easily verify that <math>f</math> is a linear map. We can illustrate <math>f</math> as follows: We place a checkerboard pattern in the plane and apply <math>f</math> to this checkerboard pattern. [[File:Stretching-of-the-x-axis.gif|center|300px|Stretching of the <math>x</math>-axis by a factor of <math>2</math>.]] The result is that the boxes are stretched by a factor of <math>2</math> in the <math>x</math>-direction. ==== Rotation around the origin ==== We now consider a rotation <math>D_\alpha</math> by the angle <math>\alpha</math> counter-clockwise, with the origin as center of rotation. This is a mapping <math>D_\alpha:\R^2\to\R^2</math> which assigns to each vector <math>v\in\R^2</math> the vector <math>D_\alpha(v)\in\R^2</math> rotated by the angle <math>\alpha</math>: [[File:Mfnf-linear-rotation.webm|frame|none|thumbtime=4|start=0|end=4|Drotation of a vector <math>v\in\R^2</math> by the angle <math>\alpha</math>]] In the [[Math for Non-Geeks/Linear map#Anchor:Drehungen|introductory article on linear maps]] we have seen that rotations about the origin are linear. We can visualize <math>D_\alpha</math> as in the first example by applying the mapping to the checkerboard pattern. The individual squares then sustain their shape, but they are rotated. ==== Projection on a line ==== [[File:Projection onto a line in two-dimensional space.svg|thumb|Application of <math>P</math> to two vectors]] At last, we consider the map {{Math|<math>P\colon \R^2\to\R^2,\ (x,y)\mapsto (x,x).</math>}} The map <math>P</math> "presses" vectors onto the straight line <math>G=\{a\cdot (1,1)^T| a\in \R\}</math>. You can easily check that <math>P</math> is a linear map. We also apply this linear map to the checkerboard pattern to visualize it. [[File:Projection-on-diagonal.gif|center|300px|Projection on the diagonal in the plane]] The entire grid is "flattened" onto the straight line <math>G</math>. === Linear deformations of an arbitrary vector space === In all the above examples, we were able to visualize the linear maps as distortions of the checkerboard pattern in <math>\R^2</math>. This was possible because all of the above functions map from <math>\R^2</math> into itself. We can illustrate any linear maps <math>\R^2\to\R^2</math> as a deformation of a checkerboard. The deformation of the checkerboard shows us how the map acts on the standard basis vectors <math>(1,0)^T</math> and <math>(0,1)^T</math> of <math>\R^2</math> and integer multiples of them. Any linear map <math>\R^2 \to \R^2</math> is a linear deformation of the space <math>\R^2</math>. Let us generalize this idea to general vector spaces <math>V</math>. We can think of linear maps from <math>V</math> to <math>V</math> as linear ''deformations'' or ''transformations'' of the vector space <math>V</math>. In contrast, a linear map <math>V</math> is a ''transport'' of the vector space <math>V</math> to <math>W</math>. We give a separate name to a linear map which deforms the vector space, i.e., which maps from <math>V</math> to <math>V</math>: Such a linear map will be called an ''endomorphism''. So endomorphisms are just those linear maps for which the domain of definition and the target space coincide. === Reversible deformations === In the examples in <math>\R^2</math> we have seen that some deformations preserve the space and others "flatten" it in a certain sense. The mappings that preserve space can be undone. When the space is flattened, the ma cannot be undone because information is lost. For example, in the above linear map "projection onto a straight line", information is lost about what the <math>y</math>-component of the original vector was. It is not possible to recover the vector after applying the transformation. So there are deformations of space that can be undone, and some that cannot. One can undo a deformation exactly if the associated mapping is bijective, i.e., invertible. This gives us the definition of a reversible deformation of space, i.e., an invertible endomorphism. Such a mapping is called an ''automorphism''. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Endomorphism and automorphism |definition=Let <math>V</math> be a <math>K</math>-vector space. A linear map <math>f\colon V\to V</math> that maps <math>V</math> to itself is called an ''endomorphism''. We denote the set of all endomorphisms of <math>V</math> by <math>\operatorname{End}_K(V)</math>. We call a bijective endomorphism ''automorphism''. The set of all automorphisms of <math>V</math> is denoted by <math>\operatorname{Aut}_K(V)</math>. }} {{:Math for Non-Geeks/Template:Hinweis|Every automorphism is a bijective linear map and therefore also an [[Math for Non-Geeks/Isomorphisms|isomorphism]]. But not every isomorphism is an automorphism. This is because isomorphisms can also map two different vector spaces to each other.}} == Examples {{Anchor|Beispiele}}== === Examples in <math>\R^2</math> === ==== Reflection ==== We consider the linear map <math>f\colon \R^2\to\R^2, (x,y)^T\mapsto (-x,y)^T</math>. Since it maps the vector space <math>\R^2</math> into itself, <math>f</math> is an endomorphism. The mapping <math>f</math> preserves <math>y</math> and sends <math>x</math> to <math>-x</math>. Thus, we can think of <math>f</math> as a reflection along the <math>y</math>-axis. We can undo a reflection by reflecting a second time. This means <math>f</math> is its own inverse mapping. Formally, this is denoted <math>f \circ f = \operatorname{id}_{\R^2}</math> or <math>f^{-1} = f</math>. Such a mapping is also called "self-inverse." Because <math>f</math> has an inverse, that is, it is invertible, it follows that <math>f</math> is bijective. Thus, <math>f</math> is also an automorphism. ==== Rotation by 90° ==== Next we consider the endomorphism <math>f\colon\R^2\to\R^2, (x,y)^T\mapsto (-y,x)^T</math>. This is a counter-clockwise rotation by <math>90</math> degrees. To convince yourself that <math>f</math> really is such a rotation, you may calculate how <math>f</math> acts on the standard basis vectors <math>(1,0)^T</math> and <math>(0,1)^T</math>. If it is such a rotation on these two vectors, then by linearity, <math>f</math> must be such a rotation everywhere. A short calculation gives <math>f((1,0)^T) = (0,1)^T</math>, as well as <math>f((0,1)^T) = (-1,0)^T</math>, which is exactly the desired rotation. Again, we can easily specify an inverse by "turning back" or rotating clockwise by <math>90</math> degrees. This rotation is given by <math>g\colon \R^2 \to \R^2, (x,y)^T \mapsto (y,-x)^T</math>. We briefly check that <math>g</math> is indeed the inverse of <math>f</math>: {{Math|<math>\begin{align}(f \circ g)\begin{pmatrix}x\\y\end{pmatrix} &= f\begin{pmatrix}y\\ -x\end{pmatrix}= \begin{pmatrix}-(-x)\\ y\end{pmatrix} = \begin{pmatrix}x\\y\end{pmatrix} \text{, as well as }\\[0.5em] (g \circ f)\begin{pmatrix}x\\y\end{pmatrix} &= g\begin{pmatrix}-y\\x\end{pmatrix} = \begin{pmatrix}x\\ -(-y)\end{pmatrix} = \begin{pmatrix}x\\y\end{pmatrix}\end{align}</math>}} for <math>(x,y)^T\in \R^2</math>. So <math>f\circ g=\operatorname{id}_{\R^2}=g\circ f</math> and <math>f</math> is also an automorphism in this example. ==== Shears ==== Let <math>f\colon \R^2\to\R^2, (x,y)^T\mapsto (x+2y, y)^T</math>. The following animation shows how this mapping deforms the plane. [[File:Shear-of-the-plane.gif|center|300px|Shear of the plane]] The transformation looks reversible, that is, it looks like an automorphism. We can check this by showing that <math>f</math> is both injective and surjective. To show injectivity, let us look at the [[Math for Non-Geeks/Kernel of a linear map|kernel]] of <math>f</math>, i.e., the set <math>\{(x,y)^T \in \R^2 \mid f((x,y)^T)=(0,0)^T\}</math>. For a vector <math>(x,y)^T</math> in the kernel, then <math>(x+2y,y)^T=(0,0)^T</math> holds. From this we directly get <math>y=0</math> and therefore also <math>x = x+2y= 0</math>. Thus, the kernel consists only of the zero vector and hence <math>f</math> is injective. To show surjectivity, we take any <math>(x',y')^T \in \R^2</math> and find a suitable preimage. That means, we are looking for some <math>(x,y)^T \in \R^2</math> with <math>(x+2y,y)^T = f((x,y)^T) = (x',y')^T</math>. It is directly clear that <math>y=y'</math> must hold. Furthermore, <math>x+2y = x+2y' =x'</math> must be true. This can be transformed to <math>x = (x'-2y')^T</math>. So <math>(x'-2y',y')^T</math> is a preimage of <math>(x',y')^T</math>. Since <math>(x',y')^T</math> was arbitrary, <math>f</math> is surjective. Linear maps of the form <math>f((x,y)^T)=(x+\lambda y,y)^T</math> with <math>\lambda \in K</math> are called shears. You can show as [[#Aufgabe:Scherungen sind Automorphismen|an exercise]] that a shear is always an automorphism, no matter what <math> \lambda </math> is. ==== Flattening to the <math>x</math>-axis==== Let us now consider the mapping <math>f\colon\R^2\to\R^2,(x,y)^T\mapsto (x+y,0)^T</math>. This is an endomorphism from <math>\R^2</math> to <math>\R^2</math> that maps every point on the plane to a point on the <math>x</math>-axis. So we can think of <math>f</math> as "flattening" the 2-dimensional plane onto the 1-dimensional <math>x</math>-axis." Since <math>f</math> maps the points in <math>\R^2</math> exclusively onto the <math>x</math> axis, <math>f</math> is not a surjective mapping. Nor is it injective, because for every <math>z \in \R</math> we can find different <math>x,y \in \R</math> such that <math>x+y=z</math> holds, e.g., <math>x=z, y=0</math> and vice versa. So <math>f</math> is not an automorphism. [[File: Animation_of_skewed_projection_on_x_axis.gif|center|350px|Flattening to the x-axis]] === Example in <math>\R^3</math> === Let us now consider an example in <math> \R^3</math>. For this we look at the linear map <math> f\colon \R^3\to\R^3, (x,y,z)^T\mapsto (x+y,x+y,z)^T</math>. Because <math>f</math> maps the vector space <math>\R^3</math> back to <math>\R^3</math>, the mapping is an endomorphism. We now want to check whether <math>f</math> is also an automorphism. To do this, we need to check surjectivity and injectivity. For injectivity, we consider the kernel of <math>f</math>, that is, the set <math>\{(x,y,z)^T \in \R^3 | f((x,y,z)^T)=(0,0,0)^T\}</math>. Thus, for vectors <math>(x,y,z)^T</math> from the kernel of <math>f</math>, <math>(x+y,x+y,z)^T= (0,0,0)^T</math> holds. From this we can directly conclude that <math>z=0</math> and <math>x+y=0</math>, so <math>y=-x</math>, must hold. We thus see that the kernel of <math>f</math> contains not only the zero vector, but also the set of all vectors <math>\{(x,-x,0)^T| x \in \R\}</math>. Hence, <math>f</math> is not injective and therefore cannot be bijective. In particular, <math>f</math> is not an automorphism. Visually, <math>f</math> compresses vectors onto the plane <math>\{(x,x,z)^T\mid x,z \in \R\}</math>. Thus, information is lost. Given a vector <math>(x,x,z)^T\in\R^3</math>, it is no longer possible to say in an unambiguous way from which vector <math>(a,b,z)^T\in\R^3</math> it arose under the mapping <math>f</math>, since there are very many ways to represent <math>x\in\R</math> as the sum of two numbers <math>a,b\in \R</math>. For example, <math> 5=2+3=1+4=-1000+1005</math>. === Example in sequence space === There are also endomorphisms on vector spaces other than <math>\R^2</math> and <math>\R^3</math>. For instance, we may take an arbitrary field <math>K</math> and consider, as a vector space over it, the sequence space {{Math|<math>\omega := \{ (x_i)_i \mid x_i \in K \text{ for all } i \in \N \}.</math>}} Now, we take the mapping {{Math|<math>\begin{align} f\colon \omega&\to\omega \\[0.3em] (x_i)_i&\mapsto f\left((x_i)_i\right)=(x_{k(i)})_i, \end{align}</math>}} where {{Math|<math> k(i)=\begin{cases}i-1&\text{if } i \text{ is even}\\ i+1&\text{if } i \text{ is odd}. \end{cases} </math>}} If we write out the first sequence members, the situation looks like this: {{Math|<math>f(x_1,x_2,x_3,x_4,\ldots)=(x_2,x_1,x_4,x_3,\ldots).</math>}} Thus, the mapping <math>f</math> interchanges even and odd sequence members. We briefly justify why <math>f</math> is linear. Addition and scalar multiplication in the sequence space is understood component-wise, i.e., for <math>(x_i)_i</math> and <math>(y_i)_i\in\omega</math> and <math>\lambda\in K</math> we have {{Math|<math> (x_i)_i+(y_i)_i=(x_i+y_i)_i \text{ and } \lambda\cdot (x_i)_i=(\lambda\cdot x_i)_i.</math>}} Since <math>f</math> only swaps the order of the components, <math>f</math> is linear. We can also check linearity of <math>f</math> explicitly. {{:Math for Non-Geeks/Template:Frage |frage=How do you directly show that <math>f</math> is linear? |antwort=We prove additivity and homogeneity of <math>f</math>. Let <math>(x_i)_i</math> and <math>(y_i)_i\in\omega</math> and <math>\lambda\in K</math>. Then {{Math|<math>\begin{align} &f((x_i)_i+(y_i)_i)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {addition of sequences} \right.}\\[0.3em] =&f((x_i+y_i)_i)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } f\right.}\\[0.3em] =& (x_{k(i)}+y_{k(i)})_i\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {addition of sequences} \right.}\\[0.3em] =&(x_{k(i)})_i+(y_{k(i)})_i\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } f\right.}\\[0.3em] =&f((x_i)_i)+f((y_i)_i) \end{align}</math>}} and {{Math|<math>\begin{align} &f(\lambda\cdot(x_i)_i)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {scalar multiplication of sequences} \right.}\\[0.3em] =&f((\lambda\cdot x_i)_i)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } f\right.}\\[0.3em] =& (\lambda\cdot x_{k(i)})_i\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {scalar multiplication of sequences} \right.}\\[0.3em] =&\lambda\cdot(x_{k(i)})_i)_i\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } f\right.}\\[0.3em] =&\lambda\cdot f((x_i)_i). \end{align}</math>}} }} So <math>f</math> is an endomorphism of <math>\omega</math>. Is <math>f</math> also an automorphism? To answer that, we need to verify that <math>f</math> can be undone. The mapping swaps even and odd sequence members. So if we swap the sequence members back, <math>f</math> is undone. This second swap can be done by just applying <math>f</math> again. As with the very first example, <math>f</math> is self-inverse - in formulas this is called <math>f\circ f=\operatorname{id}_\omega</math> or <math>f=f^{-1}</math>. Since <math>f</math> is invertible, the mapping is bijective. So <math>f</math> is an automorphism. == Endomorphisms form a ring with unit {{Anchor|Endomorphismen bilden einen Ring}}== In the article [[Math for Non-Geeks/Vector space of a linear map|Vector space of a linear map]] we saw that the set of linear maps <math>\operatorname{Hom}_K(V,W)</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math> again forms a vector space. Since <math>\operatorname{End}_K(V)=\operatorname{Hom}_K(V,V)</math> holds, the set of endomorphisms is also a vector space. That is, we can add endomorphisms of a vector space <math>V</math> and multiply them by scalars. In particular, we can link two endomorphisms <math>f</math> and <math>g\in \operatorname{End}_K(V)</math> by addition and obtain an endomorphism <math>f+g\in \operatorname{End}_K(V)</math>. This space is given by {{Math|<math>f+g: V\to V,\quad (f+g)(v):=f(v)+_V g(v)</math>}} where <math>+_V</math> denotes addition in the vector space <math>V</math>. Can <math>f</math> and <math>g</math> be connected in another way? Intuitively, <math>f</math> and <math>g</math> are two representations of the vector space <math>V</math>. We can now deform the space <math>V</math> with <math>f</math> and then deform the result with <math>g</math>. This produces a new deformation of the vector space. That is, we again get an endomorphism of <math>V</math>. This resulting mapping, that corresponds to applying <math>f</math> and <math>g</math> one after the other, is called [[Math for Non-Geeks/Function#Anchor:Komposition|composition]] and denoted <math>g\circ f</math>. Thus, the composition of two endomorphisms is always an endomorphism. In summary, we can "connect" two endomorphisms <math>f</math> and <math>g</math> by forming the addition <math>f+g</math> or the composition <math>g\circ f</math>. Because we have composition as an operation in addition to addition, <math>\operatorname{End}_K(V)</math> carries more structure than just vector space structure. We will prove later that the set <math>\operatorname{End}_K(V)</math> of endomorphisms on <math>V</math> forms a [[Math for Non-Geeks/Ring|ring]] with these two operations. Here, the addition in the ring is the addition of the mappings and the multiplication in the ring is the composition of the mappings. It is now an interesting question, when the ring <math>\operatorname{End}_K(V)</math> has a unit element and is commutative. If this was the case, we would even have a field and could build more vector spaces over it. Now, a unit element exists if there is a neutral element of multiplication. That is, if there is a <math>k \in \operatorname{End}_K(V)</math> such that <math>k \circ f = f </math> and <math>f\circ k=f</math> holds for all <math>f \in \operatorname{End}_K(V)</math>. We already know a mapping that satisfies this property: the ''identity'' <math>\operatorname{id}_V</math>. This is a linear map <math>V\to V</math> and so <math>\operatorname{id}_V\in \operatorname{End}_K(V)</math> holds. So the ring <math>\operatorname{End}_K(V)</math> has a unit element. Is <math>\operatorname{End}_K(V)</math> a commutative ring? To answer this, we need to check that <math> f\circ g=g\circ f</math> holds for all <math>f,g\in \operatorname{End}_K(V)</math>. To get an intuition whether the statement is true or false, we consider again examples with <math>\R^2</math>. Let <math>f\colon \R^2\to\R^2</math> be the projection onto the <math>y</math>-axis; that is, for <math>(x,y)\in\R^2</math>, <math>f(x,y)=(0,y)</math> holds. Furthermore, let <math>g\colon \R^2\to\R^2</math> be the rotation by <math>90^\circ</math> clockwise (or by <math>270^\circ</math> counter-clockwise) about the origin; that is, <math>g(x,y)=(-y,x)</math> holds. We want to investigate whether <math>f\circ g=g\circ f</math>. What do the maps <math>f\circ g</math> and <math>g\circ f</math> do visually? The map <math>g\circ f</math> first pushes all space onto the <math>y</math>-axis and then rotates it by <math>90^\circ</math> in a clockwise direction. So our result is on the <math>x</math>-axis. [[File:Rotation-after-y-axsis-projection.gif|center|300px|<math>g\circ f</math>]] The mapping <math>f\circ g</math> first rotates the space by <math>90^\circ</math> clockwise and then pushes everything to the <math>y</math>-axis. So the result of the mapping lies on the <math>y</math>-axis. [[File:Y-axsis-projection-after-rotation.gif|center|300px|<math>f\circ g</math>]] Consequently, <math>f\circ g</math> and <math>g\circ f</math> are different mappings. Therefore, <math>\operatorname{End}_{\R}(\R^2)</math> is ''not'' a commutative ring. More generally, for any vector space <math>V</math> with <math>\dim V\ge 2</math>, <math>\operatorname{End}_{K}(V)</math> is not a commutative ring. We deal with this below in a [[#Aufgabe:Nicht-Kommutativität im Endomorphismenring|corresponding exercise]]. As announced above, we now prove that <math>(\operatorname{End}_K(V),+,\circ)</math> is always a ring: {{:Math for Non-Geeks/Template:Satz |titel=Endomorphism ring |satz=Let <math>K</math> be a field and <math>V</math> be a <math>K</math>-vector space. Then the set of endomorphisms <math>\operatorname{End}_K(V) := \{ f \colon V \to V \mid f \text{ is linear} \}</math> on <math>V</math> together with addition <math>+</math> and composition <math>\circ</math> a ring with unit. For two endomorphisms <math>f, g \in \operatorname{End}_K(V)</math> , the endomorphisms <math>f+g\colon V \to V</math> and <math>f\circ g \colon V \to V</math> are defined by <math>(f + g)(v) := f(v) +_{V} g(v)</math> and <math>(f \circ g)(v) := f(g(v))</math> for <math>v\in V</math> Here, <math>+_V</math> is the addition on <math>V</math>. |beweis=In order that <math>(\operatorname{End}_K(V), + , \circ)</math> form a ring with unit, the following properties must be satisfied: {{#invoke:list|bulleted |The tuple (<math>\operatorname{End}_K(V), +</math>) is an Abelian group. # ''Associative law of addition:'' <math>\forall f,g,h \in \operatorname{End}_K(V):\ f + (g + h) = (f + g) + h </math> # ''Commutative law of addition:'' <math>\forall f,g \in \operatorname{End}_K(V):\ f + g = g + f</math> # ''Existence of an additive neutral element:'' <math>\exists e \in \operatorname{End}_K(V)\; \forall f \in {\operatorname{End}_K(V)} :\ e + f = f </math> # ''Existence of additive inverse:'' <math>\forall f \in \operatorname{End}_K(V)\; \exists f' \in \operatorname{End}_K(V) :\ f' + f = e </math> | # ''Associative law of multiplication:'' <math>\forall f,g,h \in \operatorname{End}_K(V):\ f \circ(g \circ h) = (f \circ g) \circ h </math> # ''Existence of a multiplicative neutral element:'' <math>\exists k \in \operatorname{End}_K(V)\; \forall f \in \operatorname{End}_K(V) :\ k \circ f = f </math> |# ''Distributive law I:'' <math>\forall f,g,h \in \operatorname{End}_K(V):\ f \circ (g + h) = f \circ g + f \circ h </math> # ''Distributive law II:'' <math>\forall f,g,h \in \operatorname{End}_K(V):\ (f + g) \circ h = f \circ h + g \circ h</math> }} Before we start with the proof, let's keep the following simple fact in mind: Let <math>f,g,h \in \operatorname{End}K(V)</math> and <math>x \in V</math>. The mappings <math>f, g</math> and <math>h</math> map elements of <math>V</math> to elements of <math>V</math>. Accordingly, <math>f(x), g(x), h(x)</math> are elements of <math>V</math>. By premise, <math>(V,+_V, \cdot_V)</math> is a <math>K</math> vector space. Therefore, we can apply the computational rules that hold in the <math>K</math>-vector space <math>V</math> to the elements <math>f(x), g(x), h(x)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=(<math>\operatorname{End}_K(V), +</math>) is an Abelian group |beweisschritt= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Associative law of addition |beweisschritt=The associative law of addition reds: <math> \forall f,g,h \in \operatorname{End}_K(V):\ f + (g + h) = (f + g) + h</math> We prove this equation by establishing for all <math>f,g,h \in \operatorname{End}_K(V)</math> the equality <math> (f + (g + h))(x) = ((f + g) + h)(x)</math> for each vector <math>x \in V</math>. So let <math>f,g,h \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.} \\ [0.3em] ((f + g) + h)(x) &=(f + g)(x) +_V h(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.} \\ [0.3em] &= (f(x) +_V g(x)) +_V h(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {associative law of addition in } V\right.}\\ [0.3em] &= f(x) +_V (g(x) +_V h(x)) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= f(x) +_V (g + h)(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= (f + (g + h))(x) \\ [0.3em] \end{align}</math>}} This shows the associative law of addition. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Commutative law of addition |beweisschritt=The commutative law of addition is: <math>\forall f,g \in \operatorname{End}_K(V):\ f + g = g + h</math> We prove this by establishing that for all <math>f,g \in \operatorname{End}_K(V)</math> we have <math> (f + g)(x) = (g + f)(x)</math> for each <math>x \in V</math>. So let <math>f,g \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.} \\ [0.3em] (f + g)(x) &=f(x) +_V g(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {commutativity of addition } V\right.}\\ [0.3em] &= g(x) +_V f(x) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= (g + f)(x) \\ [0.3em] \end{align}</math>}} This shows the commutativity of the addition. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence of an additive neutral element |beweisschritt=We need to show the following statement: <math>\exists e \in \operatorname{End}_K(V)\; \forall f \in {\operatorname{End}_K(V)}:\ e + f = f </math> We prove this statement by establishing: <math>\exists e \in \operatorname{End}_K(V)\; \forall f \in {\operatorname{End}_K(V)} :\ (e + f)(x) = f(x)\quad x \in V</math> For this, let us choose <math> e = 0_{\operatorname{Fun(V, V)}} \in \operatorname{End}K(V) \subseteq \operatorname{Fun}(V, V) </math>, where <math>0_{\operatorname{Fun(V, V)}}:V \rightarrow V, x \mapsto 0_{V}</math> is the zero map from <math>V</math> to <math>V</math>. We now show that <math>0_{\operatorname{Fun(V, V)}}</math> is the neutral element of the addition. For this, let <math>f \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.} \\ [0.3em] (0_{\operatorname{Fun(V, V)}} + f)(x) &=0_{\operatorname{Fun(V, V)}}(x) +_V f(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } 0_{\operatorname{Fun(V, V)}}\right.}\\ [0.3em] &= 0_{V} +_V f(x) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {Neutral element of addition in } V\right.}\\ [0.3em] &= f(x) \\ [0.3em] \end{align}</math>}} The additive neutral element here is therefore the zero mapping <math>0_{\operatorname{Fun(V, V)}}:V \rightarrow V, x \mapsto 0_{V}</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence of additive inverses |beweisschritt=We have to show the following statement: <math>\forall f \in \operatorname{End}K(V)\; \exists f' \in \operatorname{End}_K(V) :\ f' + f = 0_{\operatorname{Fun(V, V)}}</math> This is done by establishing: <math>\forall f \in \operatorname{End}K(V)\; \exists f' \in \operatorname{End}_K(V)\;\forall x \in V:\ (f' + f)(x) = 0_{V} = 0_{\operatorname{Fun(V, V)}}(x)</math> Since <math>V</math> is a <math>K</math>-vector space, any vector <math>v \in V</math> has an additive inverse, namely <math>-v</math>. Then <math> v +_{V} (- v) = 0_{V}</math> holds. Therefore, for any endomorphism <math>f \in \operatorname{End}_K(V)</math>, we can simply choose <math> f': V \rightarrow V, x \mapsto -f(x)</math>. Now we still have to show that. For this, let <math>f \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.} \\ [0.3em] (f' + f)(x) &=f'(x) +_V f(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } f'\right.}\\ [0.3em] &= - f(x) +_V f(x) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {additive inverse in } V\right.}\\ [0.3em] &= 0_{V} \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } 0_{\operatorname{Fun(V, V)}}\right.}\\ [0.3em] &= 0_{\operatorname{Fun(V, V)}}(x) \\ [0.3em] \end{align}</math>}} So the additive inverse of a mapping <math>f: V \rightarrow V, x \mapsto f(x)</math> is given by <math>f': V \rightarrow V, x \mapsto -f(x)</math>. }} We have thus proved that <math>(\operatorname{End}_K(V),+)</math> is an Abelian group. We could have shown this statement differently. In the article [[Math for Non-Geeks/Vector space of a linear map|Vector space of a linear map]] we considered the set of linear maps between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. We call this set <math>\operatorname{Hom}(V,W)</math>. We have seen that <math>\operatorname{Hom}(V,W)</math> forms a <math>K</math>-vector space. It is then true that <math>\operatorname{End}_K(V)=\operatorname{Hom}(V,V)</math>. So <math>\operatorname{End}_K(V)</math> is also a vector space and thus an Abelian group. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=(<math>\operatorname{End}_K(V), \circ</math>) is a monoid |beweisschritt= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Associative law of multiplication |beweisschritt=The associative law of multiplication in <math>\operatorname{End}_K(V)</math> is: <math>\forall f,g,h \in \operatorname{End}_K(V):\ f \circ(g \circ h) = (f \circ g) \circ h</math> This is true because the composition of mappings is associative. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence of a multiplicative neutral element |beweisschritt= We have to establish the following statement: <math>\exists k \in \operatorname{End}_K(V)\; \forall f \in {\operatorname{End}_K(V)}:\ k \circ f = f </math> This is proven by establishing the following statement: <math>\exists k \in \operatorname{End}_K(V)\; \forall f \in {\operatorname{End}_K(V)}\;\forall x \in V:\ (k \circ f)(x) = f(x)</math> We choose <math> k = \operatorname{id}_{V} \in \operatorname{End}K(V) \subseteq \operatorname{Fun}(V, V) </math>, where <math>\operatorname{id}_{V}:V \rightarrow V,\ x \mapsto x</math> is the identity on <math>V</math>. We further want to show that <math>k</math> is the neutral element of the multiplication. For this, let <math>f \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of } k\right.} \\ [0.3em] (k \circ f)(x) &=(\operatorname{id}_{V} \circ f)(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } \circ \right.} \\ [0.3em] &=\operatorname{id}_{V}(f(x)) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of} \operatorname{id}_{V}\right.}\\ [0.3em] &= f(x) \\[0.3em] \end{align}</math>}} So the neutral element of the multiplication in given by the identity on <math>V</math>, i.e., <math>\operatorname{id}_{V}:V \to V,\ x \mapsto x</math>. }} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Distributive laws |beweisschritt= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Distributive law I |beweisschritt=The distributive law I reads: <math>\forall f,g,h \in \operatorname{End}_K(V):\ f \circ(g + h) = f \circ g + f \circ h</math> We prove this equation by establishing for all <math>f,g,h \in \operatorname{End}_K(V)</math> the equality <math>(f \circ (g + h))(x) = (f \circ g + f \circ h)(x)</math> with <math>x \in V</math>. For this, let <math>f,g,h \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of the composition}\right.} \\ [0.3em] (f \circ (g + h))(x) &= f((g + h)(x)) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= f(g(x) +_{V} h(x)) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {f is linear}\right.}\\ [0.3em] &= f(g(x)) +_{V} f(h(x)) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of the composition}\right.}\\ [0.3em] &= (f \circ g)(x) +_{V} (f \circ h)(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= (f \circ g + f \circ h)(x) \end{align}</math>}} This establishes the distributive law I. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Distributive law II |beweisschritt=The distributive law II reads: <math>\forall f,g,h \in \operatorname{End}_K(V):\ (f + g) \circ h = f \circ h + g \circ h</math> We prove this equation by establishing the equation <math>((f + g) \circ h)(x) = (f \circ h + g \circ h)(x)</math> for all <math>f,g,h \in \operatorname{End}_K(V)</math> and <math>x \in V</math>. So let <math>f,g,h \in \operatorname{End}K(V)</math> and <math>x \in V</math>. Then {{Math|<math>\begin{align} & {\color{OliveGreen} \left\downarrow\ \text {definition of the composition}\right.} \\ [0.3em] ((f + g) \circ h)(x) &= (f + g)(h(x)) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= f(h(x)) +_{V} g(h(x)) \\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of the composition}\right.}\\ [0.3em] &= (f \circ h)(x) +_{V} (g \circ h)(x) \\ [0.3em] & {\color{OliveGreen} \left\downarrow\ \text {definition of } +\right.}\\ [0.3em] &= (f \circ h + g \circ h)(x) \end{align}</math>}} This establishes the distributive law II. }} }} }} == Automorphisms and flattening == === The finite-dimensional case === [[#Anchor:Beispiele|Above]] we have already examined some examples of endomorphisms and automorphisms. We have seen that endomorphisms which "flatten" a vector space are not bijective and therefore not automorphisms. On the other hand, endomorphisms which do not "flatten" a vector space are indeed automorphisms. {{:Math for Non-Geeks/Template:Frage |frage=What does "not flattening" mean in a mathematical language? |antwort=An endomorphism <math>f\colon V\to V</math> "does not flatten a vector space" if there is no vector <math>v\neq 0</math> mapped to zero by <math>f</math>. That is, for all vectors <math>v\neq 0</math>, <math>f(v)\neq 0</math> holds. Since <math>f</math> is a linear map, this is exactly the case if <math>f</math> is injective, i.e., if it is a [[Math for Non-Geeks/Monomorphisms|monomorphism]]. }} For endomorphisms of finite-dimensional vector spaces, being "non-flattening" is equivalent to being an automorphism: Let <math>f\colon V\to V</math> be an endomorphism of an <math>n</math>-dimensional vector space <math>V</math>. If the mapping <math>f</math> is an automorphism, then it is injective. So <math>f</math> does not flatten <math>V</math>. Conversely, if we assume that <math>f</math> does not flatten <math>V</math>, it follows that <math>f</math> is injective. Thus, no information from <math>V</math> is lost when mapping with <math>f</math>. From this, we can conclude that the [[Math for Non-Geeks/Image of a linear map|image]] <math>\operatorname{im}(f)=f(V)</math> is also <math>n</math>-dimensional. So <math>\operatorname{im}(f)=V</math> must hold. Thus, <math>f</math> is also surjective and therefore an automorphism. We have seen that an injective endomorphism over a finite-dimensional vector space is automatically surjective. Does the converse statement also hold? In other words: If <math>f\colon V\to V</math> is a ''surjective'' endomorphism of a <math>n</math>-dimensional vector space, does it follow that <math>f</math> is injective? If <math>f</math> is surjective, then <math>f(V)=V</math> and hence <math>\dim(f(V))=n</math> holds. Suppose <math>f</math> is not injective. Then there is a vector <math>0\neq v \in V</math> for which <math>f(v)= 0</math>. Thus, <math>f</math> "flattens the direction" in which <math>v</math> points. This means, when mapping <math>V</math> by <math>f</math>, we lose at least one dimension of <math>V</math>. Consequently, we would have <math>\dim (f(V))<n</math>. This is a contradiction to <math>\dim(f(V))=n</math>. Therefore, <math>f</math> must be injective. So if <math>f</math> is surjective, then <math>f</math> is also injective. {{todo|possibly refer to an explanation in the article "Linear maps between finite dimensional vector spaces" when it is written.}} We show these statements again formally in the following theorem. {{:Math for Non-Geeks/Template:Satz |titel=Endomorphisms on finite-dimensional vector spaces |satz=Let <math>V</math> be a finite-dimensional vector space and <math>f\colon V\to V</math> be an endomorphism. Then, the following statements are equivalent * <math>f</math> is an isomorphism * <math>f</math> is a monomorphism * <math>f</math> is an epimorphism |beweis=We already know that for two finite-dimensional vector spaces <math>V</math> and <math>W</math> with <math>\dim V=\dim W</math> and a linear map <math>f\colon V\to W</math>, that the three statements * <math>f</math> is an isomorphism * <math>f</math> is a monomorphism * <math>f</math> is an epimorphism are equivalent. So for an endomorphism <math>f\colon V\to V</math> from a finite-dimensional vector space <math>V</math>, the three statements must also be equivalent. {{todo|Link the theorem for general linear maps as soon as it is written}} }} === The infinite-dimensional case === In the infinite-dimensional case, the above argument no longer works. We have exploited in the finite-dimensional case that for an <math>n</math>-dimensional vector space <math>V</math> and a subspace <math>U\subseteq V</math> it already follows from <math>\dim(U)=n</math> that <math>V=U</math>. Above, we used <math>U=f(V)</math>. However, in infinite-dimensional vector spaces this does not hold. Here, a paradoxical effect occurs: One can place an infinite-dimensional subspace <math>U</math> into another infinite-dimensional space <math>V</math> of the same size, without filling all of <math>V</math> (This is related to [[w:en:Hilbert's_paradox_of_the_Grand_Hotel|Hilbert's Hotel paradox]]). So for endomorphisms <math>f\colon V\to V</math> of an infinite-dimensional vector space <math>V</math>, it does not hold that <math>f</math> is surjective exactly when <math>f</math> is injective. To understand this better, we now examine concrete counterexamples. {{:Math for Non-Geeks/Template:Beispiel |titel=An injective endomorphism that is not surjective |beispiel=Let <math>V=\{ (x_i)_i \mid x_i \in \R \text{ for all } i \in \N \}</math> be the [[Math for Non-Geeks/Sequence spaces|sequence space]] over <math>\R</math>. We define the endomorphism {{Math|<math>f\colon V\to V,\quad (x_1,x_2,x_3,\ldots)\mapsto (0,x_1,x_2,x_3,\ldots).</math>}} You can easily verify that <math>f</math> is linear. Why is <math>f</math> injective? For <math>x=(x_1,x_2,x_3,\ldots)\in V</math> with <math>f(x)=0</math> we have <math>0=x_1=x_2=x_3=\ldots</math>, so <math>x=0</math>. Thus, <math>\ker(f)=\{0\}</math> follows and <math>f</math> is injective. Why is <math>f</math> not surjective? To see this, we need to find a vector in <math>V</math> that is not "hit" by <math>f</math>. For instance, consider <math>(1,0,0,\ldots )\in V</math>. No matter which <math>x\in V</math> we choose, it holds for <math>f(x)</math> that the first sequence member is equal to <math>0</math>. So <math>(1,0,0,\ldots )</math> is never hit by <math>f</math>. Therefore, <math>f</math> is not surjective. }} {{:Math for Non-Geeks/Template:Hinweis|The procedure in this example is an example often given in the context of the [[w:en:Hilbert's_paradox_of_the_Grand_Hotel|Hilbert Hotel paradox]]. In this example, one shifts all elements of the set <math>\N</math> by <math>1</math> by the mapping {{Math|<math>\begin{align} g\colon \N&\to \N \\ n&\mapsto n+1. \end{align} </math>}} This mapping is also injective, but just like <math>f</math> it is not surjective. The difference is that <math>f</math> is a linear map between vector spaces and <math>g</math> is only a map on <math>\N</math>. So infinite-dimensional vector spaces show some similar weird effects as infinitely large sets. }} {{:Math for Non-Geeks/Template:Beispiel |titel=A surjective endomorphism that is not injective |beispiel=We consider again the [[Math for Non-Geeks/Sequence spaces|sequence space]] <math>V=\{(x_i)_i \mid x_i \in \R \text{ for all } i \in \N\}</math> over <math>\R</math>. Now we define the endomorphism {{Math|<math>f\colon V\to V,\quad (x_1,x_2,x_3,\ldots)\mapsto (x_2,x_3,x_4,\ldots).</math>}} So <math>f(x)_i=x_{i+1}</math> for <math>x=(x_i)_i\in V</math>. Again, one can easily verify that <math>f</math> is linear. First, we verify that <math>f</math> is surjective. For this, let <math>y=(y_1,y_2,y_3\ldots)\in V</math> be any vector. We want to find a vector <math>x\in V</math> for which <math>f(x)=y</math> holds. This is true for <math>x=(0,y_1,y_2,y_3,\ldots)\in V</math> and thus <math>f</math> is surjective. Why is <math>f</math> not injective? To see this, we need to find some <math>x\in V</math> with <math>f(x)=0</math> and <math>x\neq 0</math>. An example is (again) given by <math>x=(1,0,0,\ldots)\in V</math>. Then <math>x\neq (0,0,0,\ldots )=0</math>, but <math>f(x)=(0,0,0,\ldots)=0</math>. Thus, <math>f</math> is not injective. }} === The automorphism group === We know that the [[#Anchor:Endomorphismen bilden einen Ring|endomorphisms form a ring with unit]]. The automorphisms are exactly all invertible endomorphisms. In other words, the automorphisms of a vector space are exactly the multiplicatively invertible elements, of the endomorphism ring. Recall that the multiplication in the endomorphism ring is just the composition <math>\circ</math> of mappings. In the following theorem we show that <math>\operatorname{Aut}_K(V)</math> is indeed a group with respect to this multiplication. {{:Math for Non-Geeks/Template:Satz |titel=Automorphism group |satz=Let <math>K</math> be a field and <math>V</math> a <math>K</math>-Vector space. The set <math>\operatorname{Aut}_K(V) := \{ \, f \colon V \to V \, | \, f \text{ automorphism} \, \}</math> forms a group with respect to composition <math>\circ</math>. Further, we have <math>\operatorname{Aut}_K(V) = \operatorname{End}_K(V)^{\times}</math>. |beweis=We need to show that # <math>\operatorname{Aut}_K(V)</math> is closed with respect to <math>\circ</math> # <math>\circ</math> is associative # There is a neutral element with respect to <math>\circ</math> in <math>\operatorname{Aut}_K(V)</math> # Each element <math>f</math> in <math>\operatorname{Aut}_K(V)</math> has a multiplicative inverse. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Closedness with respect to <math>\circ</math> |beweisschritt=We prove that for all automorphisms <math>f</math> and <math>g\in \operatorname{Aut}_K(V)</math> it also holds that <math>f\circ g\in \operatorname{Aut}_K(V)</math>. For this, let <math>f</math> and <math>g\in\operatorname{Aut}_K(V)</math> . So <math>f</math> and <math>g</math> are also endomorphisms. Because <math>\operatorname{End}_K(V)</math> forms a ring with multiplication <math>\circ</math>, <math>\operatorname{End}_K(V)</math> is closed with respect to <math>\circ</math>. Thus, <math>f\circ g\in\operatorname{End}_K(V)</math> holds. So all we have to do is to justify that <math>f\circ g</math> is bijective. Because <math>f</math> and <math>g</math> are bijective, there are respectively inverses <math>f^{-1}\colon V\to V</math> and <math>g^{-1}\colon V\to V</math>. We now show that <math>g^{-1}\circ f^{-1}\colon V\to V</math> is the inverse of <math>f\circ g</math>. It holds that {{Math|<math>(f\circ g)\circ (g^{-1}\circ f^{-1})=f\circ(g\circ g^{-1})\circ f^{-1}=f\circ\operatorname{id}_V\circ f^{-1}=f\circ f^{-1}=\operatorname{id}_V</math>}} and {{Math|<math>(g^{-1}\circ f^{-1})\circ (f\circ g) =g^{-1}\circ (f^{-1}\circ f)\circ g=g^{-1}\circ\operatorname{id}_V\circ g=g^{-1}\circ g=\operatorname{id}_V.</math>}} So <math>f\circ g</math> has an inverse and is therefore bijective. Therefore, <math>f\circ g</math> is an automorphism. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Associativity of <math>\circ</math> |beweisschritt=We need to show that for all automorphisms <math>f,g</math> and <math>h\in\operatorname{Aut}_K(V)</math> the following holds {{Math|<math>f\circ(g\circ h)=(f\circ g)\circ h.</math>}} Let <math>f,g</math> and <math>h\in\operatorname{Aut}_K(V)</math> , as well as <math>v\in V</math> be any vector. Then {{Math|<math>\begin{align} &(f\circ(g\circ h))(v)\\ =&f((g\circ h)(v))\\ =&f(g(h(v)))\\ =&(f\circ g)(h(v))\\ =&((f\circ g)\circ h)(v). \end{align}</math>}} Since the mappings <math>f\circ(g\circ h)</math> and <math>(f\circ g)\circ h</math> coincide on all vectors <math>v\in V</math>, they are equal, i.e., <math>f\circ(g\circ h)=(f\circ g)\circ h</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence of a neutral element |beweisschritt=We need to find an element <math>e\in \operatorname{Aut}_K(V)</math> such that for all <math>f\in\operatorname{Aut}_K(V)</math> it is true that <math>f\circ e=f=e\circ f</math>. We choose <math> e:=\operatorname{id}_V</math>. Then <math>e\colon V\to V</math> , so <math>e</math> is linear. Thus, <math>e\in \operatorname{End}_K(V)</math>. Further, <math>e=\operatorname{id}_V</math> is bijective, so <math>e\in\operatorname{Aut}_K(V)</math>. Let now <math>f\in\operatorname{Aut}_K(V)</math> . Then {{Math|<math>f\circ e=f\circ \operatorname{id}_V=f=\operatorname{id}_V\circ f=e\circ f.</math>}} So <math>e</math> is the neutral element in <math>\operatorname{Aut}_K(V)</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence of a multiplicative inverse |beweisschritt=We prove that for every <math>f\in \operatorname{Aut}_K(V)</math> there exists an automorphism <math>g\in\operatorname{Aut}_K(V)</math> such that <math>f\circ g=\operatorname{id}_V=g\circ f</math>. Let <math>f\in\operatorname{Aut}_K(V)</math> be an automorphism. Then <math>f</math> is bijective and thus there exists an inverse mapping <math>f^{-1}\colon V\to V</math>, for which <math>f\circ f^{-1}=\operatorname{id}_V=f^{-1}\circ f</math>. We only have to show that <math>f^{-1}\in\operatorname{Aut}_K(V)</math>. What we know is that [[Math for Non-Geeks/Isomorphisms#Satz:Umkehrabbildung linearer Abbildung ist linear|inverses of linear maps are again linear]]. Consequently, <math>f^{-1}</math> , as the inverse of the linear map <math>f</math> , is also linear. Furthermore, <math>f^{-1}</math> is bijective because <math>f^{-1}</math> has an inverse <math>f</math>. So <math>f^{-1}\in\operatorname{Aut}_K(V)</math> holds, and thus <math>f^{-1}</math> is an inverse of <math>f</math> in <math>\operatorname{Aut}_K(V)</math>. }} }} The automorphisms form a group, but are no longer a ring. This is because <math>\operatorname{Aut}_K(V)</math> no longer has an additive structure: If we have two automorphisms <math>f</math> and <math>g</math> from a vector space <math>V</math>, <math>f+g</math> need not be an automorphism again. And indeed, there are counterexamples for this: {{:Math for Non-Geeks/Template:Beispiel |titel=Sum of automorphisms which is not an automorphism |beispiel=We consider the vector space <math>V=\R^2</math> and define the automorphisms {{Math|<math>\begin{align}&f\colon \R^2\to\R^2, \quad &g\colon\R^2&\to\R^2\\[0.3em] &\begin{pmatrix}x\\y\end{pmatrix}\mapsto \begin{pmatrix} x\\y \end{pmatrix}, &\begin{pmatrix}x\\y\end{pmatrix}&\mapsto \begin{pmatrix}x \\-y \end{pmatrix}. \end{align}</math>}} It is easy to show that <math>f</math> and <math>g</math> are linear and bijective, so <math>f,g\in\operatorname{Aut}_\R(\R^2)</math>. Now {{Math|<math>\begin{align}f+g\colon \R^2&\to\R^2\\[0.3em] \begin{pmatrix}x\\y\end{pmatrix}&\mapsto \begin{pmatrix} 2x\\0\end{pmatrix}. \end{align}</math>}} Since this mapping does not hit the vector <math>(0,1)^T</math>, it is not surjective. So <math>f+g</math> is not bijective and therefore not an automorphism. }} {{:Math for Non-Geeks/Template:Hinweis| <math>\operatorname{Aut}_K(V)</math> is never closed under addition, unless <math>V = \{0\}</math>. }} For vector spaces <math>V</math> with <math>\dim V\ge 2</math> the automorphism group is not commutative. As with the endomorphism ring, the composition of the mappings is not commutative. We demonstrate this non--commutativity in an [[#Aufgabe:Nicht-Kommutativität im Endomorphismenring|exercise]] below. == Exercises == {{:Math for Non-Geeks/Template:Aufgabe |titel=Automorphism |aufgabe=Show that <math>f\colon \R^n \to \R^n, \, (x_1,x_2,\ldots,x_n)^T \mapsto (-2x_1,-2x_2,\ldots,-2x_n)^T </math> is an automorphism. |lösung=Linearity can easily be verified. Since the domain and target space are the same, <math>f</math> is therefore an endomorphism. We now want to show that <math>f</math> is bijective. To do this, we must show that <math>f</math> is injective and surjective. We start with injectivity. Let <math>x = (x_1, \ldots, x_n)^T</math> and <math>y = (y_1, \ldots, y_n)^T \in \R ^n</math> with <math>f(x) = f(y)</math>. Then, for <math>i = 1, \ldots, n</math> we have <math>-2 x_i = -2 y_i</math>, which implies <math>x_i = y_i</math> and thus <math>x = y</math>. This establishes injectivity. Now we show surjectivity. For this, let <math>x = (x_1, \ldots, x_n)^T \in \R^n</math>. We define <math>y := (-x_1/2, \ldots, -x_n/2)^T \in \R^n</math>. Then <math>f(y) = x</math>. So <math>f</math> is indeed surjective. So we have shown that <math>f</math> is an automorphism. }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Transformation in the space of Fibonacci sequences |aufgabe=Let <math>K</math> be a field and <math>V</math> be the vector space of Fibonacci sequences {{Math|<math>V = \{(x_i)_{i\in \N}\in \omega\mid x_n + x_{n+1} = x_{n+2} \text{ for all } n\in \N\},</math>}} where <math>\omega</math> is the space of all sequences in <math>K</math>. Show: # <math>V</math> is isomorphic to <math>K^2</math>. # There is an endomorphism <math>f\colon V \to V</math> that swaps the first two entries of each sequence, that is, <math>f((x_i)_{i\in \N})_1 = x_2</math> and <math>f((x_i)_{i\in \N})_2 = x_1</math> holds for all <math>(x_i)_{i\in\N}\in V</math>. # <math>f</math> is an automorphism. |lösungsweg= |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>V\cong K^2</math> |beweisschritt=We show that {{Math|<math>\Phi\colon V\to K^2, \quad (x_i)_{i\in\N}\mapsto\begin{pmatrix}x_1\\ x_2\end{pmatrix}</math>}} is an isomorphism. The linearity can be easily verified. For injectivity we show <math>\ker\Phi=\{0\}</math>. So let <math>(x_i)_{i\in\N}\in V</math> with <math>\Phi((x_i)_{i\in\N})=(0,0)^T</math>, i.e., <math>x_1=x_2=0</math>. We show <math>x_n=0</math> for all <math>n\in\N</math> by induction. By assumption, the statement holds for <math>n=1,2</math>. Now let <math>n>2</math> be fixed. To establish the induction step, we must show that <math>x_n=0</math>. As an induction assumption, we can use that <math>x_i=0</math> for all <math>i\in\{1,2,\ldots,n-1\}</math>. By definition of the sequence <math>(x_i)_{i\in\N}\in V</math> it follows that <math>x_n=x_{n-1}+x_{n-2}=0+0=0</math>, which establishes the induction step and completes the induction. For surjectivity, we use that any sequence in <math>V</math> can be defined by specifying the first two members of the sequence: Let <math>(a,b)^T\in K^2</math>. We define <math>(x_i)_{i\in\N}</math> inductively as in the proof of injectivity for <math>x_1=a</math>, <math>x_2=b</math> and <math>x_i:=x_{i-1}+x_{i-2}</math>. Then <math>(x_i)_{i\in\N}\in V</math> and <math>\Phi((x_i)_{i\in\N})=(a,b)^T</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=There is an endomorphism <math>f\colon V\to V</math> that swaps the first two entries of each sequence. |beweisschritt=We use the isomorphism <math>\Phi</math> from the first part of the exercise. Obviously {{Math|<math>g\colon K^2\to K^2, \quad \begin{pmatrix}a\\b\end{pmatrix}\mapsto \begin{pmatrix}b\\a\end{pmatrix}</math>}} is linear and maps from <math>K^2</math> to <math>K^2</math>, so it is an endomorphism. Thus, <math>f:=\Phi^{-1}\circ g \circ\Phi</math> is also linear as a concatenation of linear maps. Since <math>f</math> maps from <math>V</math> to <math>V</math>, <math>f</math> is an endomorphism, and by construction {{Math|<math>\Phi(f((x_i)_{i\in\N}))=g(\Phi((x_i)_{i\in\N}))=g\Bigl(\begin{pmatrix}x_1\\ x_2\end{pmatrix}\Bigr)=\begin{pmatrix}x_2\\ x_1\end{pmatrix}</math>}} for all <math>(x_i)_{i\in\N}\in V</math>. So <math>f</math> swaps the first two entries of each sequence. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f</math> is an automorphism. |beweisschritt= We have to show that <math>f</math> is an isomorphism. Since <math>\Phi</math> is an isomorphism, <math>f=\Phi^{-1}\circ g\circ\Phi</math> is an isomorphism if and only <math>g</math> is also an isomorphism. The endomorphism <math>g</math> simply swaps the two components of a vector in <math>K^2</math>. So it maps the (ordered) basis <math>(e_1,e_2)</math> from <math>K^2</math> to the basis <math>(e_2,e_1)</math>. Since a linear map is bijective if and only if it maps [[Math for Non-Geeks/Isomorphisms#Anchor:BasenImplizierenIsomorphismus|bases to bases]], <math>g</math> is an isomorphism. }} }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Shears are automorphisms |aufgabe=Let <math>\lambda\in\R</math> be a scalar. We consider the mapping <math>f\colon \R^2\to\R^2,\ (x,y)^T\mapsto (x+\lambda y,y)^T</math>. Show that <math>f</math> is an automorphism. |lösung= The linearity of <math>f</math> can easily be verified. Since <math>f</math> maps <math>\R^2</math> to itself, <math>f</math> is an endomorphism and all that remains is to show bijectivity. We prove injectivity by showing <math>\ker(f)=\{(0,0)^T\}</math>. Let <math>u=(u_1,u_2)^T\in\ker(f)</math>, that is, <math>f(u)=(0,0)^T</math> holds. We want to show <math>u=(0,0)^T</math>. Since <math>f(u)=(u_1+\lambda u_2, u_2)^T=(0,0)^T</math> holds, we get <math>u_2=0</math> from the second vector component. It now follows that <math>0 = u_1 + \lambda\cdot 0 = u_1</math> and that <math>u=(0,0)</math> holds. Thus, <math>f</math> is injective. Second, we need to show that <math>f</math> is surjective. For this, let <math>v=(v_1,v_2)^T\in\R^2</math>. We must show that there exists a <math>u=(u_1,u_2)^T\in\R^2</math> with <math>f(u)=v</math>. If we insert the definition of <math>f</math>, the vector <math>u</math> we are looking for must thus satisfy <math> (u_1+\lambda u_2,u_2)^T=(v_1,v_2)^T</math>. That is, <math>u_2=v_2</math> must hold. From this we get <math>u_1 +\lambda v_2 = v_1</math>, so <math>u_1 = v_1 -\lambda v_2</math>. If we set <math>u:=(v_1-\lambda v_2,v_2)^T\in\R^2</math>, the following is true {{Math|<math> f(u)=f\begin{pmatrix} v_1 -\lambda v_2\\v_2\end{pmatrix}=\begin{pmatrix} (v_1-\lambda v_2) +\lambda v_2 \\ v_2\end{pmatrix}=\begin{pmatrix} v_1\\v_2\end{pmatrix}=v.</math>}} So <math>f</math> is surjective. Since <math>f</math> is bijective and an endomorphism, it is also an automorphism. }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Non-commutativity in the endomorphism ring |aufgabe=Let <math>V</math> be an <math>n</math>-dimensional <math>K</math>-vector space with <math>n\geq 2</math>. Show: The endomorphism ring <math>\operatorname{End}_K(V)</math> is not commutative. |lösung=Let <math>B=\{v_1,\ldots,v_n\}</math> a basis of <math>V</math>, where by assumption <math>n\geq 2</math> holds. We define two noncommutative endomorphisms <math>f,g\in\operatorname{Hom}_K(V)</math> using the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]], by specifying the images of the basis vectors: For <math>k\in\{1,\ldots,n\}</math> set {{Math|<math>f:V\to V,\quad f(v_k)=\begin{cases}v_2 \text{ if }k=1,\\ v_1 \text{ if }k=2,\\ v_k \text{ else,}\end{cases}</math>}} and {{Math|<math>g:V\to V,\quad g(v_k)=\begin{cases}0 \text{ if }k=1,\\ v_k\text{ else.}\end{cases}</math>}} So the mapping <math>f</math> swaps the first two basis vectors, while <math>g</math> maps the first basis vector to the zero vector. In defining <math>f</math> and <math>g</math> we needed that there are <math>n\geq2</math> basis vectors. For <math>k\in\{1,\ldots,n\}</math> we now have {{Math|<math>(f\circ g)(v_k)=f(g(v_k))=\begin{cases}0\text{ if }k=1,\\v_1\text{ if }k=2,\\ v_k\text{ else,}\end{cases}</math>}} but {{Math|<math>(g\circ f)(v_k)=g(f(v_k))=\begin{cases}v_2\text{ if }k=1,\\0\text{ if }k=2,\\v_k\text{ else.}\end{cases}</math>}} The basis vector <math>v_2</math> is an element of the basis <math>B</math> of <math>V</math> , so it cannot be the zero vector. Therefore {{Math|<math>(g\circ f)(v_1)=v_2\neq 0=(f\circ g)(v_1).</math>}} So <math>g\circ f\neq f\circ g </math> holds. Thus, the endomorphism ring <math>\operatorname{End}_K(V)</math> is not commutative if <math>\dim(V)\geq2</math>. }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Commutativity in the endomorphism ring |aufgabe=Let <math>V</math> be a one-dimensional <math>K</math>-vector space, i.e., <math>\dim (V)=1</math>. Show: that the endomorphism ring <math>\operatorname{End}_K(V)</math> is commutative. |lösung= Let <math>B=\{b\}</math> be a basis of <math>V</math> and let <math>f,g\in\operatorname{End}_K(V)</math> be arbitrary. Endomorphisms are already uniquely determined by the images of the basis vectors. Since there is only one basis vector due to <math>\dim(V)=1</math>, we have <math>f(b),g(b)\in\operatorname{span}(V)</math> and thus {{Math|<math>f(b)=\lambda_1\cdot b\quad\text{and}\quad g(b)=\lambda_2\cdot b</math>}} for certain <math>\lambda_1,\lambda_2\in K</math>. Since <math>V=\operatorname{span}\{b\}</math> , each <math>v\in V</math> is of the form <math>v=\mu b</math> for some <math>\mu\in K</math>. With linearity of <math>f</math> and the commutativity of multiplication in <math>K</math>, it follows that {{Math|<math>f(v)=f(\mu b)=\mu f(b)=\mu(\lambda_1b)=(\mu\lambda_1)b=(\lambda_1\mu)b=\lambda_1(\mu b)=\lambda_1v.</math>}} Analogously one can show <math>g(v)=\lambda_2v</math> for any <math>v\in V</math> from which follows {{Math|<math>f\colon V\to V,\; v\mapsto \lambda_1\cdot v\quad\text{and}\quad g\colon V\to V,\; v\mapsto \lambda_2\cdot v.</math>}} Thus, for all <math>v\in V</math> we have {{Math|<math>(f\circ g)(v)=f(g(v))=f(\lambda_2v)=\lambda_1(\lambda_2v)=(\lambda_1\lambda_2)v\overset{(*)}{=}(\lambda_2\lambda_1)v=\lambda_2(\lambda_1v)=g(\lambda_1v)=g(f(v))=(g\circ f)(v),</math>}} where in <math>(*)</math> we have exploited the commutativity of multiplication in <math>K</math>. }} {{:Math for Non-Geeks/Template:Hinweis|In the above two problems we saw that <math>\operatorname{End}_K(V)</math> is commutative if <math>\dim (V)=1</math> and noncommutative if <math>\dim(V)\geq 2</math>. What is the situation for <math>\dim (V)=0</math>? If <math>\dim(V)=0</math> , then <math>V</math> is the null vector space. There is only one endomorphism over the null space <math>V=\{0\}</math>. This endomorphism is the null mapping <math>e\colon \{0\}\to\{0\},\ 0\mapsto 0</math>. So <math>\operatorname{End}_K(V)=\{e\}</math> holds. Since the ring consists of only one element, <math>\operatorname{End}_K(V)</math> is commutative. Thus, <math>\operatorname{End}_K(V)</math> is commutative if and only if <math>\dim (V)\leq 1</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} srha5wbo6qwn3a00ovnn0s0yw8offdp Math for Non-Geeks/Image of a linear map 0 473506 4635296 4630497 2026-05-11T17:04:14Z Sascha Lill 95 3167325 adjust equation format 4635296 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} The image of a linear map <math>f\colon V \to W</math> is the set of all vectors in <math>W</math> that are "hit by <math>f</math>". This set of vectors forms a subspace of <math>W</math> and can be used to make the linear map <math>f</math> surjective. == Derivation == [[File:Tilted-plane-in-three-dimensial-space.png|thumb|Image of the linear map <math>f\colon \R^2 \to \R^3;</math><math> (x,y)^T\mapsto (x,y,-0{.}5x)^T</math>]] [[File:Animation of skewed projection on x axis.gif|thumb|Visualization of the linear map <math>f\colon \R^2 \to \R^2;</math><math> (x,y)^T \mapsto (x+y, 0)^T</math>]] We consider a linear map <math>f:V\to W</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. A vector <math>v\in V</math> is transformed by <math>f</math> into a vector <math>f(v)\in W</math>. The mapping <math>f</math> does not necessarily hit all elements from <math>W</math>, because <math>f</math> is not necessarily surjective. The mapped vectors <math>f(v)</math> form a subset <math> \{f(v) | v \in V\} \subseteq W </math>. This set is called ''image of <math>f</math>''. Since <math>f</math> is [[Math for Non-Geeks/Linear map|linear]], <math>f</math> preserves the structure of the vector spaces <math>V</math> and <math>W</math>. Therefore, we conjecture that <math>f</math> maps the vector space <math>V</math> into a vector space. Consequently, the image of <math>f</math>, i.e., the set <math> \{f(v) | v \in V\}</math> should be a [[Math for Non-Geeks/Subspace|subspace]] of <math>W</math>. We will indeed prove this in a theorem below. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Image of a linear map |definition= Let <math>V</math> and <math>W</math> be two <math>K</math>-vector spaces and <math>f:V \to W</math> a linear map. Then we call <math> \operatorname{im}(f):= \lbrace f(v)|v\in V \rbrace</math> the ''image'' of <math>f</math>.}} {{:Math for Non-Geeks/Template:Hinweis|In the literature, the notation <math>f(V)</math> is also often used instead of <math>\operatorname{im}(f)</math> for the image of <math>f</math>. }} In the derivation we already considered that <math>\operatorname{im}(f)</math> should be a [[Math for Non-Geeks/Subspace|subspace]] of <math>W</math>. We now prove this as a theorem. {{:Math for Non-Geeks/Template:Satz |titel=The image is a subspace |satz=Let <math>f:V \rightarrow W</math> a linear map between the <math>K</math>-vector spaces <math>V</math> and <math>W</math>. Then <math>\operatorname{im}(f)</math> is a subspace of <math>W</math>. |beweis=To show that <math>\operatorname{im}(f)</math> is a subspace, we need to check the [[Math for Non-Geeks/Subspace#Anchor:Beweise UVR|subspace criteria]]: # <math> \operatorname{im}(f) \subseteq W</math> # <math> 0_W\in\operatorname{im}(f) </math> # For all <math>w_1, w_2 \in \operatorname{im}(f)</math> we have <math>w_1 + w_2 \in \operatorname{im} (f)</math>. # For all <math>w \in \operatorname{im}(f)</math> and for all <math>\rho \in K</math> we have <math>\rho \cdot w \in \operatorname{im}(f)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math> \operatorname{im}(f) \subseteq W</math> |beweisschritt= For every <math>v\in V</math> we have <math>f(v)\in W</math>. So <math>\operatorname{im}(f)=\{f(v)|v\in V\}\subseteq W</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>0_W\in \operatorname{im}(f)</math> |beweisschritt= Since <math>f</math> is a linear map, it holds that <math>f(0_V)= 0_W</math> . Thus <math>0_W \in \operatorname{im}(f)</math>.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=For all <math>w_1, w_2 \in \operatorname{im}(f)</math> we have <math>w_1 + w_2 \in \operatorname{im}(f)</math>. |beweisschritt= Consider <math>w_1, w_2 \in \operatorname{im}(f)</math> as given. That means, we can choose vectors <math>v_1</math> and <math>v_2</math> from <math>V</math> with <math>f(v_1)=w_1</math> and <math>f(v_2)=w_2</math>. We now show that <math>w_1 + w_2 \in \operatorname{im}(f)</math> . To do this, we need to find a vector in <math>V</math> that is mapped by <math>f</math> to <math>w_1 + w_2</math>. Now {{Math|<math>\begin{align} & w_1 + w_2 \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f(v_1) = w_1 \text{ and } f(v_2) = w_2\right.} \\[0.3em] =\ &f(v_1) + f(v_2) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f \text{ is linear}\right.} \\[0.3em] =\ &f(v_1 + v_2) \end{align}</math>}} As <math>f(v_1 + v_2) = w_1 + w_2</math> and <math>v_1+v_2\in V</math> we have that <math>w_1 + w_2</math> is inside the image of <math>f</math>.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel= For all <math>w \in \operatorname{im}(f)</math> and for all <math>\rho \in K</math> we have <math>\rho \cdot w \in \operatorname{im}(f)</math>. |beweisschritt= Let <math>w \in \operatorname{im}(f)</math> and <math>\rho \in K</math>. Then there is a vector <math>v \in V</math> with <math>f(v) = w</math>. We need to show that there is a vector in <math>V</math> that is mapped to <math>\rho \cdot w</math>. It holds: {{Math|<math>\begin{align} &\rho \cdot w \\[0.3em] & {\color{OliveGreen}\left\downarrow\ w = f(v)\right.} \\[0.3em] =\ &\rho \cdot f(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f \text{ is linear}\right.} \\[0.3em] =\ &f(\rho \cdot v) \end{align}</math>}} Now, since <math>\rho \cdot v \in V</math> we have that <math>\rho \cdot w \in \operatorname{im}(f)</math>.}} }} == Image and surjectivity == We already know that a mapping <math>f: V \to W</math> is [[Math for Non-Geeks/Function#Anchor:Surjektivität|surjective]] if and only if the mapping "hits" all elements of <math>W</math>. Formally, this means that <math>f: V \to W</math> is surjective if and only if <math>\operatorname{im}(f) = W</math>. Now if <math>f</math> is a linear map, then <math>\operatorname{im}(f)</math> is a [[Math for Non-Geeks/Subspace#Anchor:Eigenschaften der Dimension|subspace]] of <math>W</math>. In particular, if <math>W</math> is finite-dimensional, then <math>f</math> is surjective exactly if <math>\dim{W} = \dim({\operatorname {im}(f)})</math>. {{:Math for Non-Geeks/Template:Beispiel |beispiel= The identity <math> \operatorname{id}\colon \R^2 \to \R^2, (x,y) \mapsto (x,y) </math> is a linear map. It is surjective, because every element <math>(x,y)^T\in \R^2</math> has the preimage <math>(x,y)^T\in\R^2</math>. Hence, we have <math>\operatorname{im}(\operatorname{id}) = \R^2 </math> and in particular <math>\dim({\operatorname{im}(\operatorname{id})}) = 2 = \dim(\R^2)</math>. The map <math> f\colon \R^3 \to \R^2, (x,y,z) \mapsto (x,y)</math> is also linear. Further, each element <math>(x,y)^T\in \R^2</math> has a preimage, for example <math>(x,y,0)^T\in\R^3</math>. Thus, we have shown <math>\operatorname{im}(f) = \R^2</math> and thus, <math>f</math> is surjective. In particular <math>\dim({\operatorname{im}(f)}) = 2 = \dim(\R^2) </math>. The embedding <math>e\colon \R^2 \to \R^3, (x,y) \to (x,y,0) </math> is also linear, but not surjective. The vector <math>(0,0,1)^T</math> is not contained in <math>\operatorname{im}(f) = \{(x,y,0)\mid x,y\in\R\}</math>. Thus <math> \dim({\operatorname{im}(e)}) < \dim(\R^3) </math> must hold. And indeed <math> \dim({\operatorname{im}(e)}) = 2 < 3 = \dim(\R^3)</math>. }} Sometimes it is useful to show the surjectivity of <math>f</math> by proving <math>\dim(\operatorname{im}(f)) = \dim W</math>. {{:Math for Non-Geeks/Template:Beispiel |beispiel= We consider the linear map <math>f\colon \R^3 \to \R^2; (x,y,z) \mapsto (2x-7y+3z, 2y-3z)</math> and ask if <math>f</math> is surjective. We want to answer the question by determining the dimension of <math>\operatorname{im}(f)</math> and comparing it with <math>\dim(\R^2) = 2</math>. To do this, we first look for linearly independent vectors in the image of <math>f</math>. The vectors <math>f((1,0,0)^T) = (2,0)^T</math> and <math>f((0,1,0^T)) = (-7,2)</math> are linearly independent. Therefore, <math>\dim(\operatorname{im}(f)) \ge 2 = \dim(\R^2)</math>. Now <math>\operatorname{im}(f) \subseteq \R^2</math> from which we get <math>\dim(\operatorname{im}(f)) \le \dim(\R^2)</math>. Thus, we obtain <math>\dim(\operatorname{im}(f)) = \dim(\R^2)</math> and <math>f</math> is surjective. }} ==The relationship between image and generating system== We have seen in the [[Math for Non-Geeks/Epimorphisms#Satz:Epimorphismen erhalten Erzeugendensysteme|article on epimorphisms]], that a linear map <math>f\colon V\to W</math> preserves generators of <math>V</math> if and only if it is surjective. In this case, the image of each generator of <math>V</math> generates the entire vector space <math>W</math>. In particular, the image of each generator of <math>V</math> generates the image <math>\operatorname{im}(f)</math> of <math>f</math>. The last statement holds also for non-surjective linear maps: {{:Math for Non-Geeks/Template:Satz |titel=The image is the span of the images of a generating system |satz=Let <math>f\colon V \to W</math> be a linear map between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. Let <math>E \subseteq V</math> be a generator of <math>V</math>. Then: {{Math|<math>\operatorname{span}(f(E)) = \operatorname{im}(f).</math>}} |beweis=We show the two inclusions. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\subseteq</math> |beweisschritt=Let <math>w \in \operatorname{span}(f(E))</math>. Then there are <math>n \in \N</math>, <math>b_1, \dots, b_n \in f(E)</math> and coefficients <math>\lambda_1, \dots, \lambda_n\in K</math>, such that {{Math|<math>\begin{align} w = \sum_{i = 1}^n \lambda_i b_i. \end{align}</math>}} Since the <math>b_i</math> are in <math>f(E)</math>, there exist some <math>e_i \in E</math> with <math>f(e_i) = b_i</math> for <math>1 \leq i \leq n</math>. Then, because of the linearity of <math>f</math>, we have {{Math|<math>\begin{align} w = \sum_{i = 1}^n \lambda_i b_i = \sum_{i = 1}^n \lambda_i f(e_i) = f\left(\sum_{i = 1}^n \lambda_i e_i \right) \in \operatorname{im}(f). \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\supseteq</math> |beweisschritt=Let <math>w \in \operatorname{im}(f)</math>. Then there is a <math>v \in V</math> with <math>f(v) = w</math>. Since <math>E</math> is a generator of <math>V</math>, there are an <math>n \in \N</math>, <math>e_1, \dots, e_n \in E</math> and coefficients <math>\lambda_1, \dots, \lambda_n \in K</math>, such that {{Math|<math>\begin{align} v = \sum_{i = 1}^n \lambda_i e_i. \end{align}</math>}} Now, linearity of <math>f</math> finally implies: {{Math|<math>\begin{align} w = f(v) = \sum_{i = 1}^n \lambda_i \underbrace{f(e_i)}_{\in f(E)} \in \operatorname{span}(f(E)). \end{align}</math>}} }} }} == Image and linear system {{Anchor|Bild und LGS}} == Let <math>A</math> be an <math>(n \times m)</math> matrix and <math>b\in K^n</math>. The associated system of linear equations is <math>Ax = b</math>. We can also interpret the matrix <math>A</math> as a [[Math for Non-Geeks/Introduction: Matrices#Anchor:induzierte Abbildung|linear map]] <math>f_A: K^m \to K^n,\ x \mapsto Ax</math>. In particular, the image <math>\operatorname{im}(f_A)</math> of <math>f_A</math> is a subset of <math>K^n</math>. If <math>b\in \operatorname{im}(f_A)</math>, there is some <math>x_0\in K^m</math> such that <math>f_A(x_0)=b</math>. By definition of <math>f_A</math> we have <math>Ax_0=b</math>. Thus, the linear system of equations <math>Ax=b</math> is solvable. Conversely, if <math>Ax = b</math> is solvable, then there exists an <math>x_0\in K^m</math> with <math>A x_0 = b</math>. For this <math>x_0</math>, we now have <math>f_A(x_0) = b</math>. Thus <math>b \in \operatorname{im}(f_A)</math>. So the image gives us a criterion for the solvability of systems of linear equations: A linear system of equations <math>Ax=b</math> is solvable if and only if <math>b</math> lies in the image of <math>f_A</math>. However, the criterion makes no statement about the uniqueness of solutions. For this, one can use the [[Math for Non-Geeks/Kernel of a linear map#Anchor:Kern und LGS|kernel]]. == Examples == We will now look at how to determine the image of a linear map. {{:Math for Non-Geeks/Template:Beispiel |beispiel=Let us consider the linear map {{Math|<math>f\colon \R^2 \to \R^2,\quad \begin{pmatrix}x_1\\x_2\end{pmatrix}\mapsto \begin{pmatrix}x_1\\0\end{pmatrix}.</math>}} This is a projection to the <math>x</math> axis. Intuitively, then, the image of <math>f</math> should be the <math>x</math>-axis, i.e. {{Math|<math>\operatorname{im}(f) = \left\{\begin{pmatrix}x\\ 0\end{pmatrix}; x\in \R\right\}.</math>}} We now want to prove this: If <math>(x_1,x_2)^T \in \operatorname{im}(f)</math>, then there exists some <math>(z_1,z_2)^T\in\R^2</math> with <math>(x_1,x_2)^T=f((z_1,z_2)^T)=(z_1,0)^T</math>. So <math>x_2 = 0</math>. Conversely, because <math>f((x_1,0)^T) = (x_1,0)^T</math> every vector of the form <math>(x_1,0)^T</math> has a preimage under <math>f</math>. So every such vector lies in <math>\operatorname{im}(f)</math>. This proves the desired statement. }} {{:Math for Non-Geeks/Template:Beispiel |beispiel=Let <math>K</math> be a field. We consider the linear map {{Math|<math>f\colon K^2 \to K^3,\quad \begin{pmatrix}x\\ y\end{pmatrix}\mapsto \begin{pmatrix}x+y\\ -x\\ y\end{pmatrix}.</math>}} We want to determine the image of <math>f</math>. To do this, we exploit the fact that <math>\{e_1 = (1,0)^T, e_2 = (0,1)^T\}</math> is a basis of <math>K^2</math> , so in particular it is a generator. We have seen in the [[Math for Non-Geeks/Image of a linear map#Satz:Das Bild ist der Spann der Bilder eines Erzeugendensystems|last section]] that then <math>\operatorname{im}(f) = \operatorname{span}(f(e_1),f(e_2))</math>. We can specify this space explicitly by calculating the span: {{Math|<math>\begin{align} \operatorname{im}(f) &= \operatorname{span}(f(e_1),f(e_2))\\[1em] &{\color{OliveGreen}\left\downarrow\ \text{Insert definition of the span} \right.} \\[1em] &= \left\{\lambda \cdot \begin{pmatrix}1\\-1\\0\end{pmatrix} + \mu \cdot \begin{pmatrix}1\\0\\1\end{pmatrix}; \lambda,\mu \in K\right\}\\[1em] &{\color{OliveGreen}\left\downarrow\ \text{Add up} \right.} \\[1em] &= \left\{\begin{pmatrix}\lambda + \mu\\-\lambda\\\mu\end{pmatrix}; \lambda,\mu \in K\right\}\\[1em] &{\color{OliveGreen}\left\downarrow\ \text{ replace }\lambda\text{ by }-x\text{ and }\mu\text{ by }y \right.} \\[1em] &= \left\{\begin{pmatrix}y-x\\x\\y\end{pmatrix}; x,y \in K\right\} \end{align}</math>}} }} After considering two examples in finite-dimensional vector spaces, we can venture to an example with an infinite-dimensional vector space. We consider the same function in the [[Math for Non-Geeks/Kernel of a linear map#Anchor:Ableitungs-Beispiel|examples for determining the kernel of a linear map]]. {{:Math for Non-Geeks/Template:Beispiel |beispiel=Our goal is to determine the image of the linear map of the derivative <math>d</math> of polynomials over <math>\R</math>. The set <math>\lbrace 1, X, X^2, X^3, \dots \rbrace</math> is a basis of <math>\R \lbrack X \rbrack</math>. The derivative function <math>d: \R \lbrack X \rbrack \rightarrow \R \lbrack X \rbrack</math> is defined by <math>d(X^i):= i \cdot X^{i-1}</math> for all <math>i \in \N</math>. We now want to know whether <math>d</math> is surjective. To do this, we note that <math>d(\tfrac{1}{i+1}\cdot X^{i+1}) = X^i</math> holds for every <math>i \ge 0</math>. Thus, every basis element of <math>\R[X]</math> is hit. So <math>\operatorname{im}(f) \supseteq \operatorname{span}(1, X, X^2, \dots) = \R[X]</math>, and <math>d</math> is indeed surjective. }} When [[Math_for_Non-Geeks/Linear_systems_and_matrices|solving systems of linear equations]], we will see many more examples. We will also learn a methodical way of solving for the determination of images. == Making linear maps "epic" == We now want to construct a surjective linear map from a given linear map <math>f\colon V \to W</math>. If we consider <math>f</math> to be a mapping of sets, we already know how to accomplish this: We restrict the target set of <math>f</math> to <math>\operatorname{im}(f)</math> and get some restricted mapping <math>f'\colon V \to\operatorname{im}(f); v \mapsto f(v)</math>. Now, we just need to check that <math>f'</math> is linear. But this is clear because <math>\operatorname{im}(f) \subseteq W</math> is a subspace of <math>W</math>. So all we need to do to make <math>f</math> surjective (i.e., an ''epi-morphism'') is to restrict the objective of <math>f</math> to <math>\operatorname{im}(f)</math>. This method also gives us an approach for making functions between other structures surjective: We need to check that the restriction on the image preserves the structure. For example, for a group homomorphism <math>\varphi\colon G \to H</math> we can show that <math>\operatorname{im}(\varphi)</math> is again a group and <math>\varphi'\colon G \to \operatorname{im}(\varphi); g \mapsto \varphi(g)</math> is again a group homomorphism. == Outlook: How surjective is a linear map? - The cokernel == In the [[Math for Non-Geeks/Kernel of a linear map|article about the kernel]] we see that the kernel "stores" exactly that information which a linear map <math>f\colon V\to W</math> "eliminates". Further, <math>f</math> is injective if and only if <math>\ker(f) = 0</math> and the kernel intuitively represents a "measure of the non-injectivity" of <math>f</math>. We now want to construct a similar measure of the surjectivity of <math>f</math>. The image of <math>f</math> is not sufficient for this purpose: For example, the images of <math>g\colon \R^2 \to \R^2; (x,y)^T\mapsto (x,y)^T</math> and <math>h \colon \R^2\to \R^3; (x,y) \mapsto (x,y,0)</math> are isomorphic, but <math>g</math> is surjective and <math>h</math> is not. From the image alone, no conclusions can be drawn as of whether <math>f</math> is surjective, because surjectivity also depends on the target space <math>W</math>. To measure "non-surjectivity," on the other hand, we need a vector space that measures, which part of <math>W</math> is not hit by <math>f</math>. The space <math>\operatorname{im}(f)</math> contains the information, which vectors are hit by <math>f</math>. The goal is to "remove this information" from <math>W</math>. We have already realized this "removal of information" in the article on the factor space by taking the quotient space <math>W/\operatorname{im}(f)</math>. We call this space <math>W/\operatorname{im}(f)</math> the '''cokernel''' of <math>f</math>. It is indeed suitable for characterizing the ''non-surjectivity'' of <math>f</math>, because <math>W/\operatorname{im}(f)</math> is equal to the null space <math>\{0\}</math> if and only if <math>f</math> is surjective: A vector in <math>W</math> that is not hit by <math>f</math> yields a nontrivial element in <math>W/\operatorname{im}(f)</math> and, conversely, a nontrivial element in <math>W/\operatorname{im}(f)</math> yields an element in <math>W</math> that is not hit by <math>f</math>. The cokernel even measures '''how non-surjective''' <math>f</math> is exactly: if <math>W/\operatorname{im}(f)</math> is larger, more vectors are not hit by <math>W</math>. If <math>W</math> is finite dimensional, we can measure the size of <math>W/\operatorname{im}(f)</math> using the dimension. Thus, <math>\dim(W/\operatorname{im}(f)) = \dim(W) - \dim(\operatorname{im}(f))</math> is a number we can use to quantify how non-surjective <math>f</math> is. However, unlike <math>W/\operatorname{im}(f)</math>, this number does not allow us to reconstruct the exact vectors that are not hit by <math>f</math>. == Exercises == <section begin=zuordnung_abbildung_bild /> {{:Math for Non-Geeks/Template:Aufgabe |titel=Associating image spaces to figures |aufgabe=We consider the following four subspaces from the vector space <math>\R^2</math>, given as images of the linear maps {{#invoke:list|ordered |<math>f\colon\R^2\to\R^2,\ (x,y)^T\mapsto (2(x+y), x-3y)^T</math> |<math>g\colon\R^2\to\R^2,\ (x,y)^T\mapsto (x,2x)^T</math> |<math>h\colon\R^2\to\R^2,\ (x,y)^T\mapsto (-3(x-y), (x-y))^T</math> |<math>k\colon\R^2\to\R^2,\ (x,y)^T\mapsto (x,0)^T</math> }} Match these four subspaces to the subspaces <math>U_1,U_2,U_3,U_4</math> shown in the figures below. <gallery widths="300" heights="300"> File:Line-in-two-dimensional-space-through-(1,2).svg|<math>U_1</math>: The subspace spanned by <math>(1,2)^T</math> in <math>\R^2</math> File:Line in two-dimensional space through (3,-1).svg|<math>U_2</math>: The line spanned by <math>(3,-1)^T</math> File:Plane in two-dimensional space named U 3.svg|<math>U_3</math>: A plane covering all the two-dimensional space File:Line in two-dimensional space through (1,0).svg|<math>U_4</math>: A line spanned by <math>(1,0)^T</math> </gallery> |lösung= First we look for the image of <math>f</math>: To find <math>\operatorname{im}(f)</math>, we can apply a theorem from above: If <math>E</math> is a generator of <math>\R^2</math>, then <math>\operatorname{im}(f)=\operatorname{span}(f(E))</math> holds. We take the standard basis <math>\{(1,0)^T,(0,1)^T\}</math> as the generator of <math>\R^2</math>. Then {{Math|<math>\operatorname{im}(f)=\operatorname{span}\left(f\begin{pmatrix}1\\0\end{pmatrix},f\begin{pmatrix}0\\1\end{pmatrix}\right).</math>}} Now we apply <math>f</math> to the standard basis {{Math|<math>\begin{align} f\begin{pmatrix}1\\0\end{pmatrix}&=\begin{pmatrix} 2\\1\end{pmatrix} \\ f\begin{pmatrix}0\\1\end{pmatrix}&=\begin{pmatrix} 2\\-3\end{pmatrix} \end{align}</math>}} The vectors <math>(2,1)^T,(2,-3)^T</math> generate the image of <math>f</math>. Moreover, they are linearly independent and thus a basis of <math>\R^2</math>. Therefore <math>\operatorname{im}(f)=\R^2</math>. So <math>\operatorname{im}(f)=U_3</math>. Next, we want to find the image of <math>g</math>. However, it is also possible to compute the image <math>\operatorname{im}(g)</math> directly by definition, which we will demonstrate here. {{Math|<math>\begin{align} \operatorname{im}(g)&=\left\{g\begin{pmatrix}x\\y\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\} \\ &=\left\{\begin{pmatrix}x\\2x\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\}\\ &=\left\{x\begin{pmatrix}1\\2\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\}\\ & {\color{OliveGreen}\left\downarrow\ \text{The left side does not depend on }y \right.} \\[0.3em] &=\left\{x\begin{pmatrix}1\\2\end{pmatrix} \mid x\in\R\right\}\\ &=\operatorname{span}\left(\begin{pmatrix}1\\2\end{pmatrix}\right) \end{align}</math>}} So the image of <math>g</math> is spanned by the vector <math>(1,2)^T</math>. Thus <math>\operatorname{im}(g)=U_1</math>. Now we determine the image of <math>h</math> using, for example, the same method as for <math>f</math>. That means we apply <math>h</math> to the standard basis: {{Math|<math>\begin{align} h\begin{pmatrix}1\\0\end{pmatrix}=\begin{pmatrix} -3\\1\end{pmatrix} \\ h\begin{pmatrix}0\\1\end{pmatrix}=\begin{pmatrix} 3\\-1\end{pmatrix} \end{align}</math>}} Both vectors are linearly dependent. So it follows that <math>\operatorname{im}(h)=\operatorname{span}((-3,1)^T)</math> and thus <math>\operatorname{im}(h)=U_2</math>. Finally, we determine the image of <math>k</math>. For this we proceed for example as with <math>g</math>. {{Math|<math>\begin{align} \operatorname{im}(k)&=\left\{k\begin{pmatrix}x\\y\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\} \\ &=\left\{\begin{pmatrix}x\\0\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\}\\ &=\left\{x\begin{pmatrix}1\\0\end{pmatrix} \mid \begin{pmatrix}x\\y\end{pmatrix}\in\R^2\right\}\\ & {\color{OliveGreen}\left\downarrow\ \text{The left side does not depend on }y \right.} \\[0.3em] &=\left\{x\begin{pmatrix}1\\0\end{pmatrix} \mid x\in\R\right\}\\ &=\operatorname{span}\left(\begin{pmatrix}1\\0\end{pmatrix}\right) \end{align}</math>}} So the image of <math>k</math> is spanned by the vector <math>(1,0)^T</math>. Thus <math>\operatorname{im}(k)</math> is the <math>x</math>-axis, so <math>\operatorname{im}(k)=U_4</math>. }}<section end=zuordnung_abbildung_bild /> <section begin=surjektivität_dimension/> {{:Math for Non-Geeks/Template:Aufgabe |titel=Surjectivity and dimension of <math>V</math> and <math>W</math> |aufgabe= Let <math>V</math> and <math>W</math> be two finite-dimensional vector spaces. Show that there exists a surjective linear map <math>f\colon V\to W</math> if and only if <math>\dim(V)\geq\dim(W)</math>. |lösungsweg= We want to estimate the dimensions of <math>V</math> and <math>W</math> against each other. The dimension is defined as the cardinality of a basis. That is, if <math>b_1, \dots, b_n</math> is a basis of <math>V</math> and <math>c_1, \dots, c_m</math> is a basis of <math>W</math>, we must show that <math>n \ge m</math> holds if and only if there exists a surjective linear map. "if and only if" means that we need to establish two directions (<math>\Rightarrow, \Leftarrow </math>). Given a surjective linear map <math>f\colon V \to W</math>, we must show that the dimension of <math>V</math> is at least <math>m</math>. Now bases are maximal linearly independent subsets. That is, to estimate the dimension from below, we need to construct a linearly independent subset with <math>m</math> elements. In the figure, we have already a linearly independent subset with <math>m</math> elements, which is the basis <math>c_1, \dots, c_m</math>. Because <math>f</math> is surjective, we can lift these to vectors <math>\hat c_1, \dots, \hat c_m \in V</math> with <math>f(\hat c_i) = c_i</math>. Now we need to verify that <math>\hat c_1, \dots, \hat c_m</math> are linearly independent in <math>V</math>. We see this, by converting a linear combination <math>\lambda_1\hat c_1+\dots \lambda_m\hat c_m = 0</math> via <math>f</math> into a linear combination <math>0 = f(\lambda_1\hat c_1+\dots \lambda_m\hat c_m) = \lambda_1 c_1+\dots \lambda_m c_m</math> and exploiting the linear independence of <math>c_1, \dots, c_m</math>. Conversely, if <math>n \ge m</math> holds, we must construct a surjective linear map <math>f\colon V \to W</math>. Following the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]], we can construct the linear map <math>f</math> by specifying how <math>f</math> acts on a basis of <math>V</math>. For this we need elements of <math>W</math> on which we can send <math>b_1,\dots, b_n</math>. We have already chosen a basis of <math>W</math> above. Therefore, it is convenient to define <math>f</math> as follows: {{Math|<math>f(b_i) = \begin{cases} c_i & i \le m\\ 0 & i > m \end{cases}</math>}} Then the image of <math>f</math> is spanned by the vectors <math>f(b_1) = c_1, \dots, f(b_m) = c_m, f(b_{m+1}) = 0, \dots, f(b_m) = 0</math>. However, these vectors also span all of <math>W</math> and thus <math>f</math> is surjective. |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel="<math>\Rightarrow</math>" |beweisschritt=Suppose there is a suitable surjective mapping <math>f</math>. We show that the dimension of <math>\operatorname{im}(f)=f(V)</math> cannot be larger than the dimension of <math>V</math> (this is true for any linear map). Because of the surjectivity of <math>f</math>, it follows that <math>\dim(V)\geq\dim(\operatorname{im}(f))=\dim(W)</math>. So let <math>w_1,\ldots,w_n\in\operatorname{im}(f)</math> be linearly independent. There exists <math>v_1,\ldots,v_n\in V</math> with <math>f(v_i)=w_i</math> for <math>i\in\{1,\ldots,n\}</math>. We show that <math>v_1,\ldots,v_n</math> are also linearly independent: Let <math>\lambda_1,\ldots,\lambda_n\in K</math> with <math>\sum_{i=1}^n\lambda_iv_i=0</math>. Then we also have that {{Math|<math>0=f(\sum_{i=1}^n\lambda_iv_i)=\sum_{i=1}^n\lambda_if(v_i)=\sum_{i=1}^n\lambda_iw_i,</math>}} By linear independence of <math>w_1,\ldots,w_n</math>, it follows that <math>\lambda_1=\ldots=\lambda_n=0</math>. So <math>v_1,\ldots,v_n</math> are also linearly independent. Overall, we have shown that {{Math|<math>w_1,\ldots,w_n\in\operatorname{im}(f)\text{ linearly independent }\implies v_1,\ldots,v_n\text{ linearly independent for any choice of preimages }v_i\in f^{-1}(w_i).</math>}} In particular, it holds that a basis of <math>V</math> (a maximal linearly independent subset of <math>V</math>) must contain at least as many elements as a basis of <math>\operatorname{im}(f)</math>, that is, <math>\dim(V)\geq\dim(\operatorname{im}(f))</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel="<math>\Leftarrow</math>" |beweisschritt=Assume that <math>\dim(V)\geq\dim(W)</math>. We use that a linear map is already uniquely determined by the images of the basis vectors. Let <math>\{v_1,\ldots,v_m\}</math> be a basis of <math>V</math> and <math>\{w_1,\ldots,w_n\}</math> be a basis of <math>W</math>. Define the surjective linear map <math>f\colon V\to W</math> by {{Math|<math>f(v_i)=\begin{cases}w_i &\text{ if }i\leq n\\ 0&\text{ else.}\end{cases}</math>}} This works, since by assumption, <math>m\geq n</math> holds. The mapping constructed in this way is surjective, since by construction, <math>\{w_1,\ldots,w_n\}\subseteq\operatorname{im}(f)</math>. As the image of <math>f</math> is a subspace of <math>W</math>, the subspace generated by these vectors, i.e., <math>W</math>, also lies in the image of <math>f</math>. Accordingly, <math>W\subseteq\operatorname{im}(f)\subseteq W</math> holds and <math>f</math> is surjective. }} }}<section end=surjektivität_dimension /> <section begin=bild_einer_matrix /> {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel=Image of a matrix |aufgabe= |teilaufgabe1=Consider the matrix <math>(1,2)\in\R^{1\times 2}</math> and the mapping <math>f\colon \R^2\to \R, x\mapsto (1,2)x</math> induced by it. What is the image <math>\operatorname{im}(f)</math>? |teilaufgabe2=Now let <math>A=(a_1,\ldots,a_m)\in K^{n\times m}</math> be any matrix over a field <math>K</math>, where <math>a_1, \ldots , a_m\in K^n</math> denote the columns of <math> A </math>. Consider the mapping <math>f_A\colon K^m\to K^n, x\mapsto Ax</math> induced by <math> A </math>. Show that <math>\operatorname{im}(f_A)=\operatorname{span}\{a_1,\ldots,a_m\}</math> holds. So the image of a matrix is the span of its columns. |teilaufgabe1-lösung=We know that the image <math>\operatorname{im}(f)</math> of the linear map <math>f</math> is a subspace of <math>\R</math>. Since the <math>\R</math>-vector space <math>\R</math> has dimension <math>1</math>, a subspace can only have dimension <math>0</math> or <math>1</math>. In the first case the subspace is the null vector space, in the second case it is already all of <math>\R</math>. So <math>\R</math> has only the two subspaces <math>\{0\}</math> and <math>\R</math>. Since <math>(1,2)(1,0)^T = 1 \neq 0</math> holds, we have that <math>\operatorname{im}(f)\neq\{0\}</math>. Thus, <math>\operatorname{im}(f) = \R </math>. |teilaufgabe2-lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel="<math>\subseteq</math>" |beweisschritt= Let <math>y\in\operatorname{im}(f_A)</math>. Then, there is some <math>x=(x_1,\ldots,x_m)^T\in K^m</math> with <math>Ax=y</math>. We can write <math>x</math> as <math>x=\sum_{i=1}^mx_ie_i</math>. Plugging this into the equation <math>Ax=y</math>, we get {{Math|<math>\begin{align} y&=Ax\\ & {\color{OliveGreen} \left\downarrow\ x=\sum_{i=1}^m x_ie_i \right.}\\[0.3em] &=A\left(\sum_{i=1}^mx_ie_i\right)\\[0.3em] & {\color{OliveGreen} \left\downarrow\ \text{application of } A \text{ is linear} \right.}\\[0.3em] &=\sum_{i=1}^mx_i Ae_i\\[0.3em] & {\color{OliveGreen} \left\downarrow\ Ae_i=a_i \text{, the } i \text{-th column of } A \right.}\\[0.3em] &=\sum_{i=1}^mx_ia_i. \end{align}</math>}} Since <math>\sum_{i=1}^mx_ia_i \in \operatorname{span}\{a_1, \ldots, a_n\}</math>, we obtain <math>y\in \operatorname{span}\{a_1, \ldots, a_n\}</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel="<math>\supseteq</math>" |beweisschritt= Let <math>y=\sum_{i=1}^my_i\cdot a_i\in\operatorname{span}(f_A)</math> with <math>y_i \in K </math> for <math> i = 1, \ldots , m </math>. We want to find <math>x\in K^m</math> with <math>Ax=y</math>. So let us define <math>x:=\sum_{i=1}^my_ie_i</math>. The same calculation as in the first step of the proof then shows {{Math|<math>Ax= A\left(\sum_{i=1}^my_ie_i\right)=\sum_{i=1}^my_i Ae_i=\sum_{i=1}^my_ia_i=y.</math>}} }} }}<section end=bild_einer_matrix /> {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 1sl3keve93d6nf22jg8yx1ri0f0ejmx Math for Non-Geeks/Kernel of a linear map 0 473507 4635298 4630498 2026-05-11T17:07:35Z Sascha Lill 95 3167325 adjust equation format 4635298 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} The kernel of a linear map intuitively contains the information that is "deleted" when applying the linear map. Further, the kernel can be used to characterize the injectivity of linear maps. It also plays a central role in solving systems of linear equations. == Introduction == We have learned about special mappings between vector spaces, called [[Math for Non-Geeks/Linear map|linear maps]]. Those are structure-preserving; that is, they are compatible with addition and scalar multiplication of a vector space. We can therefore think of a linear map from <math>V</math> to <math>W</math> as something that transports the vector space structure from <math>V</math> to <math>W</math>. === Introductory examples === We consider two accounts, each with the account balance <math>x</math> and <math>y</math> respectively. We can describe this information with a vector <math>(x,y)^T\in\R^2</math>. The total account balance is the sum of the two account balances. We can calculate it by using the map {{Math|<math>\R^2\to\R,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto x+y</math>}} This map is linear and therefore transports the vector space structure from <math>\R^2</math> to <math>\R</math>. In the process, information is lost: one no longer knows how the money is distributed among the accounts. For example, one can no longer distinguish the individual account balances <math>(500,0)^T</math> and <math>(200,300)^T</math> because they both map to the same total account balance <math>500+0=200+300=500</math>. In particular, the mapping is not injective. However, we get the information about how much money is in the accounts in total. [[File:Counterclockwise rotation by 90 degrees.gif|thumb|Rotation of the real plane by 90° against the clockwise direction]] Next, we consider the map {{Math|<math>\R^2\to\R^2,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto\begin{pmatrix}-y\\x\end{pmatrix}.</math>}} Visually, this corresponds to a counterclockwise rotation of <math>\R^2</math> by <math>90</math> degrees. By undoing this rotation, one can recover the original vector from any rotated vector in <math>\R^2</math>. Formally speaking, this mapping is an isomorphism and no information is lost. In particular, the image of linearly independent vectors is linearly independent again (because an isomorphism is injective, see the article [[Math for Non-Geeks/Monomorphisms#Äquivalente_Charakterisierungen_von_Monomorphismen|monomorphism]]) and the image of a generator of <math>\R^2</math> is again a generator of <math>\R^2</math> (because an isomorphism is surjective, see the article [[Math for Non-Geeks/Epimorphisms#Äquivalente_Charakterisierungen_von_Epimorphismen|epimorphism]]). Finally, we consider a rotation again, but then embed the rotated plane into the <math>\R^3</math>: {{Math|<math>\R^2\to\R^3,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto\begin{pmatrix}-y\\x\\0\end{pmatrix}.</math>}} Although this mapping is no longer bijective, no information is lost here when transporting the vector space structure of the <math>\R^2</math> into the <math>\R^3</math>: As in the previous example, different vectors in the <math>\R^2</math> are mapped to different vectors in the <math>\R^3</math> because of injectivity. Linear independence of vectors is also preserved. However, a generating system of <math>\R^2</math> is not mapped to a generator of <math>\R^3</math>. For example, the linear map sends the standard basis <math>\{(1,0)^T, (0,1)^T\}</math> to <math>\{(0,1,0)^T, (-1,0,0)^T\}</math>, which is not a generator of <math>\R^3</math>. The property of a set of vectors to be a generator depends on the ambient space. This is not the case with linear independence; it is an "intrinsic" property of sets of vectors. === Derivation {{Anchor|Herleitung}}=== We have seen various examples of linear maps that transport a <math>K</math>-vector space into another <math>K</math>-vector space, while preserving the structure. In the process, varying amounts of "intrinsic" information from the original vector space (such as differences of vectors or linear independence) were lost. The last example suggests that injective mappings preserve such intrinsic properties. On the other hand, we see: If <math>f\colon V\to W</math> is not injective, then there are vectors <math>v, v'\in V</math> with <math>f(v)=f(v')</math>. So in that case, <math>f</math> "eliminates" the difference <math>v-v'</math> of <math>v</math> and <math>v'</math>. The difference <math>v-v'</math> is again an element in <math>V</math>. Since <math>f</math> is linear, we can reformulate: {{Math|<math>f(v)=f(v')\iff 0=f(v)-f(v')=f(v-v').</math>}} Intuitively, <math>f</math> is injective if and only if differences <math>v-v'</math> of vectors under <math>f</math> are not eliminated (i.e., mapped to zero). Because <math>f</math> is structure-preserving, we have that for all <math>v, v'\in V</math> and <math>\lambda\in K</math>, that <math>f(v-v')=0</math> implies {{Math|<math>f(\lambda v - \lambda v')=f(\lambda(v-v'))=\lambda f(v-v')=\lambda\cdot0=0.</math>}} If the difference of <math>v</math> and <math>v'</math> is eliminated under <math>f</math>, so is that of <math>\lambda v</math> and <math>\lambda v'</math>. In the same way, if <math>v, v', w, w'\in V</math>: if <math>f(v-v')=0</math> and <math>f(w-w')=0</math>, then also {{Math|<math>f((v+w)-(v'+w'))=f((v-v')+(w-w'))=f(v-v')+f(w-w')=0 + 0 = 0.</math>}} So the difference of <math>v+w</math> and <math>v'+w'</math> is also eliminated. The differences eliminated by <math>f</math> are themselves vectors in <math>V</math>. These are sent by <math>f</math> to the zero element <math>0_W</math> of <math>W</math> and thus, the eliminated vectors are in the preimage <math>f^{-1}(\{0_W\})</math>. Conversely, any vector <math>v\in f^{-1}(\{0_W\})</math> can be written as a difference <math>v=v-0</math>; that is, the difference <math>v-0</math> between <math>v</math> and the zero vector is eliminated by <math>f</math>. The preimage <math>f^{-1}(\{0_W\})</math> measures exactly what differences of vectors (how much "information") is lost in the transport from <math>V</math> to <math>W</math>. Our considerations show that <math>f^{-1}(\{0_W\})</math> is even a subspace of <math>V</math>. We give a name to this subspace: the ''kernel'' of <math>f</math>. == Definition == The kernel of a linear map intuitively measures how much "intrinsic" information about vectors from <math>V</math> (differences of vectors or linear independence) is lost when applying the map. Mathematically, the kernel is the [[Math for Non-Geeks/Function#Bild und Urbild|preimage]] of the zero vector. {{:Math for Non-Geeks/Template:Definition |titel=Kernel of a linear map |definition= Let <math>V</math> and <math>W</math> be two <math>K</math>-vector spaces and <math>f\colon V \rightarrow W</math> linear. Then we call <math> \ker f:=f^{-1}(0_W) = \lbrace v \in V \mid f(v) = 0_W \rbrace</math> the '''kernel''' of <math>f</math>.}} In the derivation we claimed that the kernel of a linear map from <math>V</math> to <math>W</math> is a subspace of <math>V</math>. We will now prove this in detail. {{:Math for Non-Geeks/Template:Satz |titel=The kernel is a vector space |satz=Let <math>f\colon V \to W</math> be a linear map between the <math>K</math>-vector spaces <math>V</math> and <math>W</math>. Then <math>\ker f</math> is a subspace of <math>V</math>. |beweis=To verify the claim, we need to show four things: # <math> \ker f \subseteq V</math> # <math> \ker f \neq \emptyset</math> # For all <math>v_1, v_2 \in \ker f</math> we have that <math>v_1 + v_2 \in \ker f</math>. # For all <math>v \in \ker f</math> and all <math>\lambda \in K</math> we have that <math>\lambda \cdot v \in \ker f</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math> \ker f \subseteq V</math> |beweisschritt= The first assertion follows directly from the definition.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math> \ker f \neq \emptyset</math> |beweisschritt= Since <math>f</math> is linear, we know that <math>f(0_V) = 0_W</math> holds. So <math>\ker f \ne \emptyset</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=For all <math>v_1, v_2 \in \ker f</math>, we have that <math>v_1 + v_2 \in \ker f</math>. |beweisschritt= Now we show the third point: for all <math>v_1, v_2 \in \ker f \subseteq V</math> it holds that {{Math|<math>\begin{align} f(v_1 + v_2) &=\ f(v_1) + f(v_2) \\[0.3em] & \ {\color{OliveGreen}\left\downarrow f \text{ is linear (i.e., additive)}\right.}\\[0.3em] &= \ 0_W + 0_W \\[0.3em] & \ {\color{OliveGreen} \left\downarrow v_1,v_2 \in \ker f\right.} \\[0.3em] &=\ 0_W \end{align}</math>}} So also <math>v_1 + v_2</math> is in the kernel of <math>f</math>.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=For all <math>v \in \ker f</math> and all <math>\lambda \in K</math> we have that <math>\lambda \cdot v \in \ker f</math>. |beweisschritt= The fourth step works analogously to the third step: For all <math>v \in \ker f</math> and all <math>\lambda \in K</math> it is true that {{Math|<math>\begin{align} f(\lambda \cdot v) &= \lambda \cdot f(v) \\[0.3em] & \ { \color{OliveGreen}\left\downarrow f \text{ is linear (i.e., homogeneous)}\right.}\\[0.3em] &=\ \lambda \cdot 0_W \\[0.3em] & \ { \color{OliveGreen} \left\downarrow v \in \ker f\right.} \\[0.3em] &=\ 0_W \end{align}</math>}} Thus, <math>\lambda \cdot v \in \ker f</math>. }}}}}} == Examples == We determine the kernel of the examples from the introduction. === Vector is mapped to the sum of entries === We consider the mapping {{Math|<math>f\colon\R^2\to\R,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto x+y.</math>}} The kernel of <math>f</math> is made up by the vectors <math>(x,y)^T\in\R^2</math> with <math>0=f((x,y)^T)=x+y</math>, so <math>y=-x</math>. In other words {{Math|<math>\ker f = \left\{\begin{pmatrix}x\\-x\end{pmatrix}\mid x\in\R\right\}=\operatorname{span}\left\{\begin{pmatrix}1\\-1\end{pmatrix}\right\}.</math>}} Thus, the kernel of <math>f</math> is a one-dimensional subspace of <math>\R^2</math>. More generally, for <math>n\in\N</math> we can consider the mapping {{Math|<math>g\colon\R^n\to\R,\quad\begin{pmatrix}x_1\\ \vdots\\x_n\end{pmatrix}\mapsto x_1+\cdots+x_n</math>}} Again, by definition, a vector <math>(x_1,\cdots,x_n)^T\cdots,x_n</math> lies in the kernel of <math>g</math> if and only if <math>0=g((x_1,\cdots,x_n))=x_1+\cdots+x_n</math> holds. So we can freely choose <math>x_1,\ldots,x_{n-1}\in\R</math> and then set <math>x_n=-x_1-\cdots-x_{n-1}</math>. Thus {{Math|<math>\ker g=\left\{\begin{pmatrix}x_1\\\vdots\\x_{n-1}\\-x_1-\cdots-x_{n-1}\end{pmatrix}\mid x_1,\ldots,x_{n-1}\in\R \right\}=\operatorname{span}\left\{\begin{pmatrix}1\\0\\\vdots\\0\\-1\end{pmatrix},\begin{pmatrix}0\\1\\\vdots\\0\\-1\end{pmatrix},\ldots,\begin{pmatrix}0\\0\\\vdots\\1\\-1\end{pmatrix}\right\}.</math>}} Hence, the kernel of <math>g</math> is a <math>(n-1)</math>-dimensional subspace of <math>\R^n</math>. It is also called a ''hyperplane'' in <math>\R^n</math>. === Rotation in <math>\R^2</math> === We consider the rotation {{Math|<math>f\colon\R^2\to\R^2,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto\begin{pmatrix}-y\\x\end{pmatrix}.</math>}} Suppose <math>(x,y)^T</math> lies in the kernel of <math>f</math>, i.e. it holds that {{Math|<math>\begin{pmatrix}0\\0\end{pmatrix}=f\left(\begin{pmatrix}x\\y\end{pmatrix}\right)=\begin{pmatrix}-y\\x\end{pmatrix}.</math>}} From this we obtain <math>x=y=0</math>. So only the zero vector lies in the kernel of <math>f</math> and we have that <math>\ker f=\{(0,0)^T\}</math>. === <math>\R^2</math> is rotated and embedded into the <math>\R^3</math> {{Anchor|gedrehte-Einbettung-Beispiel}}=== Next we consider {{Math|<math>f\colon\R^2\to\R^3,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto\begin{pmatrix}-y\\x\\0\end{pmatrix}.</math>}} As in the previous example, we determine the kernel by choosing any vector <math>(x,y)^T\in\ker f</math>. Thus, it holds that {{Math|<math>\begin{pmatrix}0\\0\\0\end{pmatrix}=f\left(\begin{pmatrix}x\\y\end{pmatrix}\right)=\begin{pmatrix}-y\\x\\0\end{pmatrix}.</math>}} Again it follows that <math>x=y=0</math>, so that also for this mapping <math>\ker f=\{(0,0)^T\}</math> holds. === Derivatives of polynomials {{Anchor|Ableitungs-Beispiel}} === Finally, we consider a linear map that did not appear in the introduction: {{Math|<math>f\colon\R[X]\to\R[X],\quad p\mapsto p',</math>}} which maps a real polynomial to its derivative. That is, a polynomial {{Math|<math>p=a_0+a_1X+a_2X^2+\cdots+a_nX^n</math>}} with coefficients <math>a_0,\ldots,a_n\in\R</math> is mapped to the polynomial {{Math|<math>p'=a_1+2a_2X+\cdots+na_nX^{n-1}</math>}} Graphically, we associate with <math>p</math> a polynomial <math>p'</math> that indicates the gradient of <math>p</math> at each point. From this information, we still learn what the shape of the polynomial is (just as if we were given a stencil). However, we no longer know where it is positioned on the <math>y</math>-axis, because the information about the constant part of the polynomial is lost when taking the derivative. Polynomials that just differ by a displacement along the <math>y</math>-axis can no longer be distinguished after derivation. For example, both <math>p=x^2-x+1</math> and <math>q=x^2-x+42</math> have the derivative <math>p'=q'=2x-1</math>. So the mapping <math>f</math> maps them to the same polynomial. The kernel of <math>f</math> thus contains exactly the constant polynomials: {{Math|<math>\ker f =\{p\in\R[X] \mid p=c\text{ for some }c\in\R\}</math>}} The inclusion "<math>\supseteq</math>" is clear, because the derivative of a constant polynomial is always the zero polynomial. For the converse inclusion "<math>\subseteq</math>", we consider any polynomial <math>p\in\ker f</math> and show that it is constant. We can always write such a polynomial as <math>p=\sum_{i=1}^na_iX^i</math> for some <math>n\in\N</math> and certain coefficients <math>a_0,\ldots,a_n\in\R</math>. Because of <math>p\in\ker f</math> it holds that {{Math|<math>0=f(p)=p'=\sum_{i=1}^na_iX^{i-1}</math>}} and by comparison of the coefficients, we obtain <math>a_1=a_2=\ldots=a_n=0</math>. So <math>p</math> is constant. {{todo|Once the polynomial ring article is written, link to the coefficient comparison in it}} == Kernel and injectivity == In the [[Math for Non-Geeks/Kernel of a linear map#Anchor:Herleitung|derivation above]], we saw that a linear map preserves all differences of vectors (i.e., no vector is eliminated) if and only if the kernel consists only of the zero vector. We also saw there that linearity implies: A linear map is injective if and only if no difference of vectors is eliminated. So we have the following theorem: <section begin="InjektivitätSatz" />{{:Math for Non-Geeks/Template:Satz |titel=Relationship between kernel and injectivity |satz= Let <math>V</math> and <math>W</math> be two <math>K</math>-vector spaces and let <math>f \colon V \to W</math> be linear. Then <math>f</math> is injective if and only if <math>\colon f = \lbrace 0_V \rbrace</math>. In particular, <math>f</math> is injective if and only if <math>\dim(\ker f) = 0</math>. |zusammenfassung= For establishing the theorem we have to show two directions: * If <math>f</math> is injective, then <math>\ker f = \lbrace 0_V \rbrace</math>. * From <math>\ker f = \lbrace 0_V \rbrace</math> it follows that <math>f</math> is injective. The first direction we directly be shown. For the other direction, we assume <math>\ker f=\lbrace 0_V \rbrace</math> and show that for any <math>v_1</math> and <math>v_2 \in V</math> with <math>f(v_1)=f(v_2)</math> we must have <math>v_1=v_2</math>. Here, we can use that for two vectors <math>v_1, v_2 \in V</math> with <math>f(v_1)=f(v_2)</math>, we have <math>f(v_1) - f(v_2) = 0</math>. Further, <math>v_1=v_2</math> is equivalent to <math>v_1 - v_2 = 0</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>f</math> is injective, then <math>\ker f = \lbrace 0_V \rbrace</math>. |beweisschritt= Let us first assume that <math>f</math> is injective. We already know that <math>f(0_V)= 0_W</math>. Since <math>f</math> is injective, it can map at most one argument to one function value. So only <math>0_V</math> is mapped to <math>0_W</math>. Thus <math>\ker f = \lbrace 0_V \rbrace</math>, because the kernel is defined as the set of all vectors that meet the zero vector. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=From <math>\ker f = \lbrace 0_V \rbrace</math> we get that <math>f</math> is injective. |beweisschritt= Let <math>\ker f = 0_V</math>. In order to show that <math>f</math> is injective, we consider two vectors <math>v_1</math> and <math>v_2</math> from <math>V</math> with <math>f(v_1)=f(v_2)</math>. Then {{Math|<math>\begin{align} f(v_1 - v_2) &= \\ & {\color{OliveGreen}\left\downarrow f \text{ is linear} \right.}\\[0.3em] &=f(v_1) - f(v_2) \\ &{\color{OliveGreen}\left\downarrow f(v_2)=f(v_1) \right.} \\[0.3em] &=\ 0_W \\ \end{align}</math>}} So <math>v_1-v_2 is \in \ker f</math>. Since we have assumed <math>\ker f = 0_V</math>, it follows that <math>v_1-v_2 = 0_V</math> and thus <math>v_1=v_2</math>. Hence, we have the implication <math>f(v_1)=f(v_2) \implies v_1 = v_2</math> for all <math>v_1,v_2\in V</math>. But this is exactly the definition for <math>f</math> being injective. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f</math> is injective if and only if <math>\dim (\ker f) = 0</math>. |beweisschritt= We have already shown that <math>f</math> is injective if and only if <math>\ker f = \lbrace 0_V \rbrace</math>. It remains to show that this is equivalent to <math>\dim (\ker f) = 0</math>. The kernel of <math>f</math> is a subspace of <math>V</math>. A subspace of <math>V</math> is exactly equal to <math>\lbrace 0_V \rbrace</math> if its dimension is zero. So <math>f</math> is indeed injective if and only if <math>\dim \ker f = 0</math>. }} |beweis2= One can also show this theorem with only one chain of equivalent statements: {{Math|<math>\begin{align} f \text{ is injective} &\iff \forall v_1, v_2 \in V : \left( v_1 \neq v_2 \implies f(v_1) \neq f(v_2)\right) \\[0.3em] &\iff \forall v_1, v_2 \in V : \left( v_1 -v_2 \neq 0_V \implies f(v_1) - f(v_2)\neq 0_W \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f \text{ is linear} \right.} \\[0.3em] &\iff \forall v_1, v_2 \in V : \left( v_1 -v_2 \neq 0_V \implies f(v_1 - v_2)\neq 0_W \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{set } \tilde v = v_1 - v_2 \right.} \\[0.3em] &\iff \forall \tilde v\in V : \left( \tilde v \neq 0_V \implies f(\tilde v)\neq 0_W \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ f(0_V) = 0_W \right.} \\[0.3em] &\iff \text{Only }0_V\text{ is mapped to }0_W \\[0.3em] &\iff \ker f = \{0_V\}. \end{align}</math>}} }} <section end="InjektivitätSatz" /> The larger the kernel is, the more differences between vectors are "eliminated" and the more the mapping "fails to be injective". The kernel is thus a measure of the "non-injectivity" of a linear map. == Injective maps and subspaces == In the introductory examples, we conjectured that injective linear maps preserve "intrinsic" properties of vector spaces. By this, we mean properties that do not depend on the ambient vector space, such as the linear independence of vectors or vectors being distinct. The property of being a generator can be lost in injective linear maps, as we have seen in the example of the [[Math for Non-Geeks/Kernel of a linear map#Anchor:gedrehte-Einbettung-Beispiel|twisted embedding]] of <math>\R^2</math> into <math>\R^3</math>: The mapping is injective, but the standard basis of <math>\R^2</math> is not mapped to a generator of <math>\R^3</math>. What exactly does it mean that a property of a family <math>N=(v_i)_{i\in I}\subseteq V</math> of vectors does not depend on the ambient space <math>V</math>? Often, properties of vectors from <math>V</math> (for example, linear independence) depend on the vector space structure of <math>V</math>, that is, addition and scalar multiplication. To make dependences as small as possible, we restrict our attention to the smallest subspace of <math>V</math> containing <math>N</math>, that is, we restrict to <math>\operatorname{span}(N)</math>. Now, we call a property of <math>N</math> ''intrinsic'' if it depends only on <math>\operatorname{span}(N)</math> but not on <math>V</math>. {{:Math for Non-Geeks/Template:Beispiel |titel=Intrinsic and non-intrinsic properties |beispiel= Let <math>V</math> be a vector space and <math>N\subseteq V</math> a subset of vectors. * Linear independence of vectors in <math>N</math> is an intrinsic property, because the definition of linear independence can also be checked in <math>\operatorname{span}(N)</math> and does not refer to the ambient vector space <math>V</math>. * Differences of vectors in <math>N</math> are also intrinsic properties: all that is needed to examine it are vectors <math>v,v'\in N</math> and their difference <math>v-v'\in\operatorname{span}(N)</math>. * Not intrinsic, on the other hand, is the property of <math>N</math> of being a generator of <math>V</math>: The set <math>N</math> is always a generator of <math>\operatorname{span}(N)</math>. But if the ambient space <math>V</math> is larger than <math>\operatorname{span}(N)</math>, then <math>N</math> is not a generator of <math>V</math>. }} What do intrinsic properties of a family of vectors have to do with injectivity? Let <math>f\colon V\to W</math> be a linear map. Suppose <math>f</math> preserves intrinsic properties of vectors, that is, if a family <math>N=(v_i)_{i\in I}\subseteq V</math> has some intrinsic property, then its image <math>f(N)=(f(v_i))_{i\in I}</math> under <math>f</math> also has this property. Then <math>f</math> also preserves the property of vectors being different, since this is an intrinsic property. That means, if <math>v,v'\in V</math> are different, i.e., <math>v\neq v'</math>, then their image under <math>f</math> is also different, i.e., <math>f(v)\neq f(v')</math>. So <math>f</math> is injective. Conversely, if <math>f</math> is injective, then <math>V</math> is isomorphic to the subspace <math>f(V)</math> of <math>W</math>: If we restrict the target space of <math>f</math> to its image, we obtain an injective and surjective linear map <math>f\colon V\to f(V)</math>, that is, [[Math for Non-Geeks/Isomorphisms#Satz:Umkehrabbildung linearer Abbildung ist linear|an isomorphism]]. In particular, for any family <math>N</math> in <math>V</math>, it holds that the subspace <math>\operatorname{span}(N)</math> of <math>V</math> is isomorphic to <math>f(\operatorname{span}(N))</math>. Thus, the latter has the same properties as <math>\operatorname{span}(N)</math> and hence, <math>f</math> preserves intrinsic properties of subsets of <math>V</math>. So we have seen that <math>f\colon V\to W</math> is injective if and only if <math>f</math> preserves intrinsic properties of subsets of <math>V</math>. == Kernel and linear independence == In the previous section we have seen that injective linear maps <math>V\to W</math> are exactly those linear maps which preserve ''intrinsic properties'' of <math>V</math>. The linear independence of a family of vectors is such an intrinsic property, as they either hold for any choice of an ambient space or do not hold for any choice of an ambient space. So, injective linear maps should preserve linear independence of vectors, i.e., the image of linearly independent vectors is again linearly independent. Conversely, a linear map cannot be injective if it does not preserve the linear independence of vectors, since the intrinsic information of "being linearly independent" is lost. Overall, we get the following theorem, which has already been proved in the [[Math for Non-Geeks/Monomorphisms#Satz:Monomorphismen erhalten lineare Unabhängigkeit|article on monomorphisms]]: {{:Math for Non-Geeks/Template:Satz |titel=Injective linear maps preserve linear independence |satz= Let <math>V</math> and <math>W</math> be two <math>K</math>-vector spaces and <math>f\colon V\to W</math> a linear map. Then <math>\ker(f)=\{0\}</math> holds if and only if the image of every linearly independent subset of <math>V</math> is again linearly independent. }} In particular, for any linear map <math>f\colon V\to W</math>, the vector space <math>f(V)</math> is a <math>\dim(V)</math>-dimensional subspace of <math>W</math>. In the finite-dimensional case, there cannot exist an injective linear map from <math>V</math> to <math>W</math> if <math>\dim(W)<\dim(V)</math>. This has also already been shown in the [[Math for Non-Geeks/Monomorphisms#Satz:Existenz von Monomorphismen|article on monomorphisms]]. == Kernel and linear systems {{Anchor|Kern und LGS}} == The kernel of a linear map is an important concept in the study of systems of linear equations. Let <math>K</math> be a field and let <math>m,n\in\N</math>. We consider a [[Math for Non-Geeks/Linear systems and matrices|linear system of equations]] {{Math|<math>\begin{align} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n &= b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n &= b_2 \\ &\vdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n &= b_m \end{align}</math>}} with <math>n</math> variables <math>x_1,\ldots,x_n</math> and <math>m</math> rows. We have <math>a_{ij}, b_i\in K</math>, where <math>i\in\{1,\ldots,m\}</math> and <math>j\in\{1,\ldots,n\}</math>. We can also write this system of equations using matrix multiplication: {{Math|<math>\underbrace{\begin{pmatrix} a_{11}&\cdots&a_{1n}\\ \vdots & & \vdots\\ a_{m1} & \cdots & a_{mn} \end{pmatrix}}_{A} \underbrace{\begin{pmatrix}x_1\\ \vdots\\ x_n\end{pmatrix}}_{x}= \underbrace{\begin{pmatrix} b_1\\ \vdots \\ b_m \end{pmatrix}}_{b},</math>}} where <math>A\in K^{m\times n}</math>, <math>x\in K^{n}</math> and <math>b\in K^{m}</math>. We denote the set of solutions by {{Math|<math>L(A,b)=\{x\in K^{n}\mid Ax=b\}.</math>}} Determining a solution to the linear system of equations <math>Ax=b</math> for a given right-hand side <math> b</math> is the same as finding a preimage of <math>b</math> under the linear map {{Math|<math>f_A\colon K^{n}\to K^{m},\quad x\mapsto Ax</math>}} {{todo|Link where the map "multiply matrices by a given fixed matrix" is studied? Especially where it is explained that it is linear. Possibly also to the article where it is explained how to determine the kernel of a matrix (Gauss), if this is written.}} The system of equations <math>Ax=b</math> has solutions if the preimage <math>f_A^{-1}(b)</math> is not empty. In this case, we may ask whether there are multiple solutions, that is, whether the solution is not unique. In other words, we are interested in how many preimages a <math>b</math> has under <math>f_A</math>. By definition of injectivity, every point <math>b\in K^{m}</math> has at most one element in its preimage if and only if <math>f_A</math> is injective. This means that the linear system of equations <math>Ax=b</math> has at most one solution for each <math>b\in K^{m}</math>, that is, <math>|L(A,b)|\leq1</math>. Because <math>f_A</math> is linear, injectivity is equivalent to <math>\ker(f_A)=\{0\}</math>. So we can already state: {{:Math for Non-Geeks/Template:Satz |titel=Uniqueness of solutions |satz= Let <math>K</math> be a field and let <math>m,n\in\N</math>, <math>A\in K^{m\times n}</math> and <math>b\in K^{m}</math>. Then {{Math|<math>|L(A,b)|\leq1\text{ for all }b\in K^{m}\iff \ker(f_A)=\{0\}.</math>}} }} {{:Math for Non-Geeks/Template:Hinweis|The set of solutions of <math>Ax=b</math> can be empty. This occurs, for example, when <math>A=0</math> is the zero matrix and <math>b\neq0</math>. Consequently, the kernel makes no statement about the existence of solutions, only about their uniqueness. To say something about the existence of solutions, we need to consider the [[Math for Non-Geeks/Image of a linear map#Anchor:Bild und LGS|image]] of <math>A</math>.}} Even if <math>f_A</math> is not injective, i.e., <math>\ker(f_A)\neq\{0\}</math> holds, we can still say more about the set of solutions by exploiting the kernel: The difference of two vectors <math>x</math> and <math>x'</math>, which <math>f_A</math> maps to the same vector, lies in the kernel of <math>f_A</math>. Therefore, the preimage of some <math>b\in K^{m}</math> under <math>f_A</math> can be written as {{Math|<math>f_A^{-1}(b)=\hat{x}+\ker(f_A)</math>}} where <math>\hat{x}</math> is any element of <math>f_A^{-1}(b)</math>. This is shown by the following theorem: {{:Math for Non-Geeks/Template:Satz |titel=Solution set of linear system and kernel |satz= Let <math>K</math> be a field and let <math>m,n\in\N</math>, <math>A\in K^{m\times n}</math> and <math>b\in K^{m}</math>. Further, let <math>\hat{x}\in K^{n}</math> be a solution of the linear system of equations <math>Ax=b</math>. Then {{Math|<math>L(A,b)=\hat{x}+\ker(f_A)=\{\hat{x}+y\mid y\in\ker(f_A)\}.</math>}} In particular, a solution <math>\hat{x}</math> of the system of equations is unique if and only if the linear map <math>f_A</math> induced by <math>A</math> has a kernel that only consists of the zero vector. |beweis= We have to prove the equality <math>L(A,b)=\{\hat{x}+y\,|\,y\in\ker(f_A)\}</math>. For this we need to establish two subset relations. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>L(A,b)\subseteq \{\hat{x}+y\,|\,y\in\ker(f_A)\}</math> |beweisschritt= Let <math>x'\in L(A,b)</math>. Then <math>Ax'=b=A\hat{x}</math>. The only possible candidate for <math>y</math> to satisfy the equation <math>x' = \hat{x} + y</math> is <math>y=x' -\hat{x}</math>. Since {{Math|<math>Ay = A(x'-\hat{x}) = Ax'-A\hat{x} = b-b = 0</math>}} we have <math>y \in \ker(f_A)</math>.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>L(A,b)\supseteq\{\hat{x}+y\,|\,y\in\ker(f_A)\}</math> |beweisschritt= We show that <math>\hat{x}+y\in L(A,b)</math> holds for any <math>y\in\ker(f_A)</math>. Let <math>y\in\ker(f_A)</math> be arbitrary. Then <math>Ay=0</math> holds. Since by assumption, <math>\hat{x}</math> is a solution of <math>Ax=b</math>, we have that {{Math|<math>A(\hat{x}+y)=A\hat{x}+Ay=b+0=b.</math>}} So <math>\hat{x}+y</math> is also a solution of <math>Ax=b</math> and thus lies in the set <math>L(A,b)</math>. }} }} We have thus even extended the statement of the theorem above. The larger the kernel of <math>f_A</math> is, that is, the "less injective" the mapping <math>x\mapsto Ax</math> is, the "less unique" are solutions of <math>Ax=b</math>, if any exist. The set of solutions of a linear system of equations <math>Ax=b</math> is the kernel of the induced linear map <math>f_A</math> shifted by a particular solution <math>\hat{x}</math>. Furthermore, {{Math|<math>\ker(f_A)=\{x\in K^n\,\mid\,Ax=0\}=L(A,0).</math>}} The set of solutions of the homogeneous system of equations <math>Ax=0</math> (that is, with right-hand side zero) is exactly the kernel of <math>f_A</math>. {{:Math for Non-Geeks/Template:Hinweis|As with the previous theorem, no statement is made about whether solutions of <math>Ax=b</math> exist at all for a given <math>b</math>. The kernel only characterizes uniqueness.}} == Exercises == <section begin=injektivität_und_dimension /> {{:Math for Non-Geeks/Template:Aufgabe |titel=Injectivity and dimension of <math>V</math> and <math>W</math> |aufgabe=Let <math>V</math> and <math>W</math> be two finite-dimensional vector spaces. Show that there exists an injective linear map <math>f\colon V\to W</math> if and only if <math>\dim(V)\leq\dim(W)</math>. |lösungsweg=To prove equivalence, we need to show two implications. For the execution, we use that every monomorphism <math>f\colon V\to W</math> [[Math for Non-Geeks/Monomorphisms#Satz:Monomorphismen erhalten lineare Unabhängigkeit|preserves linear independence]]: If <math>\{b_1,\ldots,b_n\}\subseteq V</math> is a basis of <math>V</math>, then the <math>n</math> vectors <math>f(b_1),\ldots,f(b_n)\in W</math> are linearly independent. For the converse direction, we need to construct a monomorphism from <math>V</math> to <math>W</math> using the assumption <math>\dim V\leq\dim W</math>. To do this, we choose bases in <math>V</math> and <math>W</math> and then use the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]] to define a monomorphism by the images of the basis vectors. |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=There is a monomorphism <math>\implies\dim(V)\leq\dim(W)</math> |beweisschritt= Let <math> f: V \to W </math> be a monomorphism and <math> \{v_1, ... , v_n\} </math> a basis of <math> V </math>. Then <math> \{v_1, ... , v_n\} </math> is in particular linearly independent and therefore <math> \{f(v_1), ... , f(v_n)\} </math> is linearly independent. Thus, it follows that <math> \dim(W) \ge n = \dim(V) </math>. So <math> \dim(W) \ge \dim(V) </math> is a necessary criterion for the existence of a monomorphism from <math> V </math> to <math> W </math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\dim(V)\leq\dim(W)\implies</math> there is a monomorphism |beweisschritt= Conversely, in the case <math> \dim(V) \le \dim(W)</math> we can construct a monomorphism: Let <math>\{v_1,\dots ,v_n\}</math> be a basis of <math>V</math> and <math>\{w_1,\dots ,w_m\}</math> be a basis of <math>W</math>. Then <math>n = \dim(V)\leq \dim(W) = m</math>. We define a linear map <math>f\colon V\to W</math> by setting {{Math|<math>f(v_i)=w_i</math>}} for all <math>i=1,\ldots , n</math>. According to the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]], such a linear map exists and is uniquely determined. We now show that <math>f</math> is injective by proving that <math>\ker(f)=\{0_V\}</math> holds. Let <math>x\in\ker(f)</math>. Because <math>\{v_1,\dots ,v_n\}</math> is a basis of <math>V</math>, there exist some <math>\lambda_1,\ldots ,\lambda_n\in K</math> with {{Math|<math>x=\sum_{i=1}^n\lambda_iv_i.</math>}} Thus, we get {{Math|<math>\begin{align} 0_V=f(x) &=f\left(\sum_{i=1}^n\lambda_iv_i\right)\\[0.3em] & \ { \color{OliveGreen} \left\downarrow\ f \text{ is linear}\right.}\\[0.3em] &=\sum_{i=1}^n\lambda_if(v_i)\\[0.3em] & \ { \color{OliveGreen} \left\downarrow\ f (v_i)=w_i \right.}\\[0.3em] &=\sum_{i=1}^n\lambda_iw_i\\[0.3em] & \ { \color{OliveGreen} \left\downarrow\ \lambda_i=0 \text{ for } i>n \right.}\\[0.3em] &= \sum_{i=1}^m\lambda_iw_i \end{align}</math>}} Since <math>\{w_1,\dots ,w_m\}</math> are linearly independent, <math>\lambda_i=0_K</math> must hold for all <math>i=1,\ldots ,n</math>. So it follows for <math>x</math> that {{Math|<math>x=\sum_{i=1}^n\lambda_iv_i= \sum_{i=1}^n 0_K\cdot v_i=0_V.</math>}} We have shown that <math>\ker(f)=\{0_V\}</math> holds and thus <math>f</math> is a monomorphism. }} }}<section end=injektivität_und_dimension /> <section begin=aufgabe_kern_bestimmen /> {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe=We consider the linear map <math>f\colon\R^2\to\R^2,\ (x,y)^T\mapsto (-3(x-y),x-y)^T</math>. Determine the kernel of <math>f</math>. |lösung=We are looking for vectors <math>(x,y)^T\in\R^2</math> such that <math>f\left(\begin{pmatrix}x\\y\end{pmatrix}\right) = \begin{pmatrix}0\\0\end{pmatrix}</math>. Let <math>(x,y)^T</math> be any vector in <math>\R^2</math> for which <math>f\left(\begin{pmatrix}x\\y\end{pmatrix}\right) = \begin{pmatrix}0\\0\end{pmatrix}</math> is true. We now examine what properties this vector must have. It holds that {{Math|<math>\begin{pmatrix}0\\0\end{pmatrix}=f\begin{pmatrix}x\\y\end{pmatrix}=\begin{pmatrix}-3(x-y)\\x-y\end{pmatrix}</math>}} So <math>-3(x-y)=0</math> and <math>x-y=0</math>. From this we conclude <math>x=y</math>. So any vector <math>(x,y)^T</math> in the kernel of <math>f</math> satisfies the condition <math>x=y</math>. Now take a vector <math>(x,x)^T</math> with <math>x\in\R</math>. Then {{Math|<math>f\begin{pmatrix}x\\x\end{pmatrix}=\begin{pmatrix}-3(x-x)\\x-x\end{pmatrix}=\begin{pmatrix}0\\0\end{pmatrix}</math>}} We see that <math>(x,x)^T\in\ker(f)</math>. In total {{Math|<math>\ker(f)=\left\{ \begin{pmatrix}x\\x\end{pmatrix} | x\in\R \right\}</math>}} }} {{:Math for Non-Geeks/Template:Frage |typ=Check your understanding |frage=Can you visualize <math>\ker(f)</math> in the plane? What does the image of <math>f</math> look like? How do the kernel and the image relate to each other? |antwort=[[File:Kernel of linear map f in the plane.svg|thumb|The kernel of f]] We have already seen that {{Math|<math>\ker(f)=\left\{ \begin{pmatrix}x\\x\end{pmatrix} \mid x\in\R \right\}=\operatorname{span}\left(\begin{pmatrix}1\\1\end{pmatrix}\right)</math>}} Now we determine the image of <math>f</math> by applying <math>f</math> to the canonical basis. {{Math|<math>\begin{align} f\begin{pmatrix}1\\0\end{pmatrix}=\begin{pmatrix} -3\\1\end{pmatrix} \\ f\begin{pmatrix}0\\1\end{pmatrix}=\begin{pmatrix} 3\\-1\end{pmatrix} \end{align}</math>}} So <math>\operatorname{im}(f)=\operatorname{span}(f((1,0)^T),f((0,1)^T))</math> holds. We see that the two vectors are linearly dependent. That is, we can generate the image with only one vector: <math>\operatorname{im}(f)=\operatorname{span}((-3,1)^T)</math>. <gallery widths="250" heights="250"> Image of map f in real plane.svg|The image of f File:Kernel and image of map f in real plane.svg|Image and kernel of f together </gallery> In our example, the image and the kernel of the linear map <math>f</math> are straight lines through the origin. The two straight lines intersect only at the zero and together span the whole <math>\R^2</math>. }}<section end=aufgabe_kern_bestimmen /> <section begin=kern_nilpotenter_endo /> {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe=Let <math>V</math> be a vector space, <math>V\neq\{0\}</math>, and <math>f\colon V\to V</math> be a ''nilpotent'' linear map, i.e., there is some <math>n\in\N</math> such that {{Math|<math>f^n=\underbrace{f\circ\cdots\circ f}_{n\text{ times}}=0</math>}} is the zero mapping. Show that <math>\ker(f)\neq\{0\}</math> holds. Does the converse also hold, that is, is any linear map <math>f\colon V\to V</math> with <math>\ker(f)\neq\{0\}</math> nilpotent? |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f</math> nilpotent <math>\implies \ker(f) \ne \{0\}</math> |beweisschritt= We prove the statement by contraposition. That is we show: If <math>\ker(f)=\{0\}</math>, then <math>f</math> is not nilpotent. Let <math>\ker(f)=\{0\}</math>. Then <math>f</math> is injective, and as a concatenation of injective functions, <math>f\circ f</math> is also injective. By induction, it follows that for all <math>n \in \N</math> the function <math>f^n=\underbrace{f\circ\cdots\circ f}_{n\text{ times}}</math> is injective. But then also <math>\ker(f^n)=\{0\}</math> for all <math>n\in\N</math>. Since the kernel of the zero mapping would be all of <math>V\neq\{0\}</math>, the map <math>f^n</math> could not be the zero mapping for any <math>n\in\N</math>. Consequently, <math>f</math> is not nilpotent. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=The converse implication |beweisschritt= The converse implication does not hold. There are mappings that are neither injective nor nilpotent. For example, we can define {{Math|<math>f:\R^2 \to \R^2,\quad \begin{pmatrix}x\\y\end{pmatrix}\mapsto \begin{pmatrix}x\\0\end{pmatrix}</math>}} This mapping is not injective, because <math>(0,1)^T \in \ker(f)</math>. But it is also not nilpotent, because we have <math>f^n((1,0)^T) = (1,0) \neq 0</math> for all <math>n \in \N</math>. }} }}<section end=kern_nilpotenter_endo /> {{#invoke:Math for Non-Geeks/Seite|unten}} bq0rjex3whih5tgi805xxa37duoklr3 Math for Non-Geeks/Vector space of a linear map 0 473508 4635300 4630499 2026-05-11T17:09:00Z Sascha Lill 95 3167325 adjust equation format 4635300 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} Here, we consider the vector space of linear mappings between two given vector spaces. ==The vector space of linear maps== [[File:Vektorraum linearer Abbildungen.svg|mini|400px|Forming the vector space <math>\operatorname{Hom}_K(V,W)\quad</math>]] Let <math>K</math> be a field and <math>V, W</math> two <math>K</math>-vector spaces. We want to investigate the set of all <math>K</math>-linear mappings from <math>V</math> to <math>W</math>. We give this set <math>\operatorname{Hom}_K(V,W)</math> (like "homeomorphism", which is another word for "linear map"). So: {{Math|<math>\operatorname{Hom}_K(V,W):=\{\,L:V\to W\,|\,L \text{ is } K\text{-linear} \, \}.</math>}} We will now prove that this set is again a <math>K</math>-vector space, so it has some very convenient properties. More precisely, <math>\operatorname{Hom}_K(V,W)</math> is a subspace of the set of functions from <math>V</math> to <math>W</math>, called <math>\operatorname{Fun}(V,W)</math>. {{:Math for Non-Geeks/Template:Satz |satz=Let <math>K</math> be a field and <math>V</math> and <math>W</math> two <math>K</math>-vector spaces. Then the set of linear maps <math>\operatorname{Hom}_K(V,W)</math> from <math>V</math> to <math>W</math> is again a <math>K</math>-vector space. |lösungsweg= It is sufficient to show that <math>\operatorname{Hom}_K(V,W)</math> is a <math>K</math>-subspace of <math>\operatorname{Fun}(V,W)</math>. For this we have to show: # <math>\operatorname{Hom}_K(V,W)\neq\emptyset</math> # If <math>L_1,L_2\in \operatorname{Hom}_K(V,W)</math> then also <math>L_1+L_2\in \operatorname{Hom}_K(V,W)</math>. # If <math>L\in \operatorname{Hom}_K(V,W)</math> and <math>\lambda\in K</math> then also <math>\lambda\cdot L\in \operatorname{Hom}_K(V,W)</math>. |beweis=We show that <math>\operatorname{Hom}_K(V,W)</math> is a subspace of <math>\operatorname{Fun}(V,W)</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\operatorname{Hom}_K(V,W)\neq\emptyset</math> |beweisschritt= The map <math>L\colon V\to W,\quad v\mapsto 0_W</math> is <math>K</math>-linear, so <math>\operatorname{Hom}_K(V,W) \neq\emptyset</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>L_1,L_2\in \operatorname{Hom}_K(V,W)</math> then also <math>L_1+L_2\in \operatorname{Hom}_K(V,W)</math>. |beweisschritt= We have to show that the map {{Math|<math>(L_1+L_2)\colon V \to W</math>}} is <math>K</math>-linear. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Additivity of <math>(L_1 + L_2)</math> |beweisschritt= Let <math>v_1,v_2\in V</math>. Then {{Math|<math>\begin{align} & (L_1+L_2)(v_1+v_2) = \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L_1+L_2 \right.} \\[0.3em] =\ & L_1(v_1+v_2)+L_2(v_1+v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of }L_1 \text{ and } L_2 \right.} \\[0.3em] =\ & L_1(v_1)+L_1(v_2)+L_2(v_1)+L_2(v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutativity of addition in } W \right.} \\[0.3em] =\ & L_1(v_1)+L_2(v_1)+L_1(v_2)+L_2(v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L_1+L_2 \right.} \\[0.3em] =\ & (L_1+L_2)(v_1)+(L_1+L_2)(v_2). \end{align}</math>}}}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Homogeneity of <math>(L_1 + L_2)</math> |beweisschritt= Let <math>v\in V</math> and <math>\lambda\in K</math>. Then {{Math|<math>\begin{align} & (L_1+L_2)(\lambda\cdot v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L_1+L_2 \right.} \\[0.3em] =\ & L_1(\lambda v)+L_2(\lambda v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{homogeneity of }L_1 \text{ and } L_2 \right.} \\[0.3em] =\ & \lambda\cdot L_1(v)+\lambda\cdot L_2(v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributivity of scalar multiplication} \right.} \\[0.3em] =\ & \lambda\cdot (L_1(v)+ L_2(v))= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L_1+L_2 \right.} \\[0.3em] =\ & \lambda\cdot (L_1+L_2)(v). \end{align}</math>}}}} }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=If <math>L\in \operatorname{Hom}_K(V,W)</math> and <math>\mu\in K</math> then <math>\mu\cdot L\in \operatorname{Hom}_K(V,W)</math>. |beweisschritt= Let <math>L:V\to W</math> be a linear map and <math>\mu\in K</math>. We must show that the map {{Math|<math>\mu\cdot L\colon V \to W, \,v\mapsto \mu\cdot L(v)</math>}} is <math>K</math>-linear. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Additivity of <math>\mu \cdot L</math> |beweisschritt= Let <math>v_1,v_2\in V</math>. Then {{Math|<math>\begin{align} & (\mu\cdot L)(v_1+v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\mu \cdot L \right.} \\[0.3em] =\ & \mu\cdot L(v_1+v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{additivity of }L \right.} \\[0.3em] =\ & \mu(L(v_1)+L(v_2))= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributivity of scalar multiplication} \right.} \\[0.3em] =\ & \mu\cdot L(v_1)+\mu\cdot L(v_2)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\mu \cdot L \right.} \\[0.3em] =\ & (\mu\cdot L)(v_1)+(\mu\cdot L)(v_2). \end{align}</math>}}}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Homogeneity of <math>\mu \cdot L</math> |beweisschritt= Let <math>v\in V</math> and <math>\lambda\in K</math>. Then {{Math|<math>\begin{align} & (\mu \cdot L)(\lambda\cdot v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\mu \cdot L \right.} \\[0.3em] =\ & \mu \cdot L(\lambda v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{linearity of }L \right.} \\[0.3em] =\ & \mu\cdot(\lambda\cdot L(v))= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{associativity of scalar multiplication}\right.} \\[0.3em] =\ & (\mu\cdot\lambda)\cdot L(v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutativity of multiplication in }K\right.} \\[0.3em] =\ & (\lambda\cdot\mu)\cdot L(v)= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\mu \cdot L \right.} \\[0.3em] =\ & \lambda\cdot (\mu \cdot L)(v). \end{align}</math>}}}} }} Therefore, <math>\operatorname{Hom}_K(V,W)</math> is a subspace of <math>\operatorname{Abb}(V,W)</math>. }} == The dimension of the vector space of linear mappings{{Anchor|Dimension}} == In the following, we calculate the dimension of the vector space <math>\operatorname{Hom}_K(V, W)</math> of linear maps between two finite-dimensional vector spaces. {{:Math for Non-Geeks/Template:Satz |titel=Dimension of the vector space of linear maps |satz=Let <math>K</math> be a field and <math>V, W</math> two <math>K</math> vector spaces with <math>n = \dim_K(V) < \infty, m = \dim_K(W) < \infty</math>. Then <math>\dim_K(\operatorname{Hom}_K(V, W)) = n \cdot m</math>. |lösungsweg= To find the dimension of <math>\operatorname{Hom}_K(V, W)</math>, we have to construct a basis of this space. If we want to define a map from <math>V</math> to <math>W</math>, we have to define its image in <math>W</math> for <math>n</math> different basis vectors of <math>V</math>. This can again be represented as a linear combination of the <math>m</math> different basis vectors of <math>W</math>. |beweis= At first, we chose two bases: Let <math>\mathcal B_V = \{ \,v_1, \dots, v_n \, \} \subset V</math> be a basis of <math>V</math>, Let <math>\mathcal B_W = \{ \,w_1, \dots, w_m \, \} \subset W</math> be a basis of <math>W</math>. For each <math>i \in \{\, 1, \dots, n \,\}, j \in \{\, 1, \dots, m \,\}</math> we want to define a linear map <math>f_{i,j} \colon V \to W</math>. By the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]], we can define these uniquely by their values on the basis <math>\mathcal B_V</math>: {{Math|<math>\begin{align} f_{i,j} \colon V &\to W \\ v_k &\mapsto \begin{cases} 0 &\text{if } k \neq i, \\ w_j &\text{if } k = i. \end{cases} \end{align}</math>}} Let <math>\mathcal B := \{ \, f_{i,j} \, | \, i \in \{\, 1, \dots, n \,\}, j \in \{\, 1, \dots, m \,\} \, \} \subset \operatorname{Hom}_K(V, W)</math>. This set has <math>|\mathcal B| = m \cdot n</math> elements. To prove the statement of the theorem, we must therefore justify that <math>\mathcal B</math> is a basis of <math>\operatorname{Hom}_K(V, W)</math>. To do sop, we have to show that <math>\mathcal{B}</math> is linearly independent and a generating system. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\mathcal B</math> is linearly independent |beweisschritt=Let <math>\lambda_{i,j} \in K</math>, such that <math>\sum_{i=1}^{n} \sum_{j=1}^{m} \lambda_{i,j} \cdot f_{i,j} = 0_{\operatorname{Hom}_K(V,W)}</math>. We must now show that <math>\lambda_{i, j} = 0_K</math> for all <math>i, j</math>. Let <math>k \in \{\, 1, \dots, n \,\}</math>. Then: {{Math|<math>\begin{align} 0_W &= 0_{\operatorname{Hom}_K(V,W)}(v_k) \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of }\lambda_{i,j} \right.} \\[0.3em] &= \left(\sum_{i=1}^{n} \sum_{j=1}^{m} \lambda_{i,j} \cdot f_{i,j}\right)(v_k) \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of the sum and scalar multiplication of linear maps} \right.} \\[0.3em] &= \sum_{i=1}^{n} \sum_{j=1}^{m} \lambda_{i,j} \cdot f_{i,j}(v_k) \\ & {\color{OliveGreen}\left\downarrow\ \text{splitting the sum} \right.} \\[0.3em] &= \sum_{j=1}^{m} \lambda_{k,j} \cdot \underbrace{f_{k,j}(v_k)}_{=w_j} + \sum_{i\neq k} \sum_{j=1}^{m} \lambda_{i,j} \cdot \underbrace{f_{i,j}(v_k)}_{=0_W} \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of }f_{i,j} \right.} \\[0.3em] &= \sum_{j=1}^{m} \lambda_{k,j} \cdot w_j. \end{align}</math>}} As the <math>w_j</math> form a basis of <math>W</math>, they are linearly independent. Therefore, <math>\lambda_{k,j} = 0_K</math> already follows for all <math>j</math> and our fixed <math>k</math>. Since this <math>k</math> was chosen arbitrarily, <math>\lambda_{k,j} = 0_K</math> now follows for all <math>k, j</math>. The <math>f_{i,j}</math> are therefore linearly independent. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\mathcal B</math> is a generating system |beweisschritt=Let <math>g \in \operatorname{Hom}_K(V, W)</math>. For every <math>i \in \{\, 1, \dots, n \,\}</math> we have <math>f(v_i)\in W</math>. Since <math>\mathcal B_W</math> is a basis of <math>W</math>, there is a unique decomposition <math>g(v_i) = \sum_{j=1}^{m} \alpha_{i,j} \cdot w_j</math> such that <math>\alpha_{i, j} \in K</math>. We will now show that {{Math|<math>g = \sum_{i=1}^{n} \sum_{j=1}^{m} \alpha_{i,j} \cdot f_{i,j}.</math>}} Due to the linearity, this can be verified on the basis vectors <math>\mathcal B_V</math>. Let <math>k \in \{\, 1, \dots, n \,\}</math> be arbitrary. Then, {{Math|<math>\begin{align} g(v_k) &= \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of }\alpha_{k,j} \right.} \\[0.3em] &= \sum_{j=1}^{m} \alpha_{k,j} \cdot w_j \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of }f_{k,j} \right.} \\[0.3em] &= \sum_{j=1}^{m} \alpha_{k,j} \cdot f_{k, j}(v_k) \\ & {\color{OliveGreen}\left\downarrow\ f_{i,j}(v_k) = 0_W \text{ for all } i \neq k \right.} \\[0.3em] &= \sum_{j=1}^{m} \alpha_{k,j} \cdot f_{k, j}(v_k) + \underbrace{\sum_{i\neq k} \sum_{j=1}^{m} \alpha_{i,j} \cdot \underbrace{f_{i, j}(v_k)}_{=0_W}}_{=0_W} \\ & {\color{OliveGreen}\left\downarrow\ \text{concluding the sums} \right.} \\[0.3em] &= \sum_{i=1}^{n} \sum_{j=1}^{m} \alpha_{i,j} \cdot f_{i, j}(v_k) \\ & {\color{OliveGreen}\left\downarrow\ \text{definition of the sum and scalar multiplication of linear mappings}\right.} \\[0.3em] &= \left(\sum_{i=1}^{n} \sum_{j=1}^{m} \alpha_{i,j} \cdot f_{i, j}\right)(v_k). \end{align}</math>}} Therefore, <math>\mathcal B</math> is a generating system. }} This proves the statement of the theorem. }} {{:Math for Non-Geeks/Template:Hinweis |A similar statement also applies to infinite-dimensional vector spaces: If <math>\dim_K(V) = \infty</math> or <math>\dim_K(W) = \infty</math>, and <math>V \neq 0 \neq W</math>, then we also have <math>\dim_K(\operatorname{Hom}_K(V,W)) = \infty</math>. However, if <math>V = 0</math> and <math>W</math> is arbitrary (or vice versa), then we always get <math>\operatorname{Hom}_K(V,W) = 0</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} c5mr23wxsh5qj24qkdwkpld7tjb6gty Math for Non-Geeks/Dual space 0 473509 4635303 4630500 2026-05-11T17:16:19Z Sascha Lill 95 3167325 adjust equation format 4635303 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} We have already seen the vector space of linear maps <math>\operatorname{Hom}_K(V,W)</math> between two <math>K</math>-vector spaces <math>V</math> and <math>W</math>. We will now consider the case where the vector space <math>W</math> corresponds to the field <math>K</math>. ==Motivation== Consider the following example: We want to buy apples and pears. An apple costs $<math>2</math> and a pear $<math>3</math>. If <math>x\in\R</math> is the number of apples and <math>y\in\R</math> is the number of pears, how much do we have to pay in total? The formula for the total price is <math>2x+3y</math>. We can express this equation as <math>\R</math>-linear map {{Math|<math>P\colon\R^2\to\R,(x,y)\mapsto 2x+3y</math>}} Let's assume that the prices increase by half. To get the formula that gives the new total price, we need to multiply the old formula by <math>\frac{3}{2}</math>. The formula that gives this price would then be <math>\frac{3}{2}(2x+3y)=3x+\frac{9}{2}y</math>. The corresponding linear map is {{Math|<math>Q\colon\R^2\to\R,(x,y)\mapsto 3x+\frac{9}{2}y.</math>}} We thus recognize that <math>Q(x,y)=\frac{3}{2}P(x,y)</math>. Suppose now that the price of apples increases by $<math>2</math> and the price of pears by $<math>4</math>. We obtain the corresponding formula for the total price by adding <math>2x+4y</math> to the original formula, i.e. <math>(2x+3y)+(2x+4y)=4x+7y</math>. This can be understood as the addition of linear maps. We define <math>R,S\colon\R^2\to\R</math> by <math>R(x,y)= 2x+4y</math> and <math>S(x,y)= 4x+7y</math>. Then <math> (P + R)(x,y)= P(x,y)+ R(x,y)= S(x,y)</math> holds true. So in this example, we simply added linear maps from <math> \R^2 </math> to <math> \R </math> and multiplied them by scalars. The total price is indicated by linear maps from <math>\R^2\to \R</math>. Such a map assigns a value, namely the price, to each vector. In other words, we can say that the mapping "measures" these vectors. This is why we call linear maps from <math>\R^2</math> to <math>\R</math> ''linear measurement functions''. We have seen above that sums and scalar multiples of such maps are again linear maps. In other words, linear combinations of linear maps are again linear maps. So also on the set of linear maps on <math>\R^2</math>, we can find a vector space structure. What about other vector spaces? Let's look at the <math>\C</math>-vector space <math>\C[x]_{\leq n}</math> of complex polynomials of degree at most <math>n\in\N</math>. There are a number of simple measurement functions here. These can, for example, assign to a polynomial <math>p</math> its value at a point <math>a \in \C</math>: {{Math|<math>\operatorname{eval}_a\colon\C[x]_{\leq n}\to\C,p\mapsto p(a).</math>}} Alternatively, we can assign to a polynomial the value of its derivative at the point <math>a \in \C</math>: {{Math|<math>D_a\colon\C[x]_{\leq n}\to\C,p\mapsto p'(a).</math>}} Since the coefficients of polynomials are scalars, we can use them to define further measurement functions. For example, for <math>p=a_nx^n+\ldots+a_1x+a_0</math>, consider the mappings <math>f, g\colon\C[x]_{\leq n}\to\C</math> defined by <math>f(p) = a_n+\ldots+a_1</math> and <math>g(p)= a_0 </math>. Then <math>(f+g)(p)=f(p)+g(p)=a_n+\ldots+a_1+a_0=p(1)=:\operatorname{eval}_1(p)</math>. We can also see here that sums of measurement functions are again measurement functions. In general, we can also consider the space of linear measurement functions <math>V\to K</math> over an arbitrary <math>K</math>-vector space <math>V</math>. We will see that, as in the previous examples, this is a vector space. This space is called the dual space of <math>V</math>. ==Definition== {{:Math for Non-Geeks/Template:Definition |titel=Dual space |definition=Let <math>V</math> be a vector space over a field <math>K</math>. Then the space of linear mappings <math>V^*:=\operatorname{Hom}_K(V,K)</math> between the <math>K</math>-vector spaces <math>V</math> and <math>K</math> is called the dual space of <math>V</math>.}} The following theorem states that the dual space is a vector space. {{:Math for Non-Geeks/Template:Satz |titel=<math>V^*</math> is a vector space |satz=Let <math>V</math> be a vector space over a field <math>K</math>. Then <math>V^*</math> with the two relations {{Math|<math>\begin{align} +\colon V^* \times V^* &\to V^*\\ (f,g)&\mapsto f+g, \text{ where } (f + g)(v) := f(v) + g(v) \text{ for all }v \in V, \end{align}</math>}} and {{Math|<math>\begin{align} \cdot \colon K \times V^* &\to V^* \\ (\lambda,f)&\mapsto\lambda\cdot f, \text{ where } (\lambda \cdot f)(v) := \lambda\cdot f(v) \text{ for all }v \in V, \end{align}</math>}} a <math>K</math>-vector space. |beweis= We know from the article on [[Math for Non-Geeks/Function spaces#Anchor:Definition des Funktionenraums|function spaces]] that for <math>K</math>-vector spaces <math>V</math> and <math>W</math>, the set of linear maps <math>\operatorname{Hom}_K(V,W)</math> is also a <math>K</math>-vector space. Since <math>K</math> itself is a (1-dimensionsl) <math>K</math>-vector space, we know that for every <math>K</math> vector space <math>V</math>, also <math>V^*=\operatorname{Hom}_K(V,K)</math> is a <math>K</math> vector space. }} ==Examples of vectors in the dual space== {{:Math for Non-Geeks/Template:Beispiel |titel=Characterization of <math>(\R^2)^*</math> |beispiel= The dual space of <math>\R^2</math> is the vector space of all linear maps from <math>\R^2</math> to <math>\R</math>. Each such linear map <math>f\in(\R^2)^*</math> is given by multiplication with a (1x2) matrix, the [[Math for Non-Geeks/Introduction: Matrices|representing matrix]], and is therefore of the form {{Math|<math>f\colon\R^2\to\R,\quad\begin{pmatrix}x\\y\end{pmatrix}\mapsto \begin{pmatrix}a&b\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix}=ax+by</math>}} for certain <math>a,b\in\R</math>. Thus, the elements in the dual space of <math>\R^2</math> are described by linear equations of the form <math>f(x,y)=ax+by</math>. More generally, an element of <math>(\R^n)^*</math> is represented by a (1xn) matrix <math>\begin{pmatrix}a_1&\ldots&a_n\end{pmatrix}</math> or a linear equation of the form <math>f(x_1,\ldots,x_n)=a_1x_1+\ldots+a_nx_n</math> with coefficients <math>a_i\in\R</math>. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Limit of convergent sequences |beispiel=Let <math>c</math> be the space of convergent sequences <math>(x_n)_{n \in \N } \subseteq \R</math>. Because sums and scalar multiples of convergent sequences are convergent sequences again, <math>c</math> is a <math>\R</math> vector space. You can read a proof of the vector space properties [[Math for Non-Geeks/Sequence spaces#Anchor:UnterraumBeschrFolgen|here]]. We consider the mapping <math> f\colon c \to \R , (x_n)_{n \in \N } \mapsto \lim_ {n \to \infty} x_n </math>, which sends a sequence to its limit value. For example, <math>f((1)_{n\in\N})=\lim_{n\to\infty}1=1</math> or <math>f\left(\left(\tfrac 1n\right)_{n\in\N}\right)=\lim_{n\to\infty}(\tfrac 1n)=0</math>. From the [[Math_for_Non-Geeks/Limit_theorems|limit theorems]] we know that {{Math|<math>\begin{align} \lim_{n\rightarrow\infty} (a_n + b_n) &= \lim_{n\to\infty}a_n + \lim_{n\to\infty}b_n \text{ and }\\ \lim_{n\rightarrow\infty} \lambda \cdot a_n &= \lambda \cdot \lim_{n\to\infty}a_n \end{align}</math>}} applies to all convergent sequences <math>(a_n)_{n\in\N},(b_n)_{n\in\N}\in c</math> and scalars <math>\lambda\in\R</math>. It follows that <math>f</math> is a linear map and therefore <math>f\in c^*</math> holds. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Polynomial space and the evaluation mapping |beispiel=Let <math>K</math> be a field. We consider the polynomial ring <math>K[X]</math> as a <math>K</math>-vector space. For <math>\lambda \in K</math> we define the mapping {{Math|<math>\begin{align} \operatorname{eval}_\lambda \colon K[X] &\to K, \\ P &\mapsto P(\lambda), \end{align}</math>}} which evaluates a polynomial at the position <math>\lambda</math>. For example, we have <math>\operatorname{eval}_1(x^2-1)=1^2-1=0</math> and <math> \operatorname{eval}_0(x^2-1)=0^2-1=-1</math>. By direct computation, e can verify that this mapping is <math>K</math>-linear, i.e. an element of <math>K[X]^*</math>: For <math>P, Q \in K[X]</math> and <math>k \in K</math> we then have: {{Math|<math>\begin{align} \operatorname{eval}_\lambda(P + k \cdot Q) &= (P + k \cdot Q)(\lambda) \\ &= P(\lambda) + k \cdot Q(\lambda) \\ &= \operatorname{eval}_\lambda(P) + k \cdot \operatorname{eval}_\lambda(Q). \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Beispiel |titel=Derivative |beispiel=Let <math>C^1(\mathbb{R})</math> be the space of continuously differentiable functions <math>\mathbb{R} \to \mathbb{R}</math>. Let <math>x\in\R</math> be fixed and consider the mapping {{Math|<math>\begin{align} \partial_x \colon C^1(\mathbb{R}) &\to \mathbb{R}, \\ f &\mapsto f'(x) \end{align}</math>}} which sends a differentiable function to its derivative at the point <math>x</math>. For example, for <math>x=0</math>, the value of the mapping in <math>f(t)=t^2-1</math> is given by {{Math|<math>\partial_0(f)=f'(0)=(2t)|_{t=0}=0.</math>}} We verify by direct computation that the mapping <math>\partial_x</math> (for fixed <math>x\in\R</math>) is linear: For <math>f,g \in C^1(\mathbb{R})</math> and <math>\lambda \in \mathbb{R}</math> we have {{Math|<math>\begin{align} \partial_x(f+\lambda g) &= (f+\lambda g)'(x)\\ &= f'(x)+\lambda g'(x)\\ &= \partial_x(f) + \lambda \partial_x(g). \end{align}</math>}} This follows from the properties of the [[Math_for_Non-Geeks/Computing_derivatives#Anchor:TabelleAbleitungsregeln|derivative]]. So <math>\partial_x</math> is an element of <math>C^1(\mathbb{R})^*</math>. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Integral |beispiel=Let <math>C^0([0,1])</math> be the space of continuous functions <math>[0,1] \to \mathbb{R}</math>. Consider the mapping {{Math|<math>\begin{align} I \colon C^0([0,1]) &\to \mathbb{R}, \\ f &\mapsto \int_0^1 f(x) dx \end{align}</math>}} which sends a continuous function on <math>[0,1]</math> to its integral over this interval. As an example, for <math>f(x)=x^2-1</math>, {{Math|<math>I(f)=\int_0^1 x^2-1 dx=[\frac13 x^3-x]_{x=0}^1=(\frac13-1)-0=-\frac23.</math>}} We verify by direct calculation that the mapping <math>I</math> is linear: For <math>f,g \in C^0([0,1])</math> and <math>\lambda \in \mathbb{R}</math> the following applies {{Math|<math>\begin{align} I(f+\lambda g) &= \int_0^1 f(x)+g(x) dx\\ &= \int_0^1 f(x) dx + \int_0^1 g(x) dx\\ &=I(f) + \lambda I(g). \end{align}</math>}} This follows from the properties of the [[Math_for_Non-Geeks/Properties of the Riemann integral#Anchor:RiemannintegralEigenschaften|integral]]. So <math>I</math> is an element of <math>C^0([0,1])^*</math>. }} == Dual Basis == We now know what the dual space <math>V^*</math> of a <math>K</math>-vector space <math>V</math> is: It consists of all linear maps from <math>V</math> to <math>K</math>. Intuitively, we can understand these maps as linear maps that measure vectors from <math>V</math>. This is why we sometimes call elements of the dual space <math>V^*</math> "(linear) measurement functions" in this article. Motivated by this intuitive notion of "measurements", we ask ourselves: Is there a subset <math>M\subseteq V^*</math> of measurement functions that can be used to uniquely determine vectors? In other words, is there a subset <math>M</math> so that we can find a measurement function <math>f\in M</math> with <math>f(v)\neq f(w)</math> for every choice of vectors <math>v,w\in V</math> with <math>v\neq w</math>? Let's first consider what this means using an example: {{:Math for Non-Geeks/Template:Beispiel |titel=Unique determination of vectors using measurement functions |beispiel= Let us consider <math>V=\R^2</math>. Then the dual space <math>V^*</math> is the vector space of all linear maps <math>\R^2\to\R</math>. Consider the linear maps <math>f, g, h\in V^*</math> with {{Math|<math>f(x,y)=2x-y,\quad g(x,y)=\frac12 y-x, \quad h(x,y)=y.</math>}} If <math>M=\{f\}</math>, we cannot use these functions to determine vectors uniquely: For <math>v=(1,1)</math> and <math>w=(0,-1)</math>, we have <math>v\neq w</math>, but <math>f(v)=2-1=1=0-(-1)=f(w)</math>. Even with the measurement functions in <math>M'=\{f,g\}</math>, the vectors <math>(1,1)</math> and <math>(0,-1)</math> cannot be distinguished: We also have <math>g(1,1)=-\frac12=g(0,-1)</math>. However, if we consider the subset of measurement functions <math>M''=\{f,h\}</math> instead, then vectors in <math>\R^2</math> are uniquely determined by the measurements in <math>M''</math>: Let <math>v=(x,y)</math> and <math>w=(x',y')</math> be any vectors with <math>v\neq w</math>. Assume that <math>f(v)=f(w)</math> and <math>h(v)=h(w)</math> apply. From <math>h(v)=h(w)</math> we obtain <math>y=y'</math>. Together with <math>2x-y=f(v)=f(w)=2x'-y'</math>, we would then also get <math>2x=2x'</math>, i.e. <math>x=x'</math>. This would mean that <math>v=w</math>, which is a contradiction to our assumption. Therefore, <math>f(v)\neq f(w)</math> or <math>h(v)\neq h(w)</math> (or both) applies. Hence, for each choice of different vectors in <math>v,w\in\R^2</math>, at least one of the two measurements in <math>M''</math> provides different values for <math>v</math> and <math>w</math>. Vectors are therefore uniquely determined by the measurements in <math>M''</math>. }} In summary, our question is: Does there exist a subset <math>M\subseteq V^*</math> such that <math>v,w\in V</math> applies to all vectors: If <math>f(v)=f(w)</math> applies to all measurements <math>f\in M</math>, then <math>v=w</math> must be true. We will first try to answer this question in <math>K^n</math>. === Measurement functions for unique determination of vectors === A vector <math>v=(v_1, \ldots ,v_n)\in K^n</math> is uniquely determined by its entries <math>v_i</math>. If we select measurement functions from <math>(K^n)^*</math> in such a way that their values provide us with the entries of a vector, then we have ensured that a vector is already uniquely determined by these values. Let us therefore consider the following mappings for <math>i\in\{1,\ldots,n\}</math> {{Math|<math>f_i\colon K^n\to K,\quad x=(x_1,\ldots ,x_n) \mapsto x_i.</math>}} You can check that the maps <math>f_i</math> are linear. In addition, <math>f_i(v)=v_i</math> holds for every <math>i</math>. The map <math>f_i</math> therefore provides the <math>i</math>-th entry of vectors in <math>K^n</math>. A vector <math>v\in K^n</math> is already uniquely determined by the values of <math>f_i</math>: Suppose we have vectors <math>v=(v_1,\ldots ,v_n)</math> and <math>w=(w_1,\ldots ,w_n)</math> in <math>K^n</math> with equal function values among the <math>f_i</math>, i.e., with <math>f_i(v)=f_i(w)</math> for all <math>i</math>. Then <math>v_i=f_i(v)=f_i(w)=w_i</math> applies for all <math>i</math> and therefore <math>v=w</math>. Thus, if <math>v,w\in K^{n}</math> with <math>f_{i}(v)=f_{i}(w)</math> for all <math>i</math>, then <math>v = w</math> follows. It is also intuitively clear that we cannot omit any of the measurement functions <math>f_i</math> in order to uniquely determine a vector by its measurement values. For example, if we omit <math>f_j</math>, <math>j\in\{1,\ldots,n\}</math>, then for {{Math|<math>v=(0,\ldots,0)\quad\text{ and }\quad w=(0,\ldots,0,\underbrace{1}_{j\text{-th position}},0,\ldots,0)</math>}} we may have <math>f_i(v)=0=f_i(w)</math> for all measurement functions with <math>i\neq j</math>, but nevertheless <math>v\neq w</math>. The measurement functions <math>f_i</math> with <math>i\neq j</math> therefore no longer uniquely determine a vector. So the <math>f_i</math> with <math>i=1,\ldots n</math> form a set of measurement functions that uniquely determine vectors from <math>K^n</math>. Further, they are minimal because we cannot omit any of the functions. Can we generalize this to a general vector space <math>V</math>? In <math>K^n</math> we have used the fact that a vector <math>v=(v_1,\ldots,v_n)\in K^n</math> is uniquely determined by its entries <math>v_i</math>. Now, the <math>v_i</math> are precisely the coordinates of <math>v</math> with respect to the standard basis <math>\{e_1,\ldots,e_n\}\subseteq K^n</math>: {{Math|<math>v=v_1\cdot e_1+\ldots+v_n\cdot e_n.</math>}} In a general vector space <math>V</math>, we do not have a standard basis. However, as soon as we have chosen any basis <math>B</math>, we can speak of the coordinates of a vector with respect to <math>B</math> in the same way as in <math>K^n</math>. Just as in <math>K^n</math> with the standard basis, in <math>V</math> with the selected basis <math>B</math>, a vector <math>v\in V</math> is uniquely determined by its coordinates with respect to <math>B</math>. As soon as we have chosen a basis, we can try to proceed in the same way as in <math>K^n</math>. In the following, we assume that <math>V</math> is finite-dimensional, i.e. <math>\dim V=n<\infty</math>. Let <math>B=\{b_1,\ldots,b_n\}</math> be a basis of <math>V</math>. Then every vector <math>v\in V</math> is of the form {{Math|<math>v=a_1\cdot b_1+\ldots+a_n\cdot b_n</math>}} with uniquely determined coordinates <math>a_1,\ldots,a_n\in K</math>. Analogous to <math>K^n</math>, we now define the linear measurement functions for <math>i\in\{1,\ldots,n\}</math> in <math>V^*</math> {{Math|<math>f_i\colon V\to K,\quad v=a_1\cdot b_1+\ldots+a_n\cdot b_n\mapsto a_i.</math>}} One of the measurement functions <math>f_i</math> therefore determines the <math>i</math>-th coordinate of vectors with respect to the basis <math>B</math>. Thus, {{Math|<math>v=f_1(v)\cdot b_1+f_2(v)\cdot b_2+\ldots+f_n(v)\cdot b_n.</math>}} for every vector <math>v\in V</math>. {{:Math for Non-Geeks/Template:Warnung|Note that the definition of <math>f_i</math> depends on the selected basis <math>B</math>.}} Since vectors in <math>V</math> are already uniquely determined by their coordinates, they are also already uniquely determined by the values of <math>f_i</math>. In other words, for all <math>v,w\in V</math> we have {{Math|<math>f_1(v)=f_1(w),\, f_2(v)=f_2(w),\, \ldots,\, f_n(v)=f_n(w)\implies \underbrace{\sum_{i=1}^nf_i(v)\cdot b_i}_{=v}=\underbrace{\sum_{i=1}^nf_i(w)\cdot b_i}_{=w}\implies v=w.</math>}} For the same reason as with <math>K^n</math>, none of the <math>f_i</math> can be omitted: If the <math>j</math>-th measurement function <math>f_j</math>, <math>i\in\{1,\ldots,n\}</math>, is missing, then any two vectors for which only the <math>j</math>-th coordinate with respect to <math>B</math> differs, can no longer be distinguished. {{:Math for Non-Geeks/Template:Frage |frage=Which two vectors can you choose here? |antwort= We choose an example analogous to <math>K^n</math> and set {{Math|<math>v=0\cdot b_1+\ldots + 0\cdot b_{j-1}+1\cdot b_j+0\cdot b_{j+1}+\ldots+0\cdot b_n=b_j</math>}} and {{Math|<math>w=0\cdot b_1+\ldots+0\cdot b_n=0_V.</math>}} Then <math>f_i(v)=0_K=f_i(w)</math> holds for all <math>i\in\{1,\ldots,j-1,j+1,\ldots,n\}</math>, but nevertheless <math>v\neq w</math>. If the <math>j</math>-th measurement function is omitted, then vectors are no longer uniquely determined by the function values of <math>f_i</math>. }} === The measurement functions form a basis === Let <math>V</math> be a vector space with a fixed basis <math>B=\{b_1,\ldots,b_n\}</math> and let the <math>f_i</math> be defined as above. If you want to determine vectors uniquely using the values of <math>f_i</math>, you cannot do without any of the <math>f_i</math>. The reason for this is that the result of a measurement <math>f_j(v)</math> (the <math>j</math>-th coordinate of <math>v</math> with respect to <math>B</math>) cannot be deduced from the other measurements. That means, we cannot represent any of the measurement functions <math>f_j</math> as a linear combination of the other <math>f_i</math> (<math>i\neq j</math>). In other words, the measurement functions <math>f_i</math> are linearly independent. On the other hand, the values of <math>f_i</math> already tell us everything there is to know about a vector <math>v\in V</math>: Its coordinates with respect to the selected basis <math>B</math>. Can all other measurement functions from <math>V^*</math> therefore be combined from <math>f_1,\ldots,f_n</math>? Any measurement function <math>g\colon V\to K</math> from <math>V^*</math> is already uniquely determined by its values on the basis vectors <math>b_1,\ldots,b_n</math> according to the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]]. For <math>i\in\{1,\ldots,n\}</math>, let <math>\lambda_i=g(b_i)\in K</math> be these values. Furthermore, <math>f_i(b_i)=1</math> and <math>f_i(b_j)=0</math> apply for <math>j\neq i</math> and all <math>i\in\{1,\ldots,n\}</math>. By inserting the <math>b_i</math> we obtain that {{Math|<math>g=\lambda_1\cdot f_1+\ldots+\lambda_n\cdot f_n</math>}} assume the same values on the basis vectors. According to the principle of linear continuation, the two linear maps are therefore identical. Thus, every <math>g\in V^*</math> can be written as a linear combination of <math>f_i</math>. In other word, the measurement functions <math>f_i</math> form a generating system of <math>V^*</math>. Hence, <math>\{f_1,\ldots,f_n\}\subseteq V^*</math> is a basis of the dual space, and we can prove the following theorem: {{:Math for Non-Geeks/Template:Satz |titel=Existence of a dual basis |satz= Let <math>V</math> be a finite dimensional vector space and <math>B=\{b_1,\ldots,b_n\}</math> a basis of <math>V</math>. Then there exists a unique basis <math>B^*=\{f_1,\ldots,f_n\}</math> of <math>V^*</math> such that {{Math|<math>f_i(b_j)=\begin{cases}1 & \text{if }i=j\\0&\text{else}\end{cases}</math>}} is true for all <math>i,j\in\{1,\ldots,n\}</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence and uniqueness of the <math>f_i</math>. |beweisschritt= According to the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]], the linear maps <math>f_i</math> exist and are uniquely determined by their values on the basis vectors of <math>V</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=The <math>f_i</math> are linearly independent. |beweisschritt= Let <math>\lambda_1,\ldots,\lambda_n\in K</math> with <math>\sum_{i=1}^n\lambda_if_i=0_{V^*}</math>. Let further <math>i\in\{1,\ldots,n\}</math>. Because <math>f_i(b_i)=1</math> and <math>f_j(b_i)=0</math> for <math>j\neq i</math>, we obtain the following by plugging in <math>b_i</math>: {{Math|<math>0_K=0_{V^*}(b_i)=(\sum_{i=1}^n\lambda_if_i)(b_i)=\sum_{i=1}^n\lambda_if_i(b_i)=\lambda_i.</math>}} Because <math>i\in\{1,\ldots,n\}</math> was arbitrary, we conclude <math>\lambda_1=\ldots=\lambda_n=0_K</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=The <math>f_i</math> form a generating system. |beweisschritt= Let <math>f\in V^*</math> be arbitrary. For <math>i\in\{1,\ldots, n\}</math> we define <math>\lambda_i=f(b_i)\in K</math> and set <math>g=\sum_{i=1}^n\lambda_if_i</math>. Then, proceeding as in the proof of linear independence, we obtain {{Math|<math>g(b_i)=(\sum_{i=1}^n\lambda_if_i)(b_i)=\sum_{i=1}^n\lambda_if_i(b_i)=\lambda_i</math>}} for each <math>i\in\{1,\ldots,n\}</math>. Because <math>f(b_i)=g(b_i)</math> applies to all <math>i</math> and because a linear map is already uniquely determined by the images of its basis vectors, we have <math>f=g\in\operatorname{span}\{f_1,\ldots,f_n\}</math>. The <math>f_i</math> therefore form a generating system. }} }} We call the uniquely determined basis <math>B^*</math> the '''dual basis''' with respect to <math>B</math> and denote its basis vectors by <math>b_i^*=f_i</math>. {{:Math for Non-Geeks/Template:Definition |titel=Dual basis |definition= Let <math>V</math> be a finite dimensional vector space with basis <math>B=\{b_1,\ldots,b_n\}</math>. The uniquely determined basis <math>B^*=\{b_1^*,\ldots,b_n^*\}</math> with {{Math|<math>b_i^*(b_j)=\begin{cases}1 & \text{if }i=j\\0&\text{else}\end{cases}</math>}} is called the dual basis of <math>B</math>. }} {{:Math for Non-Geeks/Template:Warnung| Note that <math>B^*</math> depends on the basis chosen for <math>V</math>. Furthermore, you cannot "dualize" individual vectors from <math>V</math>, but only entire bases.}} === What happens in the infinite dimension? === Above, we only considered the case <math>\dim V<\infty</math>. Can we proceed analogously if <math>V</math> is infinite dimensional? To define the measurement functions <math>f_i</math>, we must first choose a basis of <math>V</math>. Let <math>B=\{b_i\mid i\in I\}\subseteq V</math> be a basis of <math>V</math>, where <math>I</math> is an (infinite) index set. The principle of linear continuation also applies in infinite dimensions: For given values <math>\lambda_i\in K</math>, <math>i\in I</math>, there is exactly one linear map <math>f\colon V\to K</math> with <math>f(b_i)=\lambda_i</math> for all <math>i\in I</math>. Just as in the finite-dimensional case, we can therefore define the map <math>f_i\colon V\to K</math> for <math>i\in I</math> using the rule {{Math|<math>f_i(b_j)=\begin{cases}1, & j=i\\ 0, & j\neq i\end{cases}.</math>}} We can then show that <math>\{f_i\mid i\in I\}</math> is also a linearly independent subset of <math>V^*</math> in infinite dimensions. The proof is analogous to the proof of linear independence in the [[Math for Non-Geeks/Dual space#Satz:Existenz der dualen Basis|theorem on the dual basis]]. However, in infinitely many dimensions, <math>\{f_i\mid i\in I\}</math> cannot be a generating system of <math>V^*</math>: One can consider the function {{Math|<math>h\colon V\to K,\quad b_i\mapsto 1\text{ for all }i\in I,</math>}} which assumes the value 1 on all basis vectors. This function cannot be represented as a finite linear combination of <math>f_i</math>. So in infinitely many dimensions, the "dual basis" <math>\{f_i\mid i\in I\}</math> is not a basis of the dual space. ==Exercises== {{:Math for Non-Geeks/Template:Aufgabe |titel=Determining dual basis vectors and their kernels |aufgabe= Let <math>V</math> be a finite-dimensional vector space and let <math>v\in V</math> with <math>v\neq0</math>. Show that there exists an <math>f\in V^*</math> with <math>f(v)\neq0</math>. |erklärung= When deriving the dual basis, we were guided by the idea that vectors in <math>V</math> should be distinguishable by "measurements" in <math>V^*</math>. In this exercise, we will convince ourselves that this is true: We can always find a measurement <math>f\in V^*</math> for which <math>f(0_V)=0</math> (this applies to every linear mapping), but <math>f(v)\neq0</math>. We may therefore find an element in the dual space with which we can distinguish <math>v</math> and the zero vector. |lösungsweg= We have to construct a linear map <math>f\colon V \to K</math>. This map is one element of <math>V^\ast</math>. According to the [[Math for Non-Geeks/Linear continuation#Anchor:lineare Fortsetzung|principle of linear continuation]], we can construct linear maps by specifying what they do on a basis. To use this principle, it is convenient to have a basis of <math>V</math>. Even more convenient is to have a basis of <math>V</math> that contains <math>v</math> as a basis vector. We can construct such a basis using the [[Math for Non-Geeks/Basis#Anchor:Basisergänzungssatz|basis completion theorem]], which tells us that <math>V</math> has a basis <math>b_1,\dots, b_n</math> with <math>b_1 = v</math>. Using the principle of linear continuation, we can thus construct a linear map that does not send <math>b_1 = v</math> to <math>0</math>. For example, we can choose that <math>f\colon V \to K</math>, which sends all <math>b_1</math> to <math>1</math> and <math>b_i</math> for <math>i = 2, \dots, n</math> to <math>0</math>. This is exactly the dual basis vector <math>b_1^\ast</math> in the dual basis to <math>b_1, \dots, b_n</math>. |lösung= According to the [[Math for Non-Geeks/Basis#Anchor:Basisergänzungssatz|Basis completion theorem]], there exists a basis <math>B = \{b_1, \dots, b_n\}</math> with <math>b_1 = v</math>. From the [[#Definition:Duale Basis|definition of the dual basis]] we obtain that the dual basis vector <math>b_1^\ast</math> of <math>B^\ast</math> has the property <math>b_1^\ast(v) = b_1^\ast(b_1) = 1\ne 0</math>. Thus <math>f = b_1^\ast</math> fulfills the desired condition. }} {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel=Determining the dual basis |aufgabe= |teilaufgabe1= Consider the basis <math>B_1=\left\{\begin{pmatrix}2\\0\\1\end{pmatrix},\begin{pmatrix}0\\1\\1\end{pmatrix},\begin{pmatrix}1\\1\\2\end{pmatrix}\right\}</math> of <math>\R^3</math>. Determine the basis <math>B_1^*=\{v_1^*,v_2^*,v_3^*\}</math> which is dual to <math>B_1</math>, that is, for <math>1\leq i\leq3</math> determine the explicit form of the function {{Math|<math>v_i^*\colon \R^3\to\R,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto v_i^*(\begin{pmatrix}x\\y\\z\end{pmatrix}).</math>}} |teilaufgabe2= Consider the basis <math>B_2=\{t^3+t^2, t^2, t^2-t, 1\}</math> of <math>\R[t]_{\leq3}</math>. Determine the basis dual to <math>B_2</math> <math>B_2^*=\{p_1^*,\ldots,p_4^*\}</math>, i.e. for <math>1\leq i\leq 4</math> determine the explicit form of the function {{Math|<math>p_i^*\colon \R[t]_{\leq3}\to\R,\quad a_3t^3+a_2t^2+a_1t+a_0\mapsto p_i^*(a_3t^3+a_2t^2+a_1t+a_0).</math>}} |teilaufgabe3= Consider the basis <math>B_3=\left\{\begin{pmatrix}1&0\\0&0\end{pmatrix}, \begin{pmatrix}0&1\\1&0\end{pmatrix}, \begin{pmatrix}0&1\\-1&0\end{pmatrix}, \begin{pmatrix}1&1\\1&1\end{pmatrix}\right\}</math> of <math>\C^{2\times 2}</math>. Determine the basis <math>B_3^*=\{M_1^*,\ldots,M_4^*\}</math> dual to <math>B_3</math> , i.e. for <math>1\leq i\leq 4</math> determine the explicit form of the function {{Math|<math>M_i^*\colon \C^{2\times 2}\to\C,\quad\begin{pmatrix}a&b\\c&d\end{pmatrix}\mapsto M_i^*(\begin{pmatrix}a&b\\c&d\end{pmatrix}).</math>}} |teilaufgabe1-lösung= Set <math>v_1=(2,0,1)^T</math>, <math>v_2=(0,1,1)^T</math> and <math>v_3=(1,1,2)^T</math>. We are looking for linear maps <math>v_1^*,v_2^*,v_3^*\colon \R^3\to\R</math> whose values we only know on the basis vectors <math>v_i</math>. We must define <math>v_i^*((x,y,z)^T)</math> for general <math>x,y,z\in\R</math>. By definition of the dual basis, we already know the function values of each <math>v_i^*</math> on the basis vectors in <math>B_1</math>. Applying the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]], we can determine all function value: Because <math>B_1</math> is a basis, there are coordinates <math>a, b,c\in\R</math> for each <math>(x,y,z)^T\in\R^3</math> such that <math>(x,y,z)^T=av_1+bv_2+cv_3</math>. With the help of linearity we get {{Math|<math>v_i^*((x,y,z)^T)=v_i^*(av_1+bv_2+cv_3)=av_i^*(v_1)+bv_i^*(v_2)+cv_i^*(v_3).</math>}} We know the values <math>v_i^*(v_j)</math> by definition of the dual basis. We therefore only need to determine the coordinates of any vector <math>(x,y,z)^T</math> with respect to <math>B_1</math>. Then we can write out the <math>v_i^*</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Determining the coordinates of any vector <math>(x,y,z)^T</math> with respect to <math>B_1</math> |beweisschritt= We want to determine the coordinates with respect to <math>B_1</math> of any vector <math>(x,y,z)^T</math>. Let <math>x,y,z\in\R</math>. We write {{Math|<math>\begin{pmatrix}x\\y\\z\end{pmatrix}=x\begin{pmatrix}1\\0\\0\end{pmatrix}+y\begin{pmatrix}0\\1\\0\end{pmatrix}+z\begin{pmatrix}0\\0\\1\end{pmatrix}=xe_1+ye_2+ze_3.</math>}} The coordinates of <math>(x,y,z)^T</math> with respect to the standard basis <math>B_{st}=\{e_1,e_2,e_3\}</math> are therefore simply <math>x</math>, <math>y</math> and <math>z</math>. If we write <math>k_{B_{st}}</math> for the [[Math for Non-Geeks/Isomorphisms#Definition:Koordinatenabbildung|coordinate map]], this means {{Math|<math>k_{B_{st}}(\begin{pmatrix}x\\y\\z\end{pmatrix})=\begin{pmatrix}x\\y\\z\end{pmatrix}.</math>}} We can convert these into coordinates <math>a,b,c</math> with respect to <math>B_1</math> by multiplying the coordinate vector of <math>B_{st}</math> from the left by the [[Math for Non-Geeks/Basis change via matrices|basis transition matrix]] <math>T^{B_{st}}_{B_1}</math> that implements the transfer from <math>B_{st}</math> to <math>B_1</math>. Then {{Math|<math>\begin{pmatrix}a\\b\\c\end{pmatrix}=T^{B_{st}}_{B_1}\begin{pmatrix}x\\y\\z\end{pmatrix}.</math>}} In order to determine the basis transition matrix <math>T^{B_{st}}_{B_1}</math>, we calculate the coordinates of the standard basis vectors <math>e_1,e_2,e_3</math> with respect to <math>B_1</math>. These form the columns of <math>T^{B_{st}}_{B_1}</math>. We start with <math>e_1</math>: We are looking for <math>a_1,b_1,c_1\in\R</math> such that {{Math|<math>a_1v_1+b_1v_2+c_1v_3=a_1\begin{pmatrix}2\\0\\1\end{pmatrix}+b_1\begin{pmatrix}0\\1\\1\end{pmatrix}+c_1\begin{pmatrix}1\\1\\2\end{pmatrix}=\begin{pmatrix}1\\0\\0\end{pmatrix}</math>}} For this we have to solve the linear system {{Math|<math>\begin{align} 2a_1 + c_1&=1\\ b_1+c_1&=0\\ a_1+b_1+2c_1&=0 \end{align}</math>}} which yields <math>a_1=1</math>, <math>b_1=1</math> and <math>c_1=-1</math>. In the same way, we determine the coordinates <math>a_2=1, b_2=3, c_2=-2</math> of <math>e_2</math> with respect to <math>B_1</math> and the coordinates <math>a_3=-1, b_3=-2, c_3=2</math> of <math>e_3</math> with respect to <math>B_1</math>. Then {{Math|<math>T^{B_{st}}_{B_1}=\begin{pmatrix} a_1&a_2&a_3\\ b_1&b_2&b_3\\ c_1&c_2&c_3 \end{pmatrix}=\begin{pmatrix} 1&1&-1\\ 1&3&-2\\ -1&-2&2 \end{pmatrix}.</math>}} Note: We could also have solved all three systems at once by summarizing the "right-hand sides" column by column, i.e. by taking the inverse of <math>\begin{pmatrix} 2&0&1\\ 0&1&1\\ 1&1&2 \end{pmatrix}</math> . This makes sense, because this matrix is the basis transition matrix from <math>B_1</math> to the standard basis. Its inverse is therefore the matrix <math>T^{B_{st}}_{B_1}</math> that transitions from <math>B_{st}</math> to <math>B_1</math>. The coordinates of <math>(x,y,z)^T</math> with respect to <math>B_1</math> are therefore {{Math|<math>T_{B_1}^{B_{st}}k_{B_{st}}(\begin{pmatrix}x\\y\\z\end{pmatrix})=\begin{pmatrix} 1&1&-1\\ 1&3&-2\\ -1&-2&2 \end{pmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=\begin{pmatrix} x+y-z\\ x+3y-2z\\ -x-2y+2z \end{pmatrix}.</math>}} Of course, it is also okay to guess the coordinates of <math>(x,y,z)^T</math> with respect to <math>B_1</math> by looking closely without solving systems of equations. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Result for <math>v_1^*,v_2^*,v_3^*</math> |beweisschritt= We can now write any <math>(x,y,z)^T</math> as {{Math|<math>\begin{pmatrix}x\\y\\z\end{pmatrix}=(x+y-z)v_1+(x+3y-2z)v_2+(-x-2y+2z)v_3.</math>}} Using linearity of <math>v_i^*</math> and the definition of the dual basis, we obtain {{Math|<math>v_1^*((x,y,z)^T)=(x+y-z)\underbrace{v_1^*(v_1)}_{=1}+(x+3y-2z)\underbrace{v_1^*(v_2)}_{=0}+(-x-2y+2z)\underbrace{v_1^*(v_3)}_{=0}=x+y-z.</math>}} In the same way, we calculate <math>v_2^*((x,y,z)^T)=x+3y-2z</math> and <math>v_3^*((x,y,z)^T)=-x-2y+2z</math>. In total, we have therefore determined the three basis vectors of the dual basis: {{Math|<math>\begin{align} v_1^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto x+y-z,\\ v_2^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto x+3y-2z,\\ v_3^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto -x-2y+2z. \end{align}</math>}} }} |teilaufgabe2-lösung=We know what the map <math>p_i^*</math> does with the basis vectors <math>p_i\in B_2</math>. To find out how <math>p_i^*</math> acts on a general vector <math>a_3t^3+a_2t^2+a_1t+a_0</math>, we can express it in the basis <math>B_2</math> via linear combination: {{Math|<math>\begin{align} & a_3t^3+a_2t^2+a_1t+a_0 \\ & {\color{OliveGreen}\left\downarrow \text{ expand with } a_3t^3-a_3t^3 \text{ and } -a_1t^2+a_1t^2 \right.}\\ = & a_3(t^3+t^2)-a_3t^2+a_2t^2+a_1(t-t^2)+a_1t^2+a_0 \\ & {\color{OliveGreen}\left\downarrow \text{sort by basis vectors }p_1,p_2,p_3,p_4 \right.}\\ =& a_3(t^3+t^2)+(a_1+a_2-a_3)t^2 -a_1(t^2-t)+a_0\\ =& a_3 p_4+(a_1+a_2-a_3)p_3-a_1 p_2+p_1 \end{align}</math>}} This allows us to calculate the desired functions. For <math>p_1^*</math> we have {{Math|<math>\begin{align} & p_1^*(a_3t^3+a_2t^2+a_1t+a_0)\\ =&p_1^*(a_3 p_4+(a_1+a_2-a_3)p_3-a_1 p_2+p_1)\\ & {\color{OliveGreen}\left\downarrow p_1^* \text{ is linear.}\right.}\\ =& a_3\underbrace{p_1^*(p_4)}_{=0}+(a_1+a_2-a_3)\underbrace{p_1^*(p_3)}_{=0}-a_1\underbrace{p_1^*(p_2)}_{=0}+\underbrace{p_1^*(p_1)}_{=1}\\ =& 1 \end{align}</math>}} For <math>p_2^*</math> we get {{Math|<math>\begin{align} & p_2^*(a_3t^3+a_2t^2+a_1t+a_0)\\ =&p_2^*(a_3 p_4+(a_1+a_2-a_3)p_3-a_1 p_2+p_1)\\ & {\color{OliveGreen}\left\downarrow p_2^* \text{ is linear.}\right.}\\ =& a_3\underbrace{p_2^*(p_4)}_{=0}+(a_1+a_2-a_3)\underbrace{p_2^*(p_3)}_{=0}-a_1\underbrace{p_2^*(p_2)}_{=1}+\underbrace{p_2^*(p_1)}_{=0}\\ =& -a_1 \end{align}</math>}} So the function of <math>p_3^*</math> is {{Math|<math>\begin{align} & p_3^*(a_3t^3+a_2t^2+a_1t+a_0)\\ =&p_3^*(a_3 p_4+(a_1+a_2-a_3)p_3-a_1 p_2+p_1)\\ & {\color{OliveGreen}\left\downarrow p_3^* \text{ is linear.}\right.}\\ =& a_3\underbrace{p_3^*(p_4)}_{=0}+(a_1+a_2-a_3)\underbrace{p_3^*(p_3)}_{=1}-a_1\underbrace{p_3^*(p_2)}_{=0}+\underbrace{p_3^*(p_1)}_{=0}\\ =& a_1+a_2-a_3 \end{align}</math>}} For <math>p_4^*</math> we get {{Math|<math>\begin{align} & p_4^*(a_3t^3+a_2t^2+a_1t+a_0)\\ =&p_4^*(a_3 p_4+(a_1+a_2-a_3)p_3-a_1 p_2+p_1)\\ & {\color{OliveGreen}\left\downarrow p_4^* \text{ is linear.}\right.}\\ =& a_3\underbrace{p_4^*(p_4)}_{=1}+(a_1+a_2-a_3)\underbrace{p_4^*(p_3)}_{=0}-a_1\underbrace{p_4^*(p_2)}_{=0}+\underbrace{p_4^*(p_1)}_{=0}\\ =& a_3 \end{align}</math>}} In summary, we obtain the following functions {{Math|<math>\begin{align} &p_1^*\colon \R[t]_{\leq3}\to\R,\quad a_3t^3+a_2t^2+a_1t+a_0\mapsto 1\\ &p_2^*\colon \R[t]_{\leq3}\to\R,\quad a_3t^3+a_2t^2+a_1t+a_0\mapsto -a_1\\ &p_1^*\colon \R[t]_{\leq3}\to\R,\quad a_3t^3+a_2t^2+a_1t+a_0\mapsto a_1+a_2-a_3\\ &p_1^*\colon \R[t]_{\leq3}\to\R,\quad a_3t^3+a_2t^2+a_1t+a_0\mapsto a_3\\ \end{align}</math>}} |teilaufgabe3-lösung= We know the values of each <math>M_i^*</math> when applied to the basis vectors <math>M_1=\begin{pmatrix}1&0\\0&0\end{pmatrix}, M_2=\begin{pmatrix}0&1\\1&0\end{pmatrix}, M_3=\begin{pmatrix}0&1\\-1&0\end{pmatrix}, M_4=\begin{pmatrix}1&1\\1&1\end{pmatrix}</math> and want to find the value for any matrix <math>A=\begin{pmatrix}a&b\\c&d\end{pmatrix}</math>. To do this, we express <math>A</math> as a linear combination of <math>M_i</math>: {{Math|<math>\begin{align} \begin{pmatrix}a&b\\c&d\end{pmatrix}&=a\begin{pmatrix}1&0\\0&0\end{pmatrix}+b\begin{pmatrix}0&1\\0&0\end{pmatrix}+c\begin{pmatrix}0&0\\1&0\end{pmatrix}+d\begin{pmatrix}0&0\\0&1\end{pmatrix}\\ &=aM_1+b\frac12(M_2+M_3)+c\frac12(M_2-M_3)+d(M_4-M_1-M_2)\\ &=(a-d)M_1+(\frac{b}{2}+\frac{c}{2}-d)M_2+(\frac{b}{2}-\frac{c}{2})M_3+dM_4. \end{align}</math>}} Using the definition of the dual basis and the linearity of <math>M_i^*</math>, we can now specify the solution: We have <math>M_i^*(M_j)=0</math> for <math>i\neq j</math> and <math>M_i^*(M_i)=1</math>, so the following applies {{Math|<math>\begin{align} M_1^*&\colon\C^{2\times 2}\to\C,\quad \begin{pmatrix}a&b\\c&d\end{pmatrix}\mapsto a-d,\\ M_2^*&\colon\C^{2\times 2}\to\C,\quad \begin{pmatrix}a&b\\c&d\end{pmatrix}\mapsto \frac{b}{2}+\frac{c}{2}-d,\\ M_3^*&\colon\C^{2\times 2}\to\C,\quad \begin{pmatrix}a&b\\c&d\end{pmatrix}\mapsto \frac{b}{2}-\frac{c}{2},\\ M_4^*&\colon\C^{2\times 2}\to\C,\quad \begin{pmatrix}a&b\\c&d\end{pmatrix}\mapsto d,\\ \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Elements of the dual space and their kernel |aufgabe=Let <math>V</math> be an <math>n</math>-dimensional <math>K</math>-vector space and let <math>f,g\in V^*</math>. Show: If <math>\ker(f)=\ker(g)</math>, then there exists a <math>\lambda\in K</math> with <math>g=\lambda f</math>. |lösungsweg= For the elements <math>v</math> in the kernel of <math>f</math> and <math>g</math>, we have <math>g(v) = \lambda f(v) = 0</math> for all <math>\lambda \in K</math>. This means that the desired <math>\lambda</math> only depends on the <math>v \in V</math>, which are not in the kernel of <math>f</math> and <math>g</math>. To understand this in more detail, we first look at the dimension of the kernel. Using the [[Math for Non-Geeks/Dimension formula for linear maps#Satz:Dimensionssatz|dimension formula]], we obtain {{Math|<math>\dim \ker (f)+\dim \operatorname{im}(f)=\dim V</math>}} and therefore <math>\dim\ker(f) = n - \dim\operatorname{im}(f)</math>. Now <math>\operatorname{im}(f)</math> is a subspace of <math>K</math>. Because <math>K</math> is one-dimensional, we get that the dimension of the image of <math>f</math> is either <math>0</math> or <math>1</math>. Thus, <math>\dim\ker(f) = n</math> or <math>\dim \ker(f) = n-1</math>. Now we have <math>\ker(f) = \ker(g)</math>. This means that they both have the same dimension. In case <math>\dim\ker(f) = \dim\ker(g) = n</math>, they have the same dimension as <math>V</math>. So in this case, <math>\ker(f) = \ker(g) = V</math>, so <math>f</math> and <math>g</math> are the zero map. Therefore, <math>f = g</math> and we can choose <math>\lambda = 1</math>. It remains to consider the case <math>\dim\ker(f) = n-1</math>. Here, we actually have vectors in which <math>\lambda</math> plays a role. To compare the maps, it makes sense to look at them as applied to a basis, since according to the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]] we know that <math>f</math> and <math>g</math> are already completely determined by their behavior on a basis. It is useful to choose a basis of <math>V</math> with respect to which we already know a lot about our maps <math>f</math> and <math>g</math>. We already know what both do on <math>\ker(f) = \ker(g)</math>. Let <math>b_1, \dots, b_{n-1}</math> be a basis of <math>\ker(f) = \ker(g)</math>. Then we can use the [[Math for Non-Geeks/Basis#Satz:Basisergänzungssatz|basis completion theorem]] to continue this basis to a basis <math>b_1, \dots, b_{n-1}, b_n</math> of <math>V</math>. Since <math>b_n \not\in\ker(f) = \ker(g)</math>, we know that <math>f(b_n) \ne 0</math> and <math>g(b_n) \ne 0</math>. Furthermore, we know that <math>f(b_i) = g(b_i) = 0</math> for <math>i = 1, \dots, n-1</math>. We now need a candidate for <math>\lambda</math>. Since <math>\lambda</math> depends on elements from <math>V</math> that are not mapped to <math>0</math>, it makes sense to use <math>b_n</math> for the candidate. With <math>\lambda = g(b_n)/f(b_n)</math> we get <math>g(b_n) = \lambda f(b_n)</math>. To see whether <math>g(v) = \lambda f(v)</math> is valid for all <math>v \in V</math>, by the principle of linear continuation, it is sufficient to check this on our basis <math>b_1, \dots, b_n</math>. We already know that the statement is true for <math>b_n</math>, as well as for <math>b_i</math> with <math>i = 1, \dots, n-1</math>, since <math>g(b_i) = 0 = \lambda \cdot 0 = \lambda \cdot f(b_i)</math>. This proves the statement. |lösung=The function <math>f\colon V\to K</math> is a linear map between two finite-dimensional vector spaces. From the [[Math for Non-Geeks/Dimension formula for linear maps#Satz:Dimensionssatz|dimension formula]] we get {{Math|<math>\dim \ker (f)+\dim \operatorname{im}(f)=\dim V</math>}} Since the image <math>\operatorname{im}(f)</math> is a subspace of <math>K</math>, we have <math>\dim\operatorname{im}(f)\leq \dim(K)=1</math>. Furthermore, <math>\dim V=n</math> applies. We can therefore conclude {{Math|<math>n=\dim V=\dim \ker (f)+\dim \operatorname{im}(f)\leq \dim \ker (f)+ 1</math>}} Therefore, <math>\dim \ker(f)\geq n-1</math>. On the other hand, <math>\dim \ker(f)\leq \dim V=n</math>, because the kernel <math>\ker(f)</math> is a subspace of <math>V</math>. Hence, there are only two possibilities: # The dimension of <math>\ker(f)</math> is <math>n</math>. # The dimension of <math>\ker(f)</math> is <math>n-1</math>. Similarly, we can conclude that the dimension of the kernel of <math>g</math> is either <math>n</math> or <math>n-1</math>. We assume that <math>\ker(f)=\ker(g)</math> and show that there is then a <math>\lambda\in K</math> with <math>g=\lambda f</math>. For this, we consider the two cases <math>\dim\ker(f)=n</math> and <math>\dim\ker(f)=n-1</math> separately. {{:Math for Non-Geeks/Template:Fallunterscheidung |fall1=<math>\dim\ker(f)=n</math> |beweis1=In this case, the kernel of <math>f</math> is an <math>n</math>-dimensional subspace of the <math>n</math>-dimensional vector space <math>V</math>. Therefore, <math>\ker(f)=V</math> and because of our assumption also <math>\ker(g)=V</math>. Therefore, for all <math>v\in V</math>, we have <math>f(v)=0</math> and <math>g(v)=0</math>. This means <math>f</math> and <math>g</math> are both the zero map, i.e. <math>f=0=g</math>. This proves the statement with <math>\lambda=1</math>. |fall2=<math>\dim\ker(f)=n-1</math> |beweis2=In this case, the dimension formula implies {{Math|<math>\dim\operatorname{im}(f)=\dim V- \dim\ker(f)=n-(n-1)=1</math>}} Let <math>b_1,\ldots ,b_{n-1}\in V</math> be a basis of <math>\ker(f)</math>. Because <math>\ker(f)=\ker(g)</math>, it is also a basis of <math>\ker(g)</math>. Due to the [[Math for Non-Geeks/Basis#Satz:Basisergänzungssatz|basis completion theorem]], we can complete <math>b_1,\ldots ,b_{n-1}</math> to a basis <math>b_1,\ldots ,b_{n-1},b_n</math> of <math>V</math>. We then define <math>\alpha:=f(b_n)\in K</math> and <math>\beta:=g(b_n)\in K</math>. The vector <math>b_n</math> is not in <math>\ker(f)</math>, therefore <math>\alpha\neq 0</math>. Define then <math>\lambda:=\tfrac\beta\alpha</math>. We show that <math>g=\lambda f</math>. Because of the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]], it is sufficient to prove this equality on the basis of <math>b_1,\ldots ,b_n</math>. We first consider <math>b_i</math> with <math>i\in\{1,\ldots ,n-1\}</math>. Since <math>b_i\in\ker(f)=\ker(g)</math>, we have that {{Math|<math>g(b_i)=0=\lambda \cdot 0=\lambda f(b_i).</math>}} For the basis vector <math>b_n</math>, we have {{Math|<math>g(b_n)=\beta=\frac\beta\alpha\cdot\alpha=\lambda\cdot\alpha=\lambda f(b_n).</math>}} So <math>g</math> and <math>\lambda f</math> agree when applied to any basis vector. Thus, <math>g=\lambda f</math>. }} }} {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel=Dual basis and hyperplanes |aufgabe=Let <math>V</math> be an <math>n</math>-dimensional <math>K</math>-vector space. |teilaufgabe1=Let <math>f\in V^*</math> with <math>f\neq0</math>. Show that <math>\dim\ker(f)=n-1</math> holds. |teilaufgabe2=Let <math>U</math> be an <math>n-1</math>-dimensional subspace of <math>V</math>. Show that there is an element <math>f\in V^*</math> with <math>\ker(f)=U</math>. |teilaufgabe3=Assuming that <math>K \ne \mathbb{F}_2</math>, is it true that the <math>f</math> from sub-exercise 2 is uniquely determined by the subspace <math>U</math>? |erklärung= An <math>n-1</math>-dimensional subspace of an <math>n</math>-dimensional vector space <math>V</math> is also called a ''hyperplane'' in <math>V</math>. For example, the hyperplanes in <math>\R^3</math> are exactly the planes through the origin. The first part of the exercise thus shows that the kernel of a non-zero element in dual space is a hyperplane in <math>V^*</math>. |teilaufgabe1-lösung= We can use the [[Math for Non-Geeks/Dimension formula for linear maps#Satz:Dimensionssatz|dimension formula]] to relate the dimension of the kernel to the dimension of <math>V</math>: {{Math|<math>\dim_K \ker(f) = \dim_K V - \dim_K \operatorname{im}(f) = n - \dim_K \operatorname{im}(f).</math>}} So we have shifted our problem to the calculation of <math>\dim_K \operatorname{im}(f)</math>. Now <math>\operatorname{im}(f) \subseteq K</math>, that is, <math>\dim_K\operatorname{im}(f) \le \dim_KK = 1</math>. This means that the dimension of <math>\operatorname{im}(f)</math> is either <math>0</math> or <math>1</math>. We know that <math>f \ne 0</math>, so there is a <math>v \in V</math> with <math>f(v) \ne 0</math>. This means that <math>\operatorname{in}(f) \ne 0</math> and the dimension of <math>\operatorname{in}(f)</math> cannot be <math>0</math>. Therefore, <math>\dim_K\operatorname{im}(f) = 1</math> and we get {{Math|<math>\dim_K \ker(f) = n - \dim_K \operatorname{im}(f) = n-1.</math>}} |teilaufgabe2-lösung= According to the [[Math for Non-Geeks/Linear continuation#Satz:Satz von der linearen Fortsetzung|principle of linear continuation]], a linear mapping is determined by what it does on a basis. To be able to use this principle, we first choose a basis <math>B_U = \{b_1, \dots, b_{n-1}\}</math> of <math>U</math>. The [[Math for Non-Geeks/Basis#Satz:Basisergänzungssatz|basis completion theorem]] then provides us with a vector <math>b_n\in V</math>, such that <math>B = \{b_1, \dots, b_n\}</math> is a basis of <math>V</math>. According to the principle of linear continuation, we can then define a candidate for the linear map <math>f\colon V \to K</math> by saying what happens on a basis of <math>V</math>. The vectors <math>b_1,\dots, b_{n-1}</math> are elements of <math>U</math>. Since <math>U</math> is to be the kernel of <math>f</math>, we must require <math>f(b_i) = 0</math> for <math>i = 1, \dots, n-1</math>. The last basis vector <math>b_n</math> is not in <math>U</math>. This means that <math>b_n</math> must not lie in the kernel of <math>f</math>. For example, that we can demand <math>f(b_n) = 1</math>. To summarize, we define <math>f\colon V \to K</math> as the linear map with {{Math|<math>f(b_i) = \begin{cases} 0, & i = 1, \dots, n-1\\ 1, & i = n. \end{cases}</math>}} Since <math>U</math> is generated by <math>b_1, \dots, b_{n-1}</math>, we have <math>U \subseteq \ker(f)</math>. We therefore only have to show that <math>\ker(f) \subseteq U</math>. For this, let <math>v \in \ker(f)</math>. Because <math>B</math> is a basis of <math>V</math>, we find <math>\lambda_1,\dots, \lambda_n</math> with <math>v = \lambda_1b_1 + \dots + \lambda_n b_n</math>. Now we know that {{Math|<math>\begin{align} 0 = f(v) &= f(\lambda_1b_1 + \dots + \lambda_nb_n)\\ &= \lambda_1\underset{=0}{\underbrace{f(b_1)}} + \dots + \lambda_{n-1}\underset{=0}{\underbrace{f(b_{n-1})}} + \lambda_n\underset{=1}{\underbrace{f(b_n)}}\\ &= \lambda_n \end{align}</math>}} Hence <math>\lambda_n = 0</math> and <math>v = \lambda_1b_1 + \lambda_{n-1}b_{n-1} \in U</math>. Therefore, we have <math>\ker(f) = U</math>. |teilaufgabe3-lösung= The mapping <math>f</math> is not unique: We know that <math>f \ne 0</math> because <math>U \ne V</math>. Therefore <math>v \in V</math> exists with <math>f(v) \ne 0</math>. Because <math>K \ne \mathbb{F}_2</math>, there is an element <math>\lambda \in K</math> with <math>\lambda \notin \{0,1\}</math>. Thus <math>\lambda f(v) \ne f(v)</math>. Now consider the linear map <math>g\colon V \to K; w \mapsto \lambda \cdot f(v)</math>. This map has the same kernel as <math>f</math> because <math>g(w) = 0</math> if <math>\lambda f(w) = 0</math>. This is the case if <math>f(w) = 0</math>, since <math>\lambda \ne 0</math>. Furthermore, <math>g \ne f</math>, because <math>f(v) \ne \lambda f(v) = g(v)</math>. The linear map from the second part is therefore not unique. }} In the last task, we required <math>K \ne \mathbb{F}_2</math> because we needed an element in the proof that is neither <math>0</math> nor <math>1</math>. The field <math>\mathbb{F}_2</math> only consists of the elements <math>0</math> and <math>1</math>. This means that if we want to construct a linear map <math>f\colon V \to K</math> that has an <math>n-1</math>-dimensional subspace <math>U</math> as its kernel, then we must define it as {{Math|<math>f(v) = \begin{cases} 0, & v \in U\\ 1, & v\not\in U \end{cases}</math>}} This map is linear and it is the only way to have a linear map with kernel <math>U</math>. Thus, for <math>K = \mathbb{F}_2</math> we arrive at a ''different'' result in the last sub-exercise: The map is then unique. {{:Math for Non-Geeks/Template:Aufgabe |titel=Basis of the kernel of <math>v_i^*</math> |aufgabe= Let <math>V</math> be a <math>K</math>-vector space, <math>B=\{v_1,\ldots, v_n\}\subseteq V</math> a basis and <math>B^*=\{v_1^*,\ldots,v_n^*\}\subseteq V^*</math> is the base dual to <math>B</math>. Show: For each <math>i\in\{1,\ldots,n\}</math> it holds true that {{Math|<math>\ker(v_i^*)=\operatorname{span}\{v_1,\ldots,v_{i-1},v_{i+1},\ldots,v_n\}.</math>}} In particular, <math>B\setminus\{v_i\}</math> is a basis of <math>\ker(v_i^*)</math>. |lösung= By definition of the dual basis, <math>v_i^*(v_j)=0</math> holds for all <math>j\neq i</math>. Therefore, <math>v_j\in\ker(v_i^*)</math> applies for all <math>j\neq i</math> and since the kernel is a subspace, we have {{Math|<math>\operatorname{span}\{v_1,\ldots,v_{i-1},v_{i+1},\ldots,v_n\}\subseteq\ker(v_i^*).</math>}} Since <math>v_i^*(v_i)=1</math> holds, <math>v_i^*</math> is not the zero mapping. With the previous exercise, we conclude <math>\dim\ker(v_i^*)=n-1</math>. Since the <math>v_1,\ldots,v_n</math> are linearly independent, we have <math>\dim \operatorname{span}\{v_1,\ldots,v_{i-1},v_{i+1},\ldots,v_n\}=n-1</math>, and since this span is contained in the kernel of <math>v_i^*</math>, the two subspaces are equal. }} {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel= |aufgabe=Consider the basis {{Math|<math>B=\{v_1,v_2,v_3\}=\left\{\begin{pmatrix}2\\1\\0\end{pmatrix}, \begin{pmatrix}0\\2\\1\end{pmatrix}, \begin{pmatrix}1\\2\\1\end{pmatrix}\right\}</math>}} of <math>\R^3</math>. |teilaufgabe1=For <math>B</math> determine the dual basis <math>B^*=\{v_1^*,v_2^*,v_3^*\}</math> with <math>v_i^*\colon \R^3\to\R</math> for <math>i=1,2,3</math>. |teilaufgabe2=Determine the kernel <math>\ker(v_i^*)</math> and draw it in <math>\R^3</math> for <math>i=1,2,3</math>. |teilaufgabe1-lösung= The [[Math for Non-Geeks/Matrix of a linear map|matrix of a linear map]] <math>f\colon\R^3\to\R</math> with respect to <math>\{e_1\}</math>. of the canonical bases <math>\{e_1,e_2,e_3\}</math> of <math>\R^3</math> and <math>\{1\}</math> of <math>\R</math> is the uniquely determined matrix <math>\begin{pmatrix}a&b&c\end{pmatrix}</math> with {{Math|<math>f(\begin{pmatrix}x\\y\\z\end{pmatrix})=\begin{pmatrix}a&b&c\end{pmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=ax+by+cz</math>}} for all <math>(x,y,z)^T\in\R^3</math>. We are looking for the formula of the linear maps <math>v_i^*\colon\R^3\to \R</math>, <math>i=1,2,3</math>. That means, we determine the three corresponding representative matrices <math>\begin{pmatrix}a_i, b_i, c_i\end{pmatrix}</math> with respect to the canonical bases. By definition of the dual basis, the following should hold {{Math|<math>\begin{pmatrix}a_1&b_1&c_1\end{pmatrix}\begin{pmatrix}2\\1\\0\end{pmatrix}=1,\quad\begin{pmatrix}a_1&b_1&c_1\end{pmatrix}\begin{pmatrix}0\\2\\1\end{pmatrix}=0,\quad\begin{pmatrix}a_1&b_1&c_1\end{pmatrix}\begin{pmatrix}1\\2\\1\end{pmatrix}=0</math>}} and the same for <math>i=2,3</math>. If we summarize these equations in matrix form, we get {{Math|<math>\begin{pmatrix}a_1&b_1&c_1&\\a_2&b_2&c_2\\a_3&b_3&c_3\end{pmatrix}\begin{pmatrix}2&0&1\\1&2&2\\0&1&1\end{pmatrix}=\begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix}</math>}} We must therefore determine an [[w:EN:Invertible_matrix|inverse of the matrix]] on the left-hand side of the equation, which has the basis vectors in <math>B</math> as columns. The inverse is {{Math|<math>\begin{pmatrix}2&0&1\\1&2&2\\0&1&1\end{pmatrix}^{-1}=\begin{pmatrix}0&1&-2\\-1&2&-3\\1&-2&4\end{pmatrix}=\begin{pmatrix}a_1&b_1&c_1&\\a_2&b_2&c_2\\a_3&b_3&c_3\end{pmatrix}.</math>}} The rows are the desired dual basis vectors. We therefore have {{Math|<math>\begin{align} v_1^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto \begin{pmatrix}0&1&-2\end{pmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=y-2z,\\ v_2^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto \begin{pmatrix}-1&2&-3\end{pmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=-x+2y-3z,\\ v_3^*&\colon\R^3\to\R^3,\quad \begin{pmatrix}x\\y\\z\end{pmatrix}\mapsto \begin{pmatrix}1&-2&4\end{pmatrix}\begin{pmatrix}x\\y\\z\end{pmatrix}=x-2y+4z. \end{align}</math>}} |teilaufgabe2-lösung= From the previous exercise we know that <math>\ker(v_1^*)=\operatorname{span}\{v_2,v_3\}</math>, <math>\ker(v_2^*)=\operatorname{span}\{v_1,v_3\}</math> and <math>\ker(v_3^*)=\operatorname{span}\{v_1,v_2\}</math>. Plotted in <math>\R^3</math>, we obtain a plane spanned by the two vectors in <math>\R^3</math>. Instead of using the previous exercise, we can also calculate the kernels of the matrices <math>v_i^*</math>: {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\ker(v_1^*)</math> |beweisschritt= The kernel of <math>v_1^*</math> contains all <math>(x,y,z)^T\in\R^3</math> with <math>v_1^*((x,y,z)^T)=y-2z=0</math>, i.e., with <math>y=2z</math>. So the following holds: {{Math|<math>\ker(v_1^*)=\left\{\begin{pmatrix}a\\2b\\b\end{pmatrix}\mid a,b\in\R\right\}=\operatorname{span}\left\{\begin{pmatrix}1\\0\\0\end{pmatrix},\begin{pmatrix}0\\2\\1\end{pmatrix}\right\}.</math>}} Note that <math>(1,0,0)^T=v_3-v_2</math>, so the result for the kernel is the same as in the previous exercise. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\ker(v_2^*)</math> |beweisschritt= The kernel of <math>v_2^*</math> contains all <math>(x,y,z)^T\in\R^3</math> with <math>v_2^*((x,y,z)^T)=-x+2y-3z=0</math>, i.e., with <math>x=2y-3z</math>. So the following holds: {{Math|<math>\ker(v_2^*)=\left\{\begin{pmatrix}2a-3b\\a\\b\end{pmatrix}\mid a,b\in\R\right\}=\operatorname{span}\left\{\begin{pmatrix}2\\1\\0\end{pmatrix},\begin{pmatrix}-3\\0\\1\end{pmatrix}\right\}.</math>}} Here, also <math>(-3,0,1)^T=v_3-2v_1</math>, so the result is the same as in the previous exercise. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>\ker(v_3^*)</math> |beweisschritt= The kernel of <math>v_3^*</math> contains all <math>(x,y,z)^T\in\R^3</math> with <math>v_3^*((x,y,z)^T)=x-2y+4z=0</math>, i.e. with <math>x=2y-4z</math>. So the following holds: {{Math|<math>\ker(v_2^*)=\left\{\begin{pmatrix}2a-4b\\a\\b\end{pmatrix}\mid a,b\in\R\right\}=\operatorname{span}\left\{\begin{pmatrix}2\\1\\0\end{pmatrix},\begin{pmatrix}-4\\0\\1\end{pmatrix}\right\}.</math>}} Because <math>(-4,0,1)^T=v_2-2v_1</math>, this agrees with the result determined in the previously exercise. }} }} {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel=Dual map |aufgabe= Let <math>f\colon V\to W</math> be a linear map. We define the map {{Math|<math>f^*\colon W^*\to V^*, \quad g\mapsto f^*(g):=g\circ f.</math>}} |teilaufgabe1=Show that <math>f^*</math> is linear. |teilaufgabe2=Show: <math>(\operatorname{id}_V)^*=\operatorname{id}_{V^*}</math> and <math>(g\circ f)^*=f^*\circ g^*</math> for linear maps <math>f\colon V\to W</math> and <math>g\colon W\to X</math>. |teilaufgabe3=Show: If <math>f</math> is surjective, then <math>f^*</math> is injective. |teilaufgabe4=Show: If <math>f</math> is injective, then <math>f^*</math> is surjective. |teilaufgabe5=Show: If <math>f</math> is bijective, then <math>f^*</math> is bijective and the inverse is given by <math>(f^*)^{-1}=(f^{-1})^*</math>. |erklärung= <math>f^*</math> is called the ''dual mapping'' with respect to <math>f</math>. By definition, the dual map therefore receives linear mappings from <math>W</math> to <math>K</math> as input and turns them into linear mappings from <math>V</math> to <math>K</math>. This is achieved by composition with <math>f</math>. A mapping <math>W\overset{g}{\to}K</math> therefore becomes <math>V\overset{f}{\to}W\overset{g}{\to}K</math>. In words, <math>f^*</math> can be described as "execute <math>f</math> first". |teilaufgabe1-lösung= For more clarity in the proof, we write <math>\boxplus_{V}</math> or <math>\boxplus_{W}</math> for the addition of linear maps in <math>V^*</math> or <math>W^*</math> and <math>+</math> for the addition in the vector space <math>K</math>. We also write <math>\boxdot_{V}</math> or <math>\boxdot_{W}</math> for the scalar multiplication in <math>V^*</math> or <math>W^*</math> and <math>\cdot</math> for the scalar multiplication in <math>K</math>. Let <math>g,h\in W^*</math> and <math>\lambda\in K</math>. We have to show that {{Math|<math>f^*(g\boxplus_W h)=f^*(g)\boxplus_V f^*(h)\quad\text{ and }\quad f^*(\lambda \boxdot_{W}g)=\lambda\boxdot_{V} f^*(g)</math>}} We must therefore prove the equality of elements in <math>V^*</math>, i.e., of maps <math>V\to K</math>. To do this, we show {{Math|<math>f^*(g\boxplus_W h)(v)=(f^*(g)\boxplus_V f^*(h))(v)</math> and <math>f^*(\lambda \boxdot_{W}g)(v)=(\lambda \boxdot_{V} f^*(g))(v)</math>}} for all <math>v\in V</math>. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f^*(g\boxplus_W h)=f^*(g)\boxplus_V f^*(h)</math> |beweisschritt= Let <math>v\in V</math>. Then {{Math|<math>\begin{align} f^*(g\boxplus_W h)(v) &= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f^*\right.} \\[0.3em] &= ((g\boxplus_W h)\circ f)(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\circ\right.} \\[0.3em] &= (g\boxplus_W h)(f(v)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \boxplus_W \right.} \\[0.3em] &= g(f(v)) + h(f(v)) \\[0,3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\circ\right.} \\[0.3em] &= (g\circ f)(v) + (h\circ f)(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f^*\right.} \\[0.3em] &= f^*(g)(v) + f^*(h)(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\boxplus_V\right.} \\[0.3em] &= (f^*(g)(v) \boxplus_V f^*(h))(v). \\[0.3em] \end{align}</math>}} Because <math>v\in V</math> was arbitrary, this shows the equality of the maps <math>f^*(g\boxplus_W h)</math> and <math>f^*(g)\boxplus_V f^*(h)</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>f^*(\lambda \boxdot_{W}g)=\lambda\boxdot_{V} f^*(g)</math> |beweisschritt= Let <math>v\in V</math>. Then {{Math|<math>\begin{align} f^*(\lambda \boxdot_W g)(v) &= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f^*\right.} \\[0.3em] &= ((\lambda \boxdot_W g)\circ f)(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\circ\right.} \\[0.3em] &= (\lambda \boxdot_W g)(f(v)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of } \boxdot_W\right.} \\[0.3em] &= \lambda\cdot g(f(v)) \\[0,3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\circ\right.} \\[0.3em] &= \lambda\cdot (g\circ f)(v) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f^*\right.} \\[0.3em] &= \lambda\cdot (f^*(g))(v)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\boxdot_V\right.} \\[0.3em] &= (\lambda\boxdot_V f^*(g))(v). \\[0.3em] \end{align}</math>}} Because <math>v\in V</math> was arbitrary, this shows the equality of the maps <math>f^*(\lambda\boxdot_W g)</math> and <math>\lambda \boxdot_V f^*(g)</math>. }} |teilaufgabe2-lösung= We show <math>(\operatorname{id}_V)^*(g)=g</math> for all <math>g\in V^*</math>. It then follows that <math>(\operatorname{id}_V)^*</math> is the identity on <math>V^*</math>. Let <math>g\in V^*</math>. By definition of the dual map, we have {{Math|<math>(\operatorname{id}_V)^*(g)=g\circ \operatorname{id}_V=g.</math>}} Since <math>g\in V^*</math> was arbitrary, the statement is shown. Now let <math>f\colon V\to W</math> and <math>g\colon W\to X</math>. Then <math>g\circ f\colon V\to X</math> applies, i.e. <math>(g\circ f)^*\colon X^*\to V^*</math>. Furthermore, <math>f^*\colon W^*\to V^*</math> and <math>g^*\colon X^*\to W^*</math> and therefore <math>f^*\circ g^*\colon X^*\to V^*</math>. To show the equality of the maps <math>(g\circ f)^*=f^*\circ g^*</math>, we show that <math>(g\circ f)^*(k)=(f^*\circ g^*)(k)</math> holds for all <math>k\in X^*</math>. So if <math>k\in X^*</math>, then we get {{Math|<math>\begin{align} (g\circ f)^*(k) &= \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }(g\circ f)^*\right.} \\[0.3em] &= k\circ (g\circ f) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{associativity of }\circ\right.} \\[0.3em] &= (k\circ g)\circ f \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }g^*\right.} \\[0.3em] &={\color{OliveGreen}\underbrace{\color{black}g^*(k)}_{\in W^*}\color{black}\circ f }\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f^*\right.} \\[0.3em] &=f^*(g^*(k)) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }\circ\right.} \\[0.3em] &= (f^*\circ g^*)(k). \end{align}</math>}} Because <math>k\in X^*</math> was arbitrary, the statement is shown. |teilaufgabe3-lösung= Let <math>f\colon V\to W</math> be surjective. We want to show that <math>f^*\colon W^*\to V^*</math> is injective. Due to the linearity of <math>f^*</math>, it is sufficient to show that <math>\ker(f^*)=\{0_{W^*}\}</math>. Let <math>g\in W^*</math> with <math>f^*(g)=0_{V^*}</math>. This means that <math>g</math> maps from <math>W</math> to <math>K</math> and <math>f^*(g)=g\circ f</math> is the zero mapping from <math>V</math> to <math>K</math>. We want to conclude that <math>g</math> is the zero mapping in <math>W^*</math>, i.e. that <math>g(w)=0_K</math> for all <math>w\in W</math>. For this, let <math>w\in W</math> be arbitrary. Because <math>f</math> is surjective, there exists an <math>v\in V</math> with <math>f(v)=w</math>. It follows that {{Math|<math>g(w)=g(f(v))=(g\circ f)(v)=f^*(g)(v)=0_{V^*}(v)=0_K.</math>}} Because <math>w\in W</math> was arbitrary, we conclude <math>g=0_{W^*}</math>. |teilaufgabe4-lösung= Let <math>f\colon V\to W</math> be injective. We want to show that <math>f^*\colon W^*\to V^*</math> is surjective. So let <math>g\in V^*</math> be arbitrary. This means that <math>g</math> is a linear map from <math>V</math> to <math>K</math>. We want to define a map <math>h\in W^*</math> from <math>W</math> to <math>K</math> such that <math>f^*(h)=h\circ f=g</math>. Because <math>f</math> is injective, the restriction of <math>f</math> to the image <math>f(V)</math> of <math>f</math> is an isomorphism. We denote this restriction by <math>\tilde f\colon V\to f(V)</math>. Then <math>\tilde{f}^{-1}\colon f(V)\to V</math> and the following holds {{Math|<math>\tilde{f}^{-1}\circ f=\tilde{f}^{-1}\circ \tilde{f}=\operatorname{id}_V.</math>}} Because <math>g</math> is defined on <math>V</math>, we can define and obtain <math>h:=g\circ\tilde{f}^{-1}</math>: {{Math|<math>f^*(h)=h\circ f=(g\circ \tilde{f}^{-1})\circ f=g\circ (\tilde{f}^{-1}\circ f)=g\circ \operatorname{id}_V=g.</math>}} Because <math>g\in V^*</math> was arbitrary, the surjectivity of <math>f^*</math> is shown. |teilaufgabe5-lösung= If <math>f\colon V\to W</math> is bijective, then it follows from the previous two sub-exercises that <math>f^*</math> is also bijective. We calculate that <math>(f^{-1})^*</math> is the inverse of <math>f</math>: From sub-exercise 2 we get {{Math|<math>f^*\circ (f^{-1})^*=(f^{-1}\circ f)^*=\left(\operatorname{id}_V\right)^*=\operatorname{id}_{V^*}.</math>}} Analogously, one can show <math>(f^{-1})^*\circ f^*=\operatorname{id}_{W^*}</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} fxj90iv6tgr4ylx47fds9o54n3zqitf Math for Non-Geeks/Exercises Linear Maps 0 473510 4635305 4630501 2026-05-11T17:19:01Z Sascha Lill 95 3167325 adjust equation format 4635305 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} We have compiled some tasks on linear maps here. The proof structures can help you to solve other similar tasks. As a reminder, here is the definition of a linear map: {{:Math for Non-Geeks/Template:Definition |titel=Linear map |definition= Let <math> f \colon {V} \to {W} </math> be a mapping between the two vector spaces <math>{V}</math> and <math>{W}</math>. We call <math> f </math> a ''linear map'' from <math> {V} </math> to <math> {W} </math> if the following two properties are satisfied: {{#invoke:list|ordered |''' Additivity: ''' For all <math>v_1, v_2 \in V</math> we have {{Math|<math>f\left(v_1 + v_2\right)=f(v_1) + f(v_2)</math>}} |''' Homogeneity: ''' For all <math>v \in V</math> and <math>\lambda \in K</math> we have {{Math|<math>f(\lambda \cdot v) = \lambda \cdot f(v)</math>}} }} }} ==Proving linearity of a mapping== === Linear maps from <math>\R^n</math> to <math>\R^m</math> === {{:Math for Non-Geeks/Template:Aufgabe |titel=Linear map into a field |aufgabe= Let <math>f\colon \R^3\to\R</math> be defined by <math>f((x,y,z)^T) := 5x+y-3z</math>. Show that the map <math>f</math> is linear. |lösungsweg=First you have to show the additivity and then homogeneity of the map. |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Additivity |beweisschritt= For this step, let <math>v=\begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix}\in\R^3</math> and <math>w=\begin{pmatrix} w_1 \\ w_2 \\ w_3 \end{pmatrix}\in\R^3</math>. {{Math|<math>\begin{align} f(v+w)&=\\[0.3em] & =\ f\left(\begin{pmatrix}v_1 \\ v_2 \\ v_3\end{pmatrix} +\begin{pmatrix}w_1 \\ w_2 \\ w_3\end{pmatrix}\right)= f\begin{pmatrix}v_1+w_1 \\ v_2+w_2 \\ v_3+w_3 \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] &=\ 5(v_1+w_1)+(v_2+w_2)-3(v_3+w_3)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributivity in }\R \right.} \\[0.3em] &=\ 5v_1+5w_1+v_2+w_2-3v_3-3w_3\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutativity and associativity in }\R \right.} \\[0.3em] &=\ (5v_1+v_2-3v_3)+(5w_1+w_2-3w_3)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] &=\ f\begin{pmatrix}v_1 \\ v_2 \\ v_3\end{pmatrix}+ f\begin{pmatrix}w_1 \\ w_2 \\ w_3\end{pmatrix} = f(v)+f(w) \end{align}</math>}} Thus <math>f</math> is additive.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Homogeneity |beweisschritt= Let <math>v=\begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix}\in\R^3</math> and <math>\lambda\in\R</math>. {{Math|<math>\begin{align} f(\lambda\cdot v) &= f\left(\lambda\cdot \begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix}\right)=f\begin{pmatrix} \lambda v_1 \\ \lambda v_2 \\ \lambda v_3 \end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] &=\ 5(\lambda v_1)+(\lambda v_2)-3(\lambda v_3)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{associativity of the multiplication in }\R \right.} \\[0.3em] &=\ \lambda\cdot (5v_1)+\lambda\cdot (v_2)-\lambda\cdot (3v_3)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{distributivity in }\R \right.} \\[0.3em] &=\ \lambda\cdot (5v_1+v_2-3v_3)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }f \right.} \\[0.3em] &=\ \lambda\cdot f\begin{pmatrix} v_1 \\ v_2 \\ v_3 \end{pmatrix}= \lambda \cdot f(v) \end{align} </math>}} Thus <math>f</math> is homogeneous and <math>f</math> is linear.}} }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Linear map from <math>\R^3</math> to <math>\R^2</math> |anker=Lineare_Abbildung_von_3D_nach_2D |aufgabe= Show that the map <math>L\colon \R^3 \to \R^2</math> with <math>L\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}:=\begin{pmatrix}v_2-v_3\\3v_1+5v_3\end{pmatrix}</math> is linear. |lösungsweg= You have to show that for <math> v = (v_1,v_2,v_3)^T</math> and <math> w = (w_1,w_2,w_3)^T </math> it holds true that {{Math|<math>L\left(\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}+\begin{pmatrix}w_1\\w_2\\w_3\end{pmatrix}\right)=L\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}+L\begin{pmatrix}w_1\\w_2\\w_3\end{pmatrix}</math>}} And you have to show that for <math>\rho \in \R</math>, it holds true that {{Math|<math>L\left(\rho \cdot \begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}\right)=\rho \cdot L\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}</math>}} |lösung= {{:Math for Non-Geeks/Template:Beweisschritt |name=Aktuelles Ziel |ziel=Additivity |beweisschritt= {{Math|<math>\begin{align} L\left(\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}+\begin{pmatrix}w_1\\w_2\\w_3\end{pmatrix}\right)&= L\begin{pmatrix}v_1 + w_1\\v_2+w_2\\v_3+w_3\end{pmatrix} \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L \right.} \\[0.3em] &= \ \begin{pmatrix}(v_2+w_2) - (v_3+w_3)\\3(v_1+w_1) + 5(v_3 +w_3)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutative, associative, distributive in }\R \right.} \\[0.3em] &= \ \begin{pmatrix}(v_2-v_3) + (w_2-w_3)\\(3v_1-5v_3) + (3w_1 - 5w_3)\end{pmatrix}\\[0.3em] &= \ \begin{pmatrix}(v_2-v_3)\\(3v_1-5v_3)\end{pmatrix} + \begin{pmatrix}(w_2-w_3)\\(3w_1 - 5w_3)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L \right.} \\[0.3em] &= \ L\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} + L\begin{pmatrix}w_1\\w_2\\w_3\end{pmatrix} \end{align}</math> }} }} {{:Math for Non-Geeks/Template:Beweisschritt |name=Aktuelles Ziel |ziel=Scaling |beweisschritt= {{Math|<math>\begin{align} L\left(\rho \cdot \begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}\right)&= L\begin{pmatrix}\rho v_1 \\ \rho v_2\\ \rho v_3\end{pmatrix} \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L \right.} \\[0.3em] &= \ \begin{pmatrix}\rho v_2 - \rho v_3\\3(\rho v_1) + 5(\rho v_3)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{commutative, associative, distributive in }\R \right.} \\[0.3em] &= \ \begin{pmatrix}\rho (v_2-v_3)\\(\rho (3v_1+5v_3)\end{pmatrix}\\[0.3em] &= \ \rho \cdot \begin{pmatrix}(v_2-v_3)\\(3v_1+5v_3)\end{pmatrix}\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of }L \right.} \\[0.3em] &= \ \rho \cdot L\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix} \end{align}</math> }} }} }} {{:Math for Non-Geeks/Template:Aufgabe |titel=Linearity of the embedding |aufgabe=Show that for <math>m\geq n</math>, the map <math>f \colon \R^n \to \R^m: \quad (x_1,x_2,\ldots,x_n)^T\mapsto (x_1,x_2,\ldots,x_n,\underbrace{0,\ldots,0}_{(m-n) \text{ times}})^T</math> is linear. |lösung=Let <math>v = (v_1, \ldots, v_n)^T \in \mathbb{R}^n</math> and <math>w = (w_1, \ldots, w_n)^T \in \mathbb{R}^n</math>, as well as <math>\lambda, \mu \in \mathbb{R}</math>. By definition of the map <math>f</math>, we have that <math>f(\lambda v + \mu w) = f\left( \begin{pmatrix} \lambda v_1 + \mu w_1 \\ \vdots \\ \lambda v_n + \mu w_n \end{pmatrix} \right) = \begin{pmatrix} \lambda v_1 + \mu w_1 \\ \vdots \\ \lambda v_n + \mu w_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} = \lambda \cdot \begin{pmatrix} v_1 \\ \vdots \\ v_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} + \mu \cdot \begin{pmatrix} w_1 \\ \vdots \\ w_n \\ 0 \\ \vdots \\ 0 \end{pmatrix} = \lambda f(v) + \mu f(w). </math> So <math>f</math> is linear.}} {{#lst:Math for Non-Geeks/Proofs for linear maps|aufgabe_linearität_R^2}} === Important special cases === {{#lst:Math for Non-Geeks/Linear map|aufgabe_identität_linear}} {{#lst:Math for Non-Geeks/Linear map|aufgabe_nullabbildung_linear}} === Linear maps between function spaces === {{:Math for Non-Geeks/Template:Aufgabe |titel=Mapping on a function space |aufgabe=Consider the [[Math_for_Non-Geeks/Function_spaces|function space]] <math>\operatorname{Fun}([0,1],\R)</math> of all functions from <math>\R</math> to <math>\R</math>, as well as the map {{Math|<math>\begin{align} \phi \colon \operatorname{Fun}([0,1],\R) &\to \R, \\ f &\mapsto f(0). \end{align}</math>}} Show that <math> \phi </math> is linear. |lösung=The operations on the function space are defined element-wise in each case. That means: for <math>f,g \in \operatorname{Fun}([0,1],\R)</math>, <math>\lambda \in \R </math> and <math>x \in [0,1]</math> we have that <math>(f+g)(x)=f(x)+g(x)</math> and <math>(\lambda f)(x)= \lambda f(x)</math>. In particular, this is true for <math>x=0</math>, which implies {{Math|<math>\begin{align} \phi(f+g)=(f+g)(0)=f(0)+g(0)= \phi(f)+\phi(g) \end{align}</math>}} and {{Math|<math>\begin{align} \phi(\lambda f)=(\lambda f)(0)=\lambda f(0)=\lambda \phi(f) \end{align}</math>}} Thus, we have established linearity. }} {{#lst:Math for Non-Geeks/Proofs for linear maps|präkomposition_linear}} {{#lst:Math for Non-Geeks/Proofs for linear maps|folgenraum_abbildung_linear}} ==Construction of a linear map from given values== {{:Math for Non-Geeks/Template:Aufgabe |titel=Construction of a linear map |aufgabe= Let <math>a_1=( 1,0,0)^T, a_2=(0,1,0)^T, a_3=(1,1,0)^T, a_4=(0,0,1)^T \in \R^3</math>. Further, consider <math>b_1=(1,5)^T, b_2=(5,3)^T, b_3=(6,8)^T, b_4=(0,1)^T \in \R^2</math>. Find a linear map <math>f\colon \R^3\to\R^2</math> with <math>f(a_i)=b_i</math> for all <math>i\in\{1,2,3,4\}</math>. |lösungsweg= Hint: Use the [[Math for Non-Geeks/Linear continuation|principle of linear continuation]]. |lösung= We see that <math>(a_1, a_2, a_4)</math> is a basis of <math>\R^3</math>, namely the standard basis. According to the theorem of linear continuation, we can construct a linear map {{Math|<math>f\colon \R^3\to \R^2</math> defined by <math>f(a_1):=b_1, f(a_2):=b_2, f(a_4):=b_4</math>}} Now we only have to check if <math>f(a_3)=b_3</math> is satisfied. It is true that <math>a_3=a_1 + a_2</math>, so {{Math|<math>f(a_3)=f(a_1+a_2) = f(a_1)+f(a_2) = b_1 + b_2 = (1,5)^T + (5, 3)^T = (6,8)^T = b_3</math>}} Thus, the condition <math>f(a_i)=b_i</math> is satisfied for each <math>i\in\{1, 2, 3, 4\}</math>. The mapping <math>f</math> is linear by definition, so we are done. }} {{#lst:Math for Non-Geeks/Linear continuation|konstruktion_lin_Abb}} == Linear independence of two preimages == {{:Math for Non-Geeks/Template:Aufgabe |aufgabe= Let <math>L\colon V\to W</math> be a linear map and let <math>v_1</math> and <math>v_2</math> be two distinct vectors from <math>V</math>, both mapped to a vector <math>w\in W</math> with <math>w\neq 0_W</math>. Prove that <math>v_1</math> and <math>v_2</math> are linearly independent. |lösungsweg= We show that the two vectors cannot be linearly dependent. So assume that <math>v_1,v_2</math> were linearly dependent. Then there would be a <math>\rho \in K</math> such that <math>v_1 = \rho \cdot v_2</math>. We now map these two dependent vectors into the vector space <math> W</math> using the linear map <math>L</math>. This yields {{Math|<math>w=\rho \cdot w</math>}} Since by premise, <math>w \neq 0</math>, this is a contradiction and our assumption of linear dependence must be false. |lösung= Assume that <math>v_1</math> and <math>v_2</math> were linearly dependent. Then there would be a <math>\rho \in K</math> with <math>v_1=\rho \cdot v_2</math> and <math>\rho \neq 1</math>. Since the map <math>L</math> is linear, it follows that {{Math|<math>w=L(v_2)=L(v_1)=L(\rho \cdot v_2)=\rho \cdot L(v_2)=\rho \cdot w</math>}} Thus {{Math|<math>w=\rho \cdot w \Rightarrow w - \rho \cdot w = (1_K - \rho) \cdot w = 0_W \Rightarrow 1_K - \rho = 0_K \,\lor\, w = 0_W</math>}} Since by assumption <math>w \neq 0_W</math>, we must have <math>1_K - \rho = 0_K</math>. But this contradicts our assumption <math>\rho \neq 1_K</math>. Thus, we get a contradiction to our assumption of linear dependence. So the vectors <math> v_1, v_2 \in V</math> are linearly independent. }} == Exercises: Isomorphisms == {{#lst:Math for Non-Geeks/Isomorphisms|aufgaben_isomorphismus}} == Exercises: Images == {{#lst:Math for Non-Geeks/Image of a linear map|zuordnung_abbildung_bild}} {{#lst:Math for Non-Geeks/Image of a linear map|bild_einer_matrix}} {{#lst:Math for Non-Geeks/Image of a linear map|surjektivität_dimension}} == Exercises: Kernel == {{#lst:Math for Non-Geeks/Kernel of a linear map|aufgabe_kern_bestimmen}} {{#lst:Math for Non-Geeks/Kernel of a linear map|kern_nilpotenter_endo}} {{#lst:Math for Non-Geeks/Kernel of a linear map|injektivität_und_dimension}} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} lt88170tbx5101gb6hqzm0fxiyc2lij Math for Non-Geeks/Introduction: Matrices 0 473511 4635307 4630502 2026-05-11T17:21:23Z Sascha Lill 95 3167325 adjust equation format 4635307 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} In this article, we introduce matrices as an efficient representation of linear maps. A matrix (of a linear map <math>f:K^n\to K^m</math>) is a rectangular arrangement of elements from <math>K</math> ("numbers") that specifies where the standard basis of <math>K^n</math> is mapped by <math>f</math>. == Derivation {{Anchor|Herleitung}} == Let <math> K </math> be a field and <math> f: K^n \to K^m </math> a linear map. We want to describe this map in the most efficient way. Since we know from the article [[Math for Non-Geeks/Vector space of a linear map#Anchor:Dimension|"vector space of a linear map"]] that the space of linear maps from <math> K^n </math> to <math> K^m </math> has dimension <math> n \cdot m </math>, and that <math> f </math> is an element of this space. So we need <math> n \cdot m </math> numbers to describe our linear map. We are looking for a way to write down these numbers in an organized way. Let <math> \{e_1, \dots, e_n\} </math> be the standard basis of <math>K^n</math>. Then, following the [[Math for Non-Geeks/Linear continuation#Anchor:linear continuation|principle of linear continuation]], <math> f</math> is already completely determined by the vectors <math> f(e_1), \dots, f(e_n)\in K^m</math> : If <math> x \in K^n </math> is an arbitrary vector, we can write it as a linear combination <math> x = x_1e_1 + \dots + x_ne_n </math> of the basis elements, and because of linearity we know the value <math> f(x) = x_1f(e_1) + \dots + x_nf(e_n) </math>. So we need the "data" <math>f(e_1), \dots, f(e_n)</math> to describe the linear map. These data are <math>n</math> vectors in <math>K^m</math>. So we can write them as {{Math|<math>f(e_1) = \begin{pmatrix}a_{11}\\\vdots\\a_{m1}\end{pmatrix}, \dots, f(e_n) = \begin{pmatrix}a_{1n}\\\vdots\\a_{mn}\end{pmatrix}</math>}} for certain "numbers" <math> a_{ij} \in K</math>. This is a notation for tracking all necessary data of the linear map. But we can still make it more efficient: We just omit the "<math>f(e_i) =</math>" and agree on the convention that the <math>i</math>-th column describes the image of the <math>i</math>-th basis vector: {{Math|<math>\begin{pmatrix}a_{11}\\\vdots\\a_{m1}\end{pmatrix}, \dots, \begin{pmatrix}a_{1n}\\\vdots\\a_{mn}\end{pmatrix}</math>}} To save even more space, we can also combine the entries of these vectors into a single "table", still with the image of the <math>i</math>-th basis vector being in the <math>i</math>-th column: {{Math|<math>\begin{pmatrix} a_{11} & \dots & a_{1n}\\ \vdots & & \vdots\\ a_{m1} & \dots & a_{mn}\\ \end{pmatrix}</math>}} We call this "table in parentheses" a '''matrix'''. It is the matrix associated with the linear map <math> f </math>. The matrix completely determines <math> f </math> and it consists of <math> n \cdot m </math> numbers as entries, which is consistent with our considerations above. == Definiton == {{:Math for Non-Geeks/Template:Definition |titel=Matrix |definition= Let <math>K</math> be a field and <math>n, m \in \N</math>. Let <math>a_{ij} \in K</math> for all <math>1\le i \le m</math> and <math>1 \le j \le n</math>. Then we call {{Math|<math>A := \begin{pmatrix} a_{11} & \dots & a_{1n}\\ \vdots & & \vdots\\ a_{m1} & \dots & a_{mn}\\ \end{pmatrix} = (a_{ij})_{1\le i \le m, 1 \le j\le n}</math>}} an <math>m\times n</math>-matrix. We denote the set of all <math>m\times n</math> matrices by <math>K^{m\times n}</math>. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Linear map from <math>\R^3</math> to <math>\R^2</math> |beispiel= We consider the linear map {{Math|<math>f:\R^3\to\R^2;f\begin{pmatrix}v_1\\v_2\\v_3\end{pmatrix}:=\begin{pmatrix}v_2-v_3\\3v_1+5v_3\end{pmatrix}.</math>}} We can see that <math>f</math> is indeed linear in an [[Math for Non-Geeks/Exercises Linear Maps#Aufgabe:Lineare_Abbildung_von_3D_nach_2D|exercise]]. In the derivation we have seen that we can describe <math> f </math> by a matrix. We want to compute this matrix here explicitly. To do so, we need to determine the images of the standard basis vectors {{Math|<math> e_1=\begin{pmatrix}1\\0\\0\end{pmatrix}, e_2=\begin{pmatrix}0\\1\\0\end{pmatrix}, e_3=\begin{pmatrix}0\\0\\1\end{pmatrix}</math>}} For these, {{Math|<math>\begin{align} &f( e_1) = f\begin{pmatrix}1\\0\\0\end{pmatrix} = \begin{pmatrix}0\\3\end{pmatrix}\\[0.3em] &\,f( e_2) = f\begin{pmatrix}0\\1\\0\end{pmatrix} = \begin{pmatrix}1\\0\end{pmatrix}\\[0.3em] &\,f( e_3) = f\begin{pmatrix}0\\0\\1\end{pmatrix} = \begin{pmatrix}-1\\5\end{pmatrix}\end{align}</math>}} Thus, the three vectors {{Math|<math> \begin{pmatrix}0\\3\end{pmatrix}, \begin{pmatrix}1\\0\end{pmatrix}, \begin{pmatrix}-1\\5\end{pmatrix}</math>}} contain all the information of the linear map <math>f</math>. If we write these side by side in a table, we get the matrix {{Math|<math> \begin{pmatrix}0&1&-1\\3&0&5\end{pmatrix}</math>}} which represents <math> f </math>. }} {{:Math for Non-Geeks/Template:Beispiel |titel=Embedding <math>\R^2\to\R^3</math> |beispiel= Let us now consider the standard embedding of <math> \R^2 </math> into <math>\R^3</math>, that is, the linear map {{Math|<math> \iota: \R^2 \to \R^3; \, \iota \begin{pmatrix} x\\ y \end{pmatrix} := \begin{pmatrix} x\\ y\\ 0 \end{pmatrix}. </math>}} For the vectors of the standard basis, we have {{Math|<math> \iota \begin{pmatrix} 1\\ 0 \end{pmatrix} := \begin{pmatrix} 1\\ 0\\ 0 \end{pmatrix}, \ \iota \begin{pmatrix} 0\\ 1 \end{pmatrix} := \begin{pmatrix} 0\\ 1\\ 0 \end{pmatrix}. </math>}} So the embedding <math> \iota </math> is represented by the matrix {{Math|<math> \begin{pmatrix} 1 & 0\\ 0 & 1\\ 0 & 0 \end{pmatrix}. </math>}} }} {{:Math for Non-Geeks/Template:Beispiel |titel=Reflection of <math>\R^2</math> along an axis |beispiel= Let's still examine the reflection of <math> \R^2 </math> along the x-axis. When we mirror a vector <math> \begin{pmatrix} x\\y \end{pmatrix} </math> along the x-axis, we keep its x-component fixed and change the sign of its y-component. The reflection is thus given by {{Math|<math> s: \R^2 \to \R^2; \, s \begin{pmatrix} x\\ y \end{pmatrix} := \begin{pmatrix} x\\ -y \end{pmatrix}</math>}} The first basis vector lies on the x-axis and is therefore not affected by the reflection. Formally: {{Math|<math> s\begin{pmatrix} 1\\0 \end{pmatrix} = \begin{pmatrix} 1\\0 \end{pmatrix}. </math>}} The second basis vector is perpendicular to the x-axis and is therefore mapped to its negative. Formally: {{Math|<math> s\begin{pmatrix} 0\\1 \end{pmatrix} = \begin{pmatrix} 0\\-1 \end{pmatrix}. </math>}} As the matrix associated with this reflection, we thus obtain: {{Math|<math> \begin{pmatrix} 1 & 0\\ 0 & -1\end{pmatrix}. </math>}} }} == Matrix-Vector Multiplication {{Anchor|Matrix-Vektor-Multiplikation}} == === Derivation === We have just seen how we can represent a linear map by a matrix. Suppose, we now do not have a linear map, but only its associated matrix. What does the image of an arbitrary vector under this linear map look like? First, for simplicity, let's consider the vector space <math> \R^2 </math> and any linear map <math>f:\R^2\rightarrow \R^2</math> be a linear map, of which we know that the associated matrix is {{Math|<math>A = \begin{pmatrix} a & b \\ c & d \end{pmatrix}\in \R^{2\times 2}</math>}} That means, we have {{Math|<math>f\begin{pmatrix}1\\0\end{pmatrix} = \begin{pmatrix}a\\c\end{pmatrix}</math> and <math>f\begin{pmatrix}0\\1\end{pmatrix} = \begin{pmatrix}b\\d\end{pmatrix}.</math>}} We want to calculate the image of an arbitrary vector <math>(x, y)^T\in\R^2</math> under the map <math>f</math>, using the entries of the matrix <math>A</math>. To do so, we represent our vector as a linear combination of the standard basis vectors, i.e. {{Math|<math>\begin{pmatrix}x\\ y \end{pmatrix} = x\begin{pmatrix}1\\ 0 \end{pmatrix} + y\begin{pmatrix}0\\ 1 \end{pmatrix}.</math>}} Now we can exploit the linearity of <math> f </math> and calculate: {{Math|<math>\begin{align} f\begin{pmatrix}x\\y\end{pmatrix} =& f\left( x\begin{pmatrix}1\\0\end{pmatrix} + y \begin{pmatrix}0\\1\end{pmatrix} \right)\\ =& x \cdot f\begin{pmatrix}1\\0\end{pmatrix} + y \cdot f\begin{pmatrix}0\\1\end{pmatrix}\\ =& x \begin{pmatrix}a\\c\end{pmatrix} + y \begin{pmatrix}b\\d\end{pmatrix}\\ =& \begin{pmatrix}xa\\xc\end{pmatrix} + \begin{pmatrix}yb\\yd\end{pmatrix}\\ =& \begin{pmatrix}ax + by \\cx + dy\end{pmatrix}\end{align}</math>}} By this calculation, we can describe the effect of applying a linear map <math>f</math> to a vector, only by using the matrix <math>A</math>. This calculation works for any vector and any <math>2\times 2</math>-matrix. To simplify the notation, let us define a "multiplication operation" for matrices and vectors: {{Math|<math>\begin{pmatrix}a&b\\c&d\end{pmatrix}\begin{pmatrix}x\\y\end{pmatrix} := \begin{pmatrix}ax + by \\cx + dy\end{pmatrix}</math>}} We call this the "matrix-vector multiplication" and formally write it as a product. The generalization from a <math>2\times 2</math> to an <math>n\times n</math>-matrix is given in the following exercise: {{:Math for Non-Geeks/Template:Aufgabe |aufgabe= Let <math>f \colon K^n \to K^m</math> be a linear map and <math>A</math> the associated matrix. Find a formula to calculate the value <math>f(v)</math> for a given vector <math>v\in K^n</math> by using the entries of the matrix <math>A</math>. |lösung= We write <math> v </math> as a linear combination of the standard basis vectors: let <math> v_1, \dots , v_n \in K</math> be the "coordinates", such that <math> v = v_1e_1 + \dots + v_ne_n </math> holds. That <math> A </math> is the matrix associated with <math> f </math> means that <math> f(e_i) = (a_{1i}, \dots, a_{mi})^{T} </math> is satisfied for all <math> i = 1, \dots,n </math>. Thus, it follows for <math>v</math> that {{Math|<math>\begin{align} f(v) &= v_1f(e_1) + \dots + v_nf(e_n)\\[0.3em] &= v_1\begin{pmatrix}a_{11}\\ \vdots \\a_{m1} \end{pmatrix} + \dots + v_n\begin{pmatrix}a_{1n}\\ \vdots \\a_{mn} \end{pmatrix}\\[0.3em] &= \begin{pmatrix}v_1a_{11} + \dots + v_na_{1n}\\ \vdots \\v_1a_{m1} + \dots + v_na_{mn} \end{pmatrix} \end{align}</math>}} Using the sum notation, we can write the result as {{Math|<math> f(v) = \begin{pmatrix}\sum_{j=1}^n v_ja_{1j}\\ \vdots \\ \sum_{j=1}^n v_ja_{mj} \end{pmatrix}</math>}} }} The solution of this exercise provides us with a formula to calculate the value of a vector under a mapping, using the associated matrix. We now define <math> Av </math> using the formula found in the solution. === Definition === {{:Math for Non-Geeks/Template:Definition |titel=Matrix-Vector Multiplication |anker=Matrix-Vektor-Multiplikation |definition= Let <math>K</math> be a field <math>A=(a_{ij})\in K^{m\times n}</math> and <math>x\in K^n</math>. Then we define {{Math|<math>A \cdot x = \begin{pmatrix} a_{11} & \dots & a_{1n} \\ \vdots & & \vdots\\ a_{m1} & \dots & a_{mn} \end{pmatrix} \cdot \begin{pmatrix} x_1\\ \vdots \\ x_n \end{pmatrix} = \begin{pmatrix} \sum_{j=1}^n a_{1j}x_j \\ \vdots \\ \sum_{j=1}^n a_{mj}x_j \end{pmatrix} = \left(\sum_{j=1}^n a_{ij}x_j\right)_{i}</math>}} }} From another point of view this means: If we consider the matrix <math> A</math> as a collection of column vectors {{Math|<math> A=\begin{pmatrix}|&&|\\ a_1&\cdots& a_n\\|&&|\end{pmatrix}</math>}} then the product <math> A\cdot x</math> is a linear combination of the columns of <math> A</math> with the coefficients in <math> x</math>, namely <math> A\cdot x=x_1 a_1+\cdots x_n a_n</math>. === How can you best remember how applying a matrix to a vector works? === [[File:Matrix vector multiplication.svg|thumb|300px|To apply a matrix to a vector, you need to compute "row times column".]] You may perform a matrix-vector multiplication by using the rule "row times column": The first entry of the result is the first row of the matrix times the column vector. The second entry is the second row of the matrix times the column vector, etc. for larger matrices. For each "row times column" product, you multiply the related entries (first times first, second times second, etc.) and add the results. It is important that the type of the matrix and the type of the vector match. If you have set up everything correctly so far, this should always be the case, because a linear map <math>f\colon K^n\to K^m</math> includes an <math>m\times n</math> matrix. You can apply this matrix to vectors of <math>K^n</math>, since rows and columns have both length <math>n</math>. == Reverse direction: The induced linear map{{Anchor|induzierte Abbildung}} == We have seen that every linear map has an associated matrix. Given a linear map <math> f </math>, we constructed a matrix <math> A </math> such that <math> f(v) = Av </math>. That is, some matrices define a linear map. But do all matrices define a linear map? And if yes, what does the corresponding mapping look like? If a matrix <math> A </math> is derived from a linear map <math> f </math>, then we can get <math> f </math> back from <math> A </math> by defining it as the map <math> v \mapsto Av </math>. More generally, we can apply this rule to any matrix <math> A </math> and obtain corresponding a linear map <math> f </math>. So let <math> A </math> be an <math>m\times n</math> matrix. We consider <math>K^n \to K^n, \ v \mapsto Av</math>. This map is indeed linear: {{Math|<math>\begin{align} A \cdot (v + w) &= \begin{pmatrix} a_{11} & \dots & a_{1n} \\ \vdots & & \vdots\\ a_{m1} & \dots & a_{mn} \end{pmatrix} \cdot \left[ \begin{pmatrix} v_1\\ \vdots \\ v_n \end{pmatrix} + \begin{pmatrix} w_1\\ \vdots \\ w_n \end{pmatrix} \right]\\[0.3em] &= \begin{pmatrix} \sum_{j=1}^n a_{1j}(v_j + w_j) \\ \vdots \\ \sum_{j=1}^n a_{mj}(v_j + w_j) \end{pmatrix}\\[0.3em] &= \begin{pmatrix} \sum_{j=1}^n a_{1j}v_j \\ \vdots \\ \sum_{j=1}^n a_{mj}v_j \end{pmatrix} + \begin{pmatrix} \sum_{j=1}^n a_{1j}w_j \\ \vdots \\ \sum_{j=1}^n a_{mj}w_j \end{pmatrix}\\[0.3em] &= A \cdot v + A \cdot w. \end{align}</math>}} That means, ''every matrix defines a linear map''. {{:Math for Non-Geeks/Template:Definition |titel=Induced linear map |definition=Let <math>A\in K^{m\times n}</math> be a matrix over the field <math>K</math>. Then the linear map {{Math|<math>f_A:\, K^n \to K^m,\; f_A(v) := Av</math>}} is called the ''linear map induced by the matrix <math>A</math>''. }} Thus, we now know that for each linear map there is an associated matrix, and for each matrix there is an associated linear map. For a linear map <math>f</math>, we call the associated matrix <math>M(f)</math>. Our construction of the induced mapping is built exactly such that <math>f = f_{M(f)}</math>. This is quite intuitive: the linear map induced by the matrix associated to a linear map <math> f </math> is just map <math> f </math> itself. We can now ask the "reverse question": If we consider the associated matrix of a linear map induced by some original matrix, is this the original matrix, again? So in mathematical terms: Is <math> A = M(f_A) </math>? The following theorem answers this question in the affirmative: {{:Math for Non-Geeks/Template:Satz |satz= The mappings <math>\operatorname{Hom}(K^n, K^m) \to K^{m\times n}; f \mapsto M(f)</math> and <math>K^{m\times n} \to \operatorname{Hom}(K^n,K^m); A \mapsto f_A</math> are bijections and each other's inverse. In particular, <math>M(f_A) = A</math>. |beweis= To show that the two mappings are inverse to each other, it suffices to show that applying them after each other (in any of the two orders) yields the identity. This would directly imply that both mappings are bijective. So it suffices to show that <math> f_{M(f)} = f </math> and that <math> M(f_A) = A </math>. We already know that the first equation holds. So it only remains to show the second. Let <math> A </math> be any <math> m \times n </math>-matrix. Let <math> A_{ij} </math> be the entry in the <math>i</math>-th row and <math>j</math>-th column of <math> A </math> and let <math> M_{ij} </math> be the corresponding entry of the matrix <math> M(f_A) </math>. By definition of <math> f_A </math> we have {{Math|<math> f_A(e_j) = Ae_j = \begin{pmatrix} A_{1j} \\ \vdots \\ A_{mj} \end{pmatrix}.</math>}} So the <math>i</math>-th entry of the vector <math>f_A(e_j)</math> is equal to <math> A_{ij} </math>. That is, <math> (f_A(e_j))_i = A_{ij} </math>. By definition of the matrix <math> M(f_A) </math> associated with <math>f_A</math>, the <math>j</math>-th column of <math> M(f_A) </math> is equal to the image of <math> e_j </math> under <math> f_A </math>. Thus, {{Math|<math> f_A(e_j) = \begin{pmatrix} M_{1j} \\ \vdots \\ M_{mj} \end{pmatrix}.</math>}} In particular, it follows for the <math>i</math>-th entry of <math> f_A(e_j), </math> that <math> (f_A(e_j))_i = M_{ij}. </math> Overall, we get <math> A_{ij} = (f_A(e_j))_i = M_{ij}. </math> Since <math> i </math> and <math> j </math> were arbitrarily chosen, all entries of the two matrices are equal and indeed <math> A = M(f_A). </math> }} We have thus shown that matrices and linear maps are in a "one-to-one-correspondence". {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} t1t9kn45n3qf2shlfy7zo725dr6diw4 Math for Non-Geeks/Matrix of a linear map 0 473512 4635309 4630503 2026-05-11T17:25:55Z Sascha Lill 95 3167325 adjust equation format 4635309 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} In this article, we will learn how to describe linear maps between arbitrary finite-dimensional vector spaces using matrices. The matrix representing such a linear mapping <math>f\colon V\to W</math> depends on the choice of bases in <math>V</math> and in <math>W</math>. Their columns are the coordinates of the images of the base vectors of <math>V</math>. == Generalization to abstract vector spaces == In the article on [[Math for Non-Geeks/Introduction: Matrices|introduction to matrices]], we saw how we can describe a linear mapping <math>K^n\to K^m</math> using a matrix. In this way, we can specify and classify linear mappings between <math>K^n</math> and <math>K^m</math> quite easily. Can we also find such a description for linear mappings between general vector spaces? Formally speaking, we care asking: Given two finite-dimensional <math>K</math> vector spaces <math>V</math> and <math>W</math>, how can we completely describe a linear mapping <math>f \colon V \to W</math>? To answer this question, we can try to trace it back to the case of <math>K^n</math> and <math>K^m</math>. In the article on [[Math for Non-Geeks/Isomorphisms#Anchor:Klassifikation endlichdimensional|isomorphisms]] we have seen that every finite-dimensional vector space is isomorphic to <math>K^n</math>. This means <math>V \cong K^n</math> and <math>W \cong K^m</math>, where we set <math>n=\dim(V)</math> and <math>m=\dim(W)</math>. This isomorphism works as follows: We choose an [[Math for Non-Geeks/Isomorphisms#Definition:Geordnete Basis|ordered basis]] <math>B = (b_1, \dots, b_n)</math> from <math>V</math>. By representing a vector in <math>V</math> with respect to <math>B</math>, we obtain the coordinate mapping <math>k_B\colon V \to K^n</math>, which maps <math>v = \lambda_1b_1 + \dots + \lambda_nb_n \in V</math> to <math>(\lambda_1, \dots, \lambda_n)^T \in K^n</math>. In the same way, we obtain the isomorphism <math>k_C \colon W \to K^m</math> after choosing a basis <math>C</math> of <math>W</math>. It is important here that <math>B</math> and <math>C</math> are ordered bases, as we would get a different mapping for different arrangements of the basis vectors. Using these isomorphisms, we can turn our mapping <math>f\colon V \to W</math> into a mapping <math>f'\colon K^n \to K^m</math>: We set <math>f' = k_C \circ f \circ k_B^{-1}</math> [[File:Diagram moving linear map to Kn.svg|center|150px|Shifting a linear map in coordinate space]] We can assign a matrix <math>M</math> to this mapping <math>f'</math> as described in the article [[Math for Non-Geeks/Introduction: Matrices|Introduction to matrices]]. Have we achieved our goal? If so, we can reconstruct the mapping <math>f</math> from <math>M</math>. From the article [[Math for Non-Geeks/Introduction: Matrices|introduction to matrices]], we already know that we can reconstruct the mapping <math>f'\colon K^n \to K^m</math> from <math>M</math> using the induced mapping. Now <math>k_B</math> and <math>k_C</math> are isomorphisms. This means that we can reconstruct <math>f</math> from <math>f'</math> via <math>k_C^{-1}\circ f' \circ k_B = k_C^{-1}\circ k_C \circ f \circ k_B^{-1}\circ k_B = f</math>. We can therefore call <math>M</math> the matrix assigned to <math>f</math>. However, we have to be careful with this name: the matrix depends on the choice of the two ordered bases <math>B</math> of <math>V</math> and <math>C</math> of <math>W</math>. This means we have actually found several ways to construct a matrix from <math>f</math>. Only after fixing the bases <math>B</math> and <math>C</math> have we found a unique way to get a matrix for <math>f</math>. Thus, the matrix <math>M</math> constructed above should actually be called "the matrix assigned to <math>f</math> with respect to the bases <math>B</math> and <math>C</math>". Appropriately, we can denote <math>M</math> by <math>M^B_C(f)</math>. By construction, this matrix fills exactly the bottom row in the following diagram: [[File:Diagram characterising the transformation matrix.svg|center|150px|Diagram characterizing the transformation matrix]] == Definition == {{ :Math for Non-Geeks/Template:Definition |titel=Matrix of a linear map |definition= Let <math>K</math> be a field, <math>V</math> and <math>W</math> two <math>K</math>-vector spaces of dimension <math>n</math> and <math>m</math> respectively. Let <math>B</math> be a basis of <math>V</math> with coordinate mapping <math>k_B : V \to K^n</math> and <math>C</math> a basis of <math>W</math> with coordinate mapping <math>k_C : W \to K^m</math>. Further, let <math>f:V\to W</math> be a linear mapping. Define <math>g:K^n \to K^m</math> by <math>g=k_C \circ f \circ k_B^{-1}</math>. Now the matrix of <math>f</math> with respect to the bases <math>B</math> and <math>C</math> is given by the corresponding matrix of <math>g</math>, i.e., the <math>i</math>-th column of the <math>m\times n</math> matrix contains the image <math>g(e_i)</math> of the <math>i</math>-th standard basis vector under <math>g</math>. We write this as <math>M^B_C(f)</math>. }} {{:Math for Non-Geeks/Template:Warnung|Note that the matrix <math>M^B_C(f)</math> depends on the selected (ordered) bases <math>B</math> and <math>C</math>! If you choose other bases, you generally get a different matrix. This also applies if you only change the order of the base vectors. This is why we use ordered bases.}} {{:Math for Non-Geeks/Template:Hinweis|The matrix of a linear map is also called the representation matrix or assigned matrix.}} == Calculating with matrices of linear maps == === Computing the matrix of a linear map === [[File:Transformation matrix diagram with elements.svg|thumb|Relationship between the elements <math>b_j, e_j, f(b_j)</math> and <math>\underline a_j = (a_{1j}, \dots, a_{mj})^T</math>.]] How can we find the corresponding matrix for <math>f\colon V\to W</math>? That is, how can we specifically calculate the entries of the matrix <math>M^B_C(f)</math>? The <math>j</math>-th column vector of the matrix <math>M^B_C(f)</math> is given by <math>(k_C\circ f\circ k_B^{-1})(e_j)</math>. We therefore want to determine this vector. Now, <math>(k_C\circ f\circ k_B^{-1})(e_j)=k_C(f(k_B^{-1}(e_j)))</math>. The defining property of the coordinate mapping <math>k_B</math> is that it maps the basis vector <math>b_j</math> to <math>e_j</math>. Therefore, <math>k_B^{-1}(e_j)=b_j</math>. Thus, the <math>j</math>-th column of <math>M^B_C(f)</math> is the vector <math>(k_C(f(b_j))</math>. To find out how <math>k_C</math> represents the vector <math>f(b_j)</math>, we need to represent this vector in the basis <math>C</math>. There are scalars <math>a_{1j},a_{2j},\ldots ,a_{mj}\in K</math>, so that <math>f(v_j) = \sum_{i=0}^m a_{ij}c_i</math>. Then, {{Math|<math>k_C(f(b_j)) = \begin{pmatrix}a_{1j}\\ a_{2j}\\ \dots\\ a_{mj}\end{pmatrix}.</math>}} This means that the <math>ij</math>-th entry of <math>M^B_C(f)</math> is given by the entry <math>a_{ij}</math> from the basic representation <math>f(b_j) = \sum_{i=0}^m a_{ij}c_i</math>. {{ :Math for Non-Geeks/Template:Definition |titel=Matrix of a linear map, alternative definition |definition= Let <math>K</math> be a field and <math>V</math> and <math>W</math> two finite-dimensional <math>K</math>-vector spaces. Let <math>B = \{b_1, \dots, b_n\}</math> be a basis of <math>V</math> and <math>C = \{c_1, \dots, c_m\}</math> a basis of <math>W</math>. Let <math>f\colon V\to W</math> be a linear mapping. Further, let <math>a_{ij}\in K</math> be such that <math>f(b_j) = \sum_{i=1}^m a_{ij}c_i</math> for all <math>j\in \{1, \dots, n\}</math>. Then we define the matrix of <math>f</math> with respect to <math>B</math> and <math>C</math> as the matrix <math>M^B_C(f) = (a_{ij})_{ij}</math>. }} {{:Math for Non-Geeks/Template:Hinweis|The columns of <math>M^B_C(f)</math> are therefore the coordinates with respect to <math>C</math> of the images of the basis vectors of <math>B</math>. We can also write this down like this: <math>M^B_C(f)=\begin{pmatrix}k_C(f(b_1)) & k_C(f(b_2)) & \ldots & k_C(f(b_n))\end{pmatrix}.</math> Here, each entry in the row is a column vector.}} {{:Math for Non-Geeks/Template:Beispiel |titel=Computing the matrix of a linear map |beispiel=Let <math>\R[x]_{\leq 2}</math> be the vector space of polynomials of degree at most 2 with coefficients from <math>\R</math> and <math>\R[x]_{\leq 1}</math> the vector space of polynomials of degree at most 1 with coefficients from <math>\R</math>. We define the following linear mapping: {{Math|<math>\begin{align} f\colon \R[x]_{\leq 2}&\to \R[x]_{\leq 1}\\ p=p_2x^2+p_1x+p_0&\mapsto (p_2+p_1)(x+1)+p_0 \end{align}</math>}} It is easy to check that <math>f</math> is actually a linear mapping. We have the bases <math>B=(x^2,x,1)</math> of <math>\R[x]_{\leq 2}</math> and <math>C=(x,1)</math> of <math>\R[x]_{\leq 1}</math>. We are looking for the matrix <math>M_C^B(f)</math>. To find it, we calculate the images of the basis vectors from <math>B</math> and express the result in the basis <math>C</math>: {{Math|<math>\begin{align} f(x^2)&=f(1\cdot x^2+0\cdot x+0)=(1+0)(x+1)+0=x+1=1\cdot x +1\cdot 1\\ f(x)&=f(0\cdot x^2+1\cdot x+0)=(0+1)(x+1)+0=x+1=1\cdot x +1\cdot 1\\ f(1)&=f(0\cdot x^2+0\cdot x+1)=(0+0)(x+1)+1=1\cdot 1 \end{align}</math>}} The coefficients in front of the basis vectors in <math>C</math> are the entries of the matrix we are looking for. Therefore {{Math|<math> M_C^B(f)=\begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix} </math>}} }} === Using the matrix of a linear map === Now we know how to calculate the matrix of <math>f</math> with respect to the bases <math>B=\{b_1,\ldots, b_n\}</math> and <math>C=\{c_1,\ldots, c_m\}</math>. What can we use this matrix for? This matrix can be used to calculate the image vector <math>f(v)</math> of each <math>v \in V</math>. To do so, we first represent <math>v</math> with respect to the basis <math>B</math> of <math>V</math>, i.e., <math>v = \lambda_1 b_1 + \lambda_2 b_2 + \cdots + \lambda_n b_n</math>. We denote the entries of the mapping matrix with <math>M^B_C(f)=(a_{ij})</math>. Then we have {{Math|<math>\begin{align} f(v)&=f\left(\sum_{j=1}^n \lambda_jb_j\right)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{linearity of } f \right.} \\[0.3em] &=\sum_{j=1}^n \lambda_j f(b_j)\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of the matrix } M^B_C(f)=(a_{ij}) \right.} \\[0.3em] &= \sum_{j=1}^n \lambda_j \left(\sum_{i=1}^m a_{ij} c_i \right) \\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{re-arranging the sum }\right.} \\[0.3em] &= \sum_{i=1}^m \left(\sum_{j=1}^n a_{ij} \lambda_j \right)c_i \\[0.3em] \end{align}</math>}} We therefore obtain a representation of the vector <math>f(v)=\sum_{i=1}^m\mu_ic_i</math> as a linear combination of the basis vectors of <math>C</math>, with coordinates {{Math|<math>\mu_i=\sum_{j=1}^n a_{ij} \lambda_j.</math>}} Using the [[Math for Non-Geeks/Introduction: Matrices#Anchor:Matrix-Vektor-Multiplikation|matrix multiplication with a vector]] ("row times column") we can also express this as follows: {{Math|<math>\begin{pmatrix} \mu_1\\\mu_2 \\ \vdots \\ \mu_m \end{pmatrix} = \begin{pmatrix} a_{11} & \cdots & a_{1n} \\ \vdots & & \vdots \\ a_{m1} & \cdots & a_{mn} \end{pmatrix} \, \begin{pmatrix} \lambda_1 \\ \lambda_2\\ \vdots \\ \lambda_n \end{pmatrix} = \begin{pmatrix}\sum_{j =1}^n a_{1j} \lambda_j\\\sum_{j =1}^n a_{2j} \lambda_j\\ \vdots \\ \sum_{j =1}^n a_{mj} \lambda_j\end{pmatrix} </math>}} Using the matrix of <math>f</math>, we therefore obtain the coordinate vector <math>k_B(v)=(\lambda_1,\ldots,\lambda_n)</math> of <math>v</math> from the coordinate vector <math>k_C(f(v))</math> of <math>f(v)</math>: We multiply <math>k_B(v)</math> from the left by the matrix <math>M^B_C(f)</math>. {{Math|<math>k_C(f(v))=M^B_C(f)k_B(v)</math>}} The equation states that, starting from a vector <math>v\in V</math>, the red and blue paths in the diagram for the matrix to be displayed provide the same result. [[File:Transformation matrix diagram with colours.svg|center|150px|The defining diagram for a matrix of a linear map]] Instead of starting with a vector <math>v\in V</math>, we can also start with any vector <math>x=(x_1,\ldots,x_n)^T\in K^n</math>. Then <math>x</math> is the coordinate vector of <math>k_B^{-1}(x)=x_1\cdot b_1+\ldots+x_n\cdot b_n=:v</math>. We can also understand the product <math>y=M^B_C(f)x\in K^m</math> as a coordinate vector of <math>k_C^{-1}(y)=y_1\cdot c_1+\ldots+y_m\cdot c_m</math>. From the diagram, we know that <math>y</math> is the coordinate vector of <math>f(v)</math>. Therefore, {{Math|<math>f(k_B^{-1}(x))=k_C^{-1}(M^B_C(f)x)</math>}} Here we have used the fact that the coordinate mappings are isomorphisms, so we can also reverse the arrows of <math>k_B</math> and <math>k_C</math> in the diagram. The equation states that the red and blue paths in the following diagram give the same result: [[File:Transformation matrix diagram with colours and coordinate map inverted.svg|center|150px|The defining diagram of a mapping matrix with inverted coordinate mapping]] {{:Math for Non-Geeks/Template:Beispiel |titel=Using the matrix of a linear map |beispiel=As [[#Beispiel:Berechnung der Abbildungsmatrix|above]], we consider the linear map {{Math|<math>\begin{align} f\colon \R[x]_{\leq 2}&\to \R[x]_{\leq 1}\\ p=p_2x^2+p_1x+p_0&\mapsto (p_2+p_1)(x+1)+p_0 \end{align}</math>}} and the bases <math>B=(x^2,x,1)</math> of <math>\R[x]_{\leq 2}</math> or <math>C=(x,1)</math> of <math>\R[x]_{\leq 1}</math>. We have already calculated the matrix of <math>f</math> with respect to these bases: {{Math|<math> M_C^B(f)=\begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix} </math>}} We can now use this matrix to calculate <math>f(p)</math> for a polynomial <math>p\in\R[x]_{\leq 2}</math>. We have seen above that {{Math|<math>k_C(f(p))=M^B_C(f)k_B(p)</math>}} To understand this, let's look at a concrete example: We consider the polynomial <math>p:=5x^2-3x+10</math>. First, we need to calculate <math>k_B(p)</math>, i.e., the coordinates with respect to the basis <math>B</math>. The coordinate vector is formed from the prefactors of the linear combination in the basis <math>B=(x^2,x,1)</math>. We have {{Math|<math>p:={\color{Orange}5}x^2{\color{Blue}-3}x+{\color{Purple}10} </math>}} This allows us to find the coordinate vector {{Math|<math>k_B(p)=\begin{pmatrix}\color{Orange}5\\ \color{Blue}-3\\ \color{Purple}10 \end{pmatrix} </math>}} We can multiply this vector with the matrix <math>M_C^B(f)</math>: {{Math|<math> \begin{align} & M^B_C(f)k_B(p)\\[0.5em] =&\begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix} \begin{pmatrix}5\\ -3\\ 10 \end{pmatrix} \\[0.5em] =&\begin{pmatrix}2\\12 \end{pmatrix} \end{align}</math>}} This vector <math>(2,12)^T</math> is <math>k_C(f(p))</math>, i.e., the coordinate vector of <math>f(p)</math> in the basis <math>C=(x,1)</math>. In order to obtain <math>f(p)</math> from this, we must write the coordinates in the vector <math>(2,12)^T</math> as prefactors in the linear combination of <math>C</math>. Thus {{Math|<math> f(p)=k_C^{-1}\left( \begin{pmatrix} 2\\12\end{pmatrix} \right)=2\cdot x+12\cdot 1=2x+12 </math>}} }} === Matrix of a composition of linear maps === In the following theorem we show that the combination of linear mappings corresponds to the multiplication of their representing matrices. {{:Math for Non-Geeks/Template:Satz |titel=Matrix of a composition of linear maps |satz= Let <math>f\colon V\to W</math> and <math>g\colon W\to X</math> be linear mappings between finite-dimensional vector spaces. Furthermore, let <math>B=\{v_1,\ldots,v_m\}</math> be a basis of <math>V</math>, <math>C=\{w_1,\ldots,w_n\}</math> a basis of <math>W</math> and <math>D=\{x_1,\ldots,x_s\}</math> a basis of <math>X</math>. Then {{Math|<math>M^B_D(g\circ f)=M^C_D(g)\cdot M^B_C(f).</math>}} |beweis= Let <math>h=g\circ f</math> and let <math>(h_{ij})_{ij}=M^B_D(h)\in K^{s\times m}</math>. Further, let <math>M^B_C(f)=(f_{ij})_{ij}\in K^{n\times m}</math> and <math>M^C_D(g)=(g_{ij})_{ij}\in K^{s\times n}</math> be the matrices of <math>f</math> and <math>g</math> respectively. We now know that the <math>h_{ij}</math> are the unique scalars, satisfying {{Math|<math>h(v_j)=\sum_{i=1}^s h_{ij}x_i</math>}} for all <math>j\in\{1,\ldots,m\}</math>. In order to prove <math>(h_{ij})=(g_{ij})(f_{ij})</math>, we need to verify {{Math|<math>h_{ij}=\sum_{k=1}^ng_{ik}f_{kj}</math>}} Indeed, {{Math|<math>\begin{align} h(v_j) &=\, g(f(v_j))\\[0.3em] & {\color{OliveGreen} \left\downarrow \text{definition of } M^B_C(f) \right.}\\[0.3em] &= \, g\left(\sum_{k=1}^n f_{kj}w_k\right) \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{linearity of } g \right.}\\[0.3em] &= \, \sum_{k=1}^n f_{kj}g(w_k) \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{definition of } M^C_D(g) \right.}\\[0.3em] &= \, \sum_{k=1}^nf_{kj}\sum_{i=1}^sg_{ik}x_i \\[0.3em] &= \, \sum_{i=1}^s\left(\sum_{k=1}^ng_{ik}f_{kj}\right) x_i. \end{align}</math>}} From the uniqueness of the coordinates in the linear combination of <math>x_i</math>, we conclude <math>h_{ij}=\sum_{k=1}^ng_{ik}f_{kj}</math>. }} {{:Math for Non-Geeks/Template:Warnung|For the reduction rule, it is important that the same ordered basis <math>C</math> of <math>W</math> is chosen in both cases for the matrices representing <math>f</math> and <math>g</math>. If <math>M^{\tilde{C}}_D(g)</math> is formed for a different basis <math>\tilde{C}\neq C</math> of <math>W</math>, then the reduction rule no longer applies: The equation {{Math|<math>M^B_D(g\circ f)=M^{\tilde{C}}_D(g)\cdot M^B_C(f)</math>}} is generally '''false'''. Because representing matrices depend on the order of the basis vectors, this also applies if <math>\tilde{C}</math> is only a rearrangement of <math>C</math>. }} == One-to-one correspondence between matrices and linear maps{{Anchor|1-1-Korrespondenz}} == We can uniquely assign a matrix <math>M^B_C(f)</math> to a linear map <math>f</math> after a fixed choice of ordered bases <math>B</math> and <math>C</math>. This gives us a function that sends a mapping <math>f</math> to its associated matrix <math>M^B_C(f)</math>: {{Math|<math> \begin{align}\operatorname{Hom}(V,W)&\to K^{m\times n}\\ f&\mapsto M^B_C(f) \end{align}</math>}} In this formula, <math>\operatorname{Hom}(V,W)</math> is the [[Math for Non-Geeks/Vector space of a linear map|set of all linear maps]] from <math>V</math> to <math>W</math> and <math>K^{m\times n}</math> is the set of all <math>m\times n</math> matrices. How did we arrive at the assignment of the matrix <math>M^B_C(f)</math> to the linear map <math>f</math>? We first found a unique mapping <math>f'\colon K^n\to K^m</math> for <math>f</math> using the bases <math>B</math> and <math>C</math> and then determined the matrix assigned to <math>f'</math>. The mapping <math>f'</math> is defined by the coordinate mappings: <math>f'=k_C \circ f \circ k_B^{-1}</math>. So we have the assignment: {{Math|<math> \begin{align}\operatorname{Hom}(V,W)&\to \operatorname{Hom}(K^n,K^m)\\ f&\mapsto f':=k_C \circ f \circ k_B^{-1} \end{align}</math>}} Because <math>k_C</math> and <math>k_B</math> are bijections, we can also get a unique <math>f\colon V\to W</math> from an <math>f'\colon K^n\to K^m</math>, to which <math>f'</math> is assigned. All we have to do is to set <math>f:=k_C^{-1}\circ f'\circ k_B</math>. So we have a bijection between <math>\operatorname{Hom}(V,W)</math> and <math>\operatorname{Hom}(K^n,K^m)</math>. The assignment {{Math|<math> \begin{align}\operatorname{Hom}(K^n,K^m)&\to K^{m\times n}\\ f'&\mapsto M(f') \end{align}</math>}} is a bijection, as we already saw in the [[Math for Non-Geeks/Introduction: Matrices#Satz:Bijektion zwischen linearen Abbildungen und Matrizen|introduction article to matrices]]. Therefore, <math>\operatorname{Hom}(V,W)\to K^{m\times n}</math> is also a bijection, because it is the combination of the two bijections <math>\operatorname{Hom}(V,W)\to \operatorname{Hom}(K^n,K^m)</math> and <math>\operatorname{Hom}(V,W)\to K^{m\times n}</math>. But what does the inverse of the bijection <math>\operatorname{Hom}(V,W)\to K^{m\times n}</math> look like? The inverse mapping <math>K^{m\times n}\to \operatorname{Hom}(V,W)</math> sends a matrix <math>A\in K^{m\times n}</math> to a linear map <math>f\colon V\to W</math> such that <math>M_C^B(f)=A</math>. Let <math>B = (b_1, \dots, b_n)</math> and <math>C = (c_1, \dots, c_m)</math> be ordered bases of <math>V</math> and <math>W</math> and <math>A=(a_{ij})</math>, i.e., <math>a_{ij}</math> is the <math>i,j</math>-th component of the matrix <math>A</math>. Because <math>M^B_C(f)=A</math>, the following must hold: {{Math|<math> f(b_j) = \sum_{i=1}^m a_{ij} c_i </math>}} Because of [[Math for Non-Geeks/Linear continuation|the principle of linear continuation]], <math>f</math> is already completely defined. Here, we see that <math>a_{ij}</math> is the weight of <math>c_i</math> in <math>f(b_j)</math>. Intuitively, the <math>j</math>-th column of the mapping matrix again stores the image of the <math>j</math>-th basis vector, i.e., <math>f(b_j)</math>. {{:Math for Non-Geeks/Template:Beispiel |titel=One-to-one correspondence |beispiel=We want to better understand the one-to-one correspondence between matrices and linear mappings using an example. The bijection is given by {{Math|<math> \begin{align}\operatorname{Hom}(V,W)&\to K^{m\times n}\\ f&\mapsto M^B_C(f), \end{align}</math>}} where <math>B</math> is an (ordered) basis of <math>V</math> and <math>C</math> is an (ordered) basis of <math>W</math>. We consider the two <math>\R</math> vector spaces <math>V=\R[x]_{\leq 2}</math> and <math>W=\R[x]_{\leq 1}</math>, i.e., the vector spaces of the polynomials with coefficients from <math>\R</math> and degree at most 2 or 1. For the one-to-one correspondence, we still need an ordered basis of <math>V</math> and of <math>W</math>. We choose the canonical bases <math>B:=(x^2,x,1)</math> and <math>C:=(x,1)</math>. What are the variables <math>m</math> and <math>n</math> in this example? The number <math>m</math> is the dimension of the vector space <math>W</math> and <math>n</math> is the dimension of <math>V</math>. So <math>m=2</math> and <math>n=3</math>. We therefore have the bijection {{Math|<math> \begin{align}\operatorname{Hom}(\R[x]_{\leq 2},\R[x]_{\leq 1})&\to \R^{2\times 3}\\ f&\mapsto M^B_C(f) \end{align}</math>}} This means every linear map <math>f</math> from <math>\R[x]_{\leq 2}</math> to <math>\R[x]_{\leq 1}</math> provides a <math>(2\times 3)</math> matrix {{Math|<math>M^B_C(f)=\begin{pmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\end{pmatrix}</math>}} with coefficients <math>a_{ij}\in\R</math>. For example, we have seen [[#Beispiel:Berechnung der Abbildungsmatrix|above]] that for the linear map {{Math|<math>\begin{align} f\colon \R[x]_{\leq 2}&\to \R[x]_{\leq 1}\\ p=p_2x^2+p_1x+p_0&\mapsto (p_2+p_1)(x+1)+p_0 \end{align}</math>}} and the bases <math>B</math> and <math>C</math>, we get the corresponding matrix {{Math|<math> M_C^B(f)=\begin{pmatrix} 1 & 1 & 0 \\ 1 & 1 & 1 \end{pmatrix}. </math>}} However, the one-to-one correspondence says even more: For every <math>(2\times 3)</math>-matrix <math>A</math> with coefficients in <math>\R</math> there is a unique linear mapping <math>f</math> from <math>\R[x]_{\leq 2}</math> to <math>\R[x]_{\leq 1}</math>, so that <math>A</math> is the mapping matrix of <math>f</math>, i.e., <math i.e. <math>M^B_C(f)=A</math>. }} {{:Math for Non-Geeks/Template:Hinweis| If we choose a suitable vector space structure on the set of matrices <math>K^{m\times n}</math>, the bijection explained above is even an [[Math for Non-Geeks/Isomorphisms|isomorphism]]. The vector space structure we have to fix for the matrices is componentwise addition and scalar multiplication. We look at this in more detail in the article [[Math for Non-Geeks/Vector space structure on matrices|"Vector space structure on matrices"]]. }} == Examples == We calculate the matrix representing a specific linear map <math>\R^3\to\R^2</math> with respect to the standard basis. {{:Math for Non-Geeks/Template:Beispiel |titel=Concrete example |beispiel= We consider the linear map {{Math|<math> f\colon \R^3\to\R^2, f \begin{pmatrix} x\\ y\\ z \end{pmatrix} = \begin{pmatrix} 2x-3y\\ x-2y+z \end{pmatrix} </math>}} The canonical standard basis is selected both in the original space <math>\R^3</math> and in the target space <math>\R^2</math>: {{Math|<math> B=\left( \begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 1\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 0\\ 1\end{pmatrix} \right) \, , \quad C=\left( \begin{pmatrix} 1\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 1\end{pmatrix}\right)</math>}} We have: {{Math|<math> f\begin{pmatrix} 1\\ 0\\ 0\end{pmatrix} = \begin{pmatrix} 2\\ 1\end{pmatrix}, \quad f\begin{pmatrix} 0\\ 1\\ 0\end{pmatrix} = \begin{pmatrix} -3\\ -2\end{pmatrix} , \quad f\begin{pmatrix} 0\\ 0\\ 1\end{pmatrix} = \begin{pmatrix} 0\\ 1\end{pmatrix} </math>}} This means that the matrix of <math>L</math> with respect to the selected bases <math>B</math> and <math>C</math> is: {{Math|<math> M^B_C(f)=\begin{pmatrix} 2 & -3 & 0\\ 1 & -2 & 1\end{pmatrix} </math>}} }} Now let's look at the same linear map, but a different basis in the target space. {{:Math for Non-Geeks/Template:Beispiel |titel=Concrete example with a different basis |beispiel= Again, we consider the linear map <math>f</math> of the above example, i.e., {{Math|<math> f\colon \R^3\to\R^2, f \begin{pmatrix} x\\ y\\ z \end{pmatrix} = \begin{pmatrix} 2x-3y\\ x-2y+z \end{pmatrix} </math>}} This time we use the ordered basis in the target space <math>\R^2</math> {{Math|<math>C'=\left( \begin{pmatrix} 2\\ 1\end{pmatrix}, \begin{pmatrix} 1\\ 1\end{pmatrix}\right ) </math>}} Now, {{Math|<math>f\left (\begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}\right) = \begin{pmatrix} 2\\ 1\end{pmatrix}=1\cdot \begin{pmatrix} 2\\ 1\end{pmatrix}+0\cdot \begin{pmatrix} 1\\ 1\end{pmatrix}, </math>}} {{Math|<math>f\left(\begin{pmatrix} 0\\ 1\\ 0\end{pmatrix}\right) = \begin{pmatrix} -3\\ -2\end{pmatrix}=-1\cdot \begin{pmatrix} 2\\ 1\end{pmatrix}-1\cdot \begin{pmatrix} 1\\ 1\end{pmatrix}, </math>}} {{Math|<math>f\left(\begin{pmatrix} 0\\ 0\\ 1\end{pmatrix}\right) = \begin{pmatrix} 0\\ 1\end{pmatrix}=-1\cdot\begin{pmatrix} 2\\ 1\end{pmatrix}+2\cdot \begin{pmatrix} 1\\ 1\end{pmatrix} </math>}} This gives the following matrix of <math>f</math> with respect to the bases <math>B</math> and <math>C'</math>: {{Math|<math>M^B_{C'}(f)=\begin{pmatrix} 1 & -1 & -1\\ 0 & -1 & 2\end{pmatrix} </math>}} We can see that this matrix is not equal to <math>M^B_C(f)</math> from the first example. }} From the two previous examples, we see that the matrix representing a linear map depends on the chosen bases. It is important that we consider ordered bases: The representing matrix also depends on the order of the basis vectors. {{:Math for Non-Geeks/Template:Beispiel |titel=Concrete example with a re-arranged basis |beispiel= Again, we consider the linear map <math>f</math> of the above example, i.e., {{Math|<math> f\colon \R^3\to\R^2, f \begin{pmatrix} x\\ y\\ z \end{pmatrix} = \begin{pmatrix} 2x-3y\\ x-2y+z \end{pmatrix} </math>}} This time we use the reordered standard basis in the target space <math>\R^2</math> {{Math|<math>C''=\left( \begin{pmatrix} 0\\ 1\end{pmatrix}, \begin{pmatrix} 1\\ 0\end{pmatrix}\right ) </math>}} Now, {{Math|<math>f\left (\begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}\right) = \begin{pmatrix} 2\\ 1\end{pmatrix}=1\cdot \begin{pmatrix} 0\\ 1\end{pmatrix}+2\cdot \begin{pmatrix} 1\\ 0\end{pmatrix}, </math>}} {{Math|<math>f\left(\begin{pmatrix} 0\\ 1\\ 0\end{pmatrix}\right) = \begin{pmatrix} -3\\ -2\end{pmatrix}=-2\cdot \begin{pmatrix} 0\\ 1\end{pmatrix}-3\cdot \begin{pmatrix} 1\\ 0\end{pmatrix}, </math>}} {{Math|<math>f\left(\begin{pmatrix} 0\\ 0\\ 1\end{pmatrix}\right) = \begin{pmatrix} 0\\ 1\end{pmatrix}=1\cdot\begin{pmatrix} 0\\ 1\end{pmatrix}+0\cdot \begin{pmatrix} 1\\ 0\end{pmatrix} </math>}} This gives the following matrix of <math>f</math> with respect to the bases <math>B</math> and <math>C''</math>: {{Math|<math>M^B_{C''}(f)=\begin{pmatrix} 1 & -2 & 1 \\ 2 & -3 & 0\end{pmatrix} </math>}} We can see that this matrix is neither equal to <math>M^B_C(f)</math> from the first nor to the one from the second example. (In fact, it is the <math>M^B_C(f)</math> from the first example with the rows being swapped.) }} Conversely, different mappings can also have the same mapping matrix if they are evaluated for different bases: {{:Math for Non-Geeks/Template:Beispiel |titel=Concrete example with a different linear map but the same matrix |beispiel= Consider the linear map {{Math|<math> F\colon \R^3\to\R^2, F \begin{pmatrix} x\\ y\\ z \end{pmatrix} = \begin{pmatrix} x-y-z\\ -y+2z \end{pmatrix} </math>}} We select the standard basis for both the original and target space: {{Math|<math> B=\left( \begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 1\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 0\\ 1\end{pmatrix} \right) \, , \quad C=\left( \begin{pmatrix} 1\\ 0\end{pmatrix}, \begin{pmatrix} 0\\ 1\end{pmatrix}\right)</math>}} and, as in the previous examples, we calculate the matrix representing <math>F</math> with respect to these bases as {{Math|<math>M^B_C(F)=\begin{pmatrix}1&-1&-1\\ 0&-1&2\end{pmatrix}.</math>}} This is the same matrix as the <math>M^B_{C'}(f)</math> from the previous example. But the linear maps <math>F</math> and <math>f</math> are not identical, because {{Math|<math>f\left (\begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}\right)=\begin{pmatrix}2\\1\end{pmatrix}\neq\begin{pmatrix}1\\0\end{pmatrix}=F\left (\begin{pmatrix} 1\\ 0\\ 0\end{pmatrix}\right).</math>}} }} Let us now look at a somewhat more abstract example: {{:Math for Non-Geeks/Template:Beispiel |titel=Polynomials of different degrees |beispiel=Let <math>K=\R</math> and let <math>V</math> be the vector space of polynomials of degree at most 3 with coefficients from <math>\R</math>. Further, let <math>W</math> the vector space of polynomials of degree at most 2 with coefficients from <math>\R</math>. We define <math>f : V\to W</math> as the derivative of a polynomial, i.e., for all <math>p(x)\in V</math> we set <math>p = p_0 + p_1 x + p_2 x^2 + p_3 x^3 \mapsto p' = p_1 + 2p_2x + 3p_3x^2</math>. When considering the bases: <math>B=(1, x, x^2, x^3)</math> and <math>C=(1, x, x^2)</math>, then the following applies: {{Math|<math> f(b_1) = f(1)= 0 = 0 \cdot c_1 + 0 \cdot c_2 + 0 \cdot c_3 </math>}} {{Math|<math> f(b_2) = f(x)= 1 = 1 \cdot c_1 + 0 \cdot c_2 + 0 \cdot c_3 </math>}} {{Math|<math> f(b_3) = f(x^2)= 2 x = 0 \cdot c_1 + 2 \cdot c_2 + 0 \cdot c_3 </math>}} {{Math|<math> f(b_4) = f(x^3)= 3x^2 = 0 \cdot c_1 + 0 \cdot c_2 + 3 \cdot c_3 </math>}} This gives the following matrix of <math>f</math> with respect to the bases <math>B</math> and <math>C</math>: {{Math|<math>M^B_{C}(f)=\begin{pmatrix} 0 & 1 & 0 & 0\\ 0 & 0 & 2 & 0 \\ 0 & 0 & 0 & 3\end{pmatrix} </math>}} }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 6oao0qr26a94bmdfmh8xztup7dy2mt5 Math for Non-Geeks/Definition of a matrix 0 473513 4635310 4623456 2026-05-11T17:27:22Z Sascha Lill 95 3167325 adjust equation format 4635310 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} Matrices are a concept from linear algebra. A matrix is a rectangular arrangement of elements from a ring with unit (i.e., elements, with which we can calculate like with numbers). Matrices can be used to simplify arithmetic operations such as addition and multiplication. == What are matrices? == A matrix is a rectangular arrangement of numbers or objects that allow for computations, as if they were numbers. Mathematically speaking, the entries are elements of a ring with unit. {{:Math for Non-Geeks: Template:Beispiel |beispiel= An example of a matrix is <math>\begin{pmatrix}1&{-2}\\4&0\\3&5\end{pmatrix}</math>. }} We denote the entire arrangement of numbers by <math>\mathcal M</math> and call it a ''Matrix''. The objects within the matrix are called ''components'' or ''entries''. The entries standing next to each other form a row of the matrix, the entries standing below each other form a column. The matrix <math>\mathcal M</math> above has 3 rows and 2 columns. We call it a <math>3 \times 2</math> matrix to indicate its ''size''. Another way to indicate the size is to say, <math>\mathcal M</math> is of ''type'' <math>(3,2)</math> of matrix. The component that is in the <math>j</math>-th row and in the <math>k</math>-th column is denoted by <math>m_{jk}</math>. For instance, within the matrix <math>\mathcal M</math> we have <math>m_{11} = 1</math> or <math>m_{32} = 5</math>. {{:Math for Non-Geeks: Template:Hinweis|Attention: Within the indices of <math>m_{jk}</math>, '''the order matters''': The '''row index''' <math>j</math> comes first, followed by the '''column index''' <math>k</math>.}} Matrices do not necessarily have to contain numbers. In order to indicate that a matrix of type <math>(m, n)</math> has entries, which are elements of some ring <math>R</math> , we write<math>\mathcal M\in R^{m\times n}</math>. In that case, <math>\mathcal M</math> is called a ''matrix of type <math>(m, n)</math> over <math>R</math>''. == Equality of matrices == When are two matrices equal? In principle, one may define equality in several different ways. But there is one that makes by far the most sense: {{:Math for Non-Geeks: Template:Definition |titel=Equality of matrices |definition=Two matrices <math>A=(a_{ij})</math> and <math>B=(b_{ij})</math> are equal if and only if: # Both matrices are of the same type, i.e. they have the same number of rows and columns. # All components of both matrices are equal {{Math|<math>a_{ij} = b_{ij} \qquad \forall i \in \{1,2,\ldots,m\} \text{ and } \,\forall j \in \{1,2,\ldots,n\}</math> }}}} {{:Math for Non-Geeks: Template:Hinweis|Matrices of different types cannot be equal. For instance, the zero matrix of type <math>(3 \times 2)</math> is not the same as the zero matrix of type <math>(2 \times 3)</math>, even though we call both of them a "zero matrix". }} == Examples == {{:Math for Non-Geeks: Template:Beispiel |titel=Matrices over <math>\Z</math> |beispiel={{Math|<math>\mathcal A=\begin{pmatrix}0&-5&2\\-3&1&1\\1&2&3\\4&0&7\end{pmatrix}</math> is a <math>4 \times 3</math>-matrix.}} Here, for example <math>a_{12} = -5 \text { and } a_{33} = 3</math>. {{Math|<math>\mathcal B =\begin{pmatrix}3&5&1&-3\\0&1&0&1\end{pmatrix}</math> is a <math>2 \times 4</math>-matrix.}} {{Math|<math>\mathcal C =\begin{pmatrix}4&-5\\0&0\\-2&1\end{pmatrix}</math> is a <math>3 \times 2</math>-matrix.}} {{Math|<math>\mathcal D = \begin{pmatrix}1&3\\4&2\end{pmatrix}</math> is a <math>2 \times 2</math>-matrix.}} }} {{:Math for Non-Geeks: Template:Beispiel |titel=Matrix over <math>\Q[x]</math> |beispiel= {{Math|<math>\mathcal M = \begin{pmatrix} x^2 & \frac{1}{2}x \\ 0 & 3x + 5 \end{pmatrix}</math>}} }} == Transposed matrix == {{:Math for Non-Geeks: Template:Definition |definition=Let <math>A=(a_{ij})</math> be a matrix in <math>R^{m\times n}</math>. Then we define the transposed matrix as <math>A^T:=(a_{ji}) \in R^{n\times m}</math>. }} {{:Math for Non-Geeks: Template:Beispiel |beispiel=Let <math>R=\Z</math> and define {{Math|<math>A = \begin{pmatrix}1&3\\4&2\\7&7\end{pmatrix} \in \Z^{3\times 2}</math>.}} Then its transposed matrix is given by {{Math|<math>A^T = \begin{pmatrix}1&4&7\\3&2&7\end{pmatrix} \in \Z^{2\times 3}</math>.}} }} == Some special cases == === Row vectors === Matrices of the type <math>1 \times n</math> are usually called (row) vectors and written with only one index, i.e. {{Math|<math>(a_1,a_2,\cdots,a_n)</math>.}} === Column vectors === Matrices of the type <math>m \times 1</math> are usually called (column) vectors and written with only one index, i.e. {{Math|<math>\begin{pmatrix}a_1\\a_2\\ \vdots\\a_m\end{pmatrix}</math>.}} === Zero matrices === A matrix in which every entry is <math>0</math> is called a zero matrix. The <math>0</math> is the neutral element of the addition in our ring. {{:Math for Non-Geeks: Template:Hinweis | Attention, there is not only one zero matrix, but a separate zero matrix for each underlying set and each type.}} {{:Math for Non-Geeks: Template:Beispiel |titel=Some zero matrices |beispiel= {{Math|<math>\begin{pmatrix}0&0\\0&0\end{pmatrix}\in \Z^{2\times 2}</math>}} {{Math|<math>\begin{pmatrix}0_{\Z[x]} & 0_{\Z[x]} \\ 0_{\Z[x]} & 0_{\Z[x]} \\ 0_{\Z[x]} & 0_{\Z[x]}\end{pmatrix}\in (\Z[x])^{3\times 2}</math>}} }} === Square matrices === Matrices with the same number of rows and columns are called ''square matrices''. A typical square matrix has the shape: {{Math|<math>A = \begin{pmatrix} a_{11} & \ldots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{n1} & \ldots & a_{nn} \end{pmatrix}</math>}} Due to their special shape, some more interesting special cases can now occur among the square matrices. === Diagonal matrices === Diagonal matrices' are square matrices that have non-zero entries only on the diagonal (from top left to bottom right), i.e. <math>d_{ij} = 0</math> for <math>i \neq j</math>. The general shape of the diagonal matrix is: {{Math|<math>D = \begin{pmatrix} d_{11} & 0 & \ldots & 0 \\ 0 & d_{22} & \ldots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & d_{nn} \end{pmatrix} \qquad </math>}} {{:Math for Non-Geeks: Template:Beispiel |titel=Diagonal matrix |beispiel=<math> \qquad D =\begin{pmatrix}3&0&0\\0&4&0\\0&0&5\end{pmatrix}</math>}} As we will see later, diagonal matrices are particularly important if we understand them as a linear map on a finite dimensional vector space. Matrix multiplication and the calculation of inverses are much easier to perform with a diagonal matrix than with a generic matrix. === Unit matrices {{Anchor|Einheitsmatrix}} === The ''unit matrix'' is a special case of the diagonal matrices. It is exactly that diagonal matrix for which all entries in the diagonal are equal to the unit 1 of the ring, i.e. {{Math|<math>d_{ii} = 1 \qquad \forall i=1,...,n \qquad </math> and <math>\qquad d_{ij} = 0 \qquad \forall \, i \neq j</math>.}} The general shape of the unit matrix is: {{Math|<math>E = \begin{pmatrix} 1 & 0 & \ldots & 0 \\ 0 & 1 & \ldots & 0\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & 1 \end{pmatrix}</math>}} {{:Math for Non-Geeks: Template:Definition |titel=Kronecker symbol |definition= We define the Kronecker symbol <math>\delta_{ij}</math> for <math>i,j \in \N</math> by <math>\delta_{ii}= 1 \ \forall i</math> and <math>\delta_{ij}= 0 \ \forall i \neq j</math>.}} I.e. the Kronecker symbol is always equal to 0 if there are two different indices, and it is equal to 1 if the indices are the same. Then the unit matrix can be written as <math>E = (\delta_{ij})</math>. === Triangular matrices === By a ''triangular matrix'' we want to understand a square matrix which is characterised by the fact that all entries below or above the main diagonal are zero. If the entries above the main diagonal are zero, then the matrix is called a <dfn> lower triangular matrix</dfn>. If, on the other hand, the entries below the main diagonal are zero, then the matrix is called an <dfn> upper triangular matrix</dfn>. The general shape of a lower triangular matrix is: {{Math|<math>L = \begin{pmatrix} a_{11} & 0 & \ldots & 0 \\ a_{21} & a_{22} & \ldots & 0\\ \vdots & \vdots & \ddots & \vdots \\ a_{n1} & a_{n2} & \ldots & a_{nn} \end{pmatrix}</math>}} The general shape of an upper triangular matrix is: {{Math|<math>R = \begin{pmatrix} a_{11} & a_{12} & \ldots & a_{1n} \\ 0 & a_{22} & \ldots & a_{2n}\\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0 & \ldots & a_{nn} \end{pmatrix}</math>}} Among other things, triangular matrices play an important role in solving systems of linear equations. We will go into this in more detail in a further chapter. === Symmetric matrices === A square matrix is called ''symmetric'' if it is equal to its transposed matrix, i.e. if: <math>A \,= \, {A}^T</math> This is true if and only if <math> a_{ij} = a_{ji} \ \forall i,j=1,...,n </math>. {{:Math for Non-Geeks: Template:Beispiel |titel=Symmetric matrix |beispiel= <math>A = \begin{pmatrix}2&4&6\\4&3&8\\6&8&1\end{pmatrix} = A^T</math>}} Visually, <math>A =A^T</math> means that the entries of the matrix are mirrored along the diagonals. {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} t7yxjlalg3v3n8cnnligje9mz68nn8v Math for Non-Geeks/Linear systems and matrices 0 473514 4635312 4630504 2026-05-11T17:30:03Z Sascha Lill 95 3167325 adjust equation format 4635312 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} == A practical example == Linear dependencies often occur in practice. {{:Math for Non-Geeks/Template:Beispiel |titel=Linear dependence in a practical situation |beispiel= Imagine a company that launches two types of home fragrance essences ("Spring" and "Exotic") by mixing two raw materials that the company purchases (violet fragrance and jasmine oil) in different compositions: * 10kg of the essence "Spring" consists of 7kg of violet fragrance and 3kg of jasmine oil. * 10kg of the "Exotic" fragrance consists of 2kg of violet fragrance and 8kg of jasmine oil. The cost of violet fragrance and jasmine oil increases slightly from time to time. We therefore do not commit ourselves to specific values, but rather designate: * the variable price (in your preferred currency) for 1kg of violet fragrance with <math>x_1</math> * and the variable price for 1kg of jasmine oil as <math>x_2</math>. The company is now interested in two things: * How much does it have to pay for the raw materials needed for 10kg of "Spring"? :: Answer: <math>y_1 = 7x_1 + 3x_2</math> * How much does it have to pay for the raw materials required for 10kg of "Exotic"? :: Answer: <math>y_2 = 2x_1 + 8x_2</math> Here we have a dependency of two variables <math>y_1</math> and <math>y_2</math> on two other variables <math>x_1</math> and <math>x_2</math>. We can describe these as the system of equations: {{Math|<math>\begin{align}y_1 &= 7x_1 + 3x_2\\y_2 &= 2x_1 + 8x_2\end{align}</math>}} Alternatively, we can write this dependency as [[Math for Non-Geeks/Matrix multiplication|matrix multiplication]]: {{Math|<math>\begin{pmatrix}y_1\\y_2\end{pmatrix} = \begin{pmatrix}7 & 3\\ 2 & 8\end{pmatrix}\begin{pmatrix}x_1\\ x_2\end{pmatrix}</math>}} }} == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Linear system |definition=Let <math>K</math> be a field. A ''linear system of equations '' over <math>K</math> with <math>m</math> equations for <math>n</math> variables <math>x_1,x_2,\ldots,x_n</math> has the form: {{Math|<math>\begin{align} a_{11}x_1+a_{12}x_2+\cdots+a_{1n}x_n &= b_1 \\ a_{21}x_1+a_{22}x_2+\cdots+a_{2n}x_n &= b_2 \\ &\vdots \\ a_{m1}x_1+a_{m2}x_2+\cdots+a_{mn}x_n &= b_m \end{align}</math>}} where <math>a_{ij},b_i\in K</math> for <math>i\in\{1,2,\ldots,m\}</math> and <math>j\in\{1,2,\ldots,n\}</math>. The linear system is called ''homogeneous'' if <math>b_1=b_2=\cdots=b_m=0</math>, otherwise it is called ''inhomogeneous''. }} {{:Math for Non-Geeks/Template:Definition |titel=Matrix of coefficients |definition=The matrix <math>A=(a_{ij})\in K^{m\times n}</math> is called the ''coefficient matrix'' of the linear system from the above definition. The vector <math>b=(b_i)\in K^m</math> is called the ''right-hand side''. }} {{:Math for Non-Geeks/Template:Definition |titel=Solution set of a linear system |definition=The vector <math>x=\begin{pmatrix}x_1\\\vdots\\x_n\end{pmatrix}\in K^n</math> is called the ''solution'' of the above linear system if <math>A\cdot x=b</math>. The set {{Math|<math>L(A,b)=\{x\in K^n\mid A\cdot x=b\}</math>}} is called solution set of the system. }} == Examples == {{:Math for Non-Geeks/Template:Beispiel |titel= |beispiel= {{Math|<math>\begin{align} 2x_1+x_2 &= 5 \\ x_1-3x_2 &= -1 \end{align}</math>}} is a linear system of equations over <math>\Q</math> with 2 equations for the variables <math>x_1,x_2</math> with coefficient matrix <math>\begin{pmatrix}2 & 1 \\ 1 & -3\end{pmatrix}</math> and right-hand side <math>\begin{pmatrix}5 \\ -1\end{pmatrix}</math>. }} === Linear system with a unique solution === {{:Math for Non-Geeks/Template:Beispiel |titel=Linear system with a unique solution |beispiel= We have already distinguished between different "types" of linear systems in the previous chapter. {{Math|<math>\begin{align} 1x_1+3x_2+2x_3 &= 0 \\ -x_1-x_2 &= 2 \\ x_1 + 5x_2 + ax_3 = 4 \end{align}</math>}} This linear system can be represented by the matrix {{Math|<math>\begin{pmatrix} 1 & 3 & 2 & 0 \\ -1 & -1 & 0 &2\\ 1 & 5 & a & 4 \end{pmatrix}</math>}} Applying the Gaussian algorithm we obtain: {{Math|<math>\begin{pmatrix} 1 & 0 & -1 & -3 \\ 0 & 1 & 1 & 1\\ 0 & 0 & a-4 & 2 \end{pmatrix}</math>}} We get no solution for <math>a=4</math>. Or to put it another way, we are looking for a solution to {{Math|<math>0 \cdot x_3 = 0</math>}} Therefore, the system of equations with <math>a=4</math> cannot be solved or has no solution. However, if we fix, e.g., <math>a=6</math>, we obtain a unique solution. {{Math|<math>\begin{pmatrix} 1 & 0 & -1 & -3 \\ 0 & 1 & 1 & 1\\ 0 & 0 & 2 & 2 \end{pmatrix}</math>}} By multiplying the 3rd line by 1/2 and subtracting the 3rd from the second line or the third from the first line, we then obtain the Gaussian normal form. {{Math|<math>\begin{pmatrix} 1 & 0 & 0 & -2 \\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 1 \end{pmatrix}</math>}} Now we have found a unique solution. Thanks to the Gaussian normal form, we can read it off directly: {{Math|<math> x_1 = -2, x_2 = 0, x_3 = 1 </math>}} }} === Linear system with a non-unique solution === {{:Math for Non-Geeks/Template:Beispiel |titel=Linear system with a non-unique solution |beispiel= Linear systems of equations do '''not''' always have a unique solution. To see this, let us consider the following linear system of equations over <math>\mathbb{R}</math>. {{Math|<math>\begin{align} 1x_1+3x_2+2x_3 &= 1 \\ x_1+2x_2 + 3x_3 &= 1 \\ 2x_1 + 3x_2 + 4x_3 &= 2 \\ \end{align}</math>}} After running the Gaussian algorithm, we realize that there is no unique solution. The system of equations has an infinite number of solutions, as the system of equations has more variables than equations. Formally speaking, the rank of the matrix is less than <math>n</math>, where <math>n</math> is the size of the matrix. {{Math|<math>\begin{pmatrix} 1 & 0 & -1 & 1 \\ 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 0 \\ \end{pmatrix}</math>}} Consequently, the system of equations has '''no''' unique solution but '''infinitely''' many solutions. We may explicitly convince ourselves that this is true, proceeding as follows: # Find a variable that is fixed. For example, set <math>x_3 = t</math>. It doesn't matter which variable is fixed. # Solve all other equations depending on the fixed variable. For the example above, set <math>x_3 = t</math>. Now solve the first equation for <math>x_1</math>. Thus <math>x_1</math>: {{Math|<math>x_1 -x_3 = 1 \iff x_1 = 1 + x_3 </math>}} As we set <math>x_3 = t \in \mathbb{R}</math>, we have: {{Math|<math>x_1 -x_3 = 1 \iff x_1 = 1 + t </math>}} We now solve the second equation for <math>x_2</math>. {{Math|<math>x_2 + 2t = 0 \iff x_2 = -t </math>}} This process is repeated for all <math>n</math> equations. In this example, <math>n = 3</math>. Nevertheless, we can stop here, as the 3rd line only consists of zeros. The solution space now has the form {{Math|<math>\mathit{L} := \{ (x_1,x_2,x_3) \} </math>}} Now we insert the rearranged equations for <math>x_1, x_2, \dots,x_n</math>. Our <math>t</math> in our example is arbitrary, and since our linear system of equations was realized via <math>\mathbb{R}</math>, our <math>t</math> is also from <math>\mathbb{R}</math>. This gives us the following solution space: {{Math|<math>\mathit{L} := \{ (1+t,-2t,t) | t \in \mathbb{R} \} </math>}} We can now represent the solution space more simply. To do so, we factor out <math>t</math>. The solution space can then be written as {{Math|<math>\mathit{L} := \{ (1,0,0) + t(1,-2,1) | t \in \mathbb{R} \} </math>}} }} === A solution space trick === {{:Math for Non-Geeks/Template:Beispiel |titel=Linear system with a non-unique solution |beispiel= As we have already seen, setting up a solution space is not complicated. Nevertheless, it is error-prone. However, there exists a trick that simplifies setting up a solution space. Let's look at the previous solution: {{Math|<math>\begin{pmatrix} 1 & 0 & -1 & 1 \\ 0 & 1 & 2 & 0\\ 0 & 0 & 0 & 0 \end{pmatrix}</math>}} For this trick, it is important that the matrix is in Gaussian normal form and that the following properties are fulfilled for the matrix: * The lower left triangular matrix contains only zeros * First element of a row is a 1 and lies on the diagonal * All elements in the column above and below are zero '''If you try to use this trick on a matrix that does not meet these requirements, the trick will produce an incorrect result!''' Proceed as follows: # Replace zeros with -1 on the diagonal # Each column where the diagonal zero has been replaced with -1 is automatically a solution vector. # The vector <math>b</math> is the support vector in the system of equations Let's see how this trick works on the system of equations considered above. {{Math|<math>\begin{pmatrix} 1 & 0 & -1 & 1 \\ 0 & 1 & 2 & 0\\ 0 & 0 & -1 & 0 \end{pmatrix}</math>}} We have replaced the last diagonal zero with -1. This column is our solution vector. Thus, our first (and as we will see later, our only) solution vector is <math>(-1, 2, -1)^T </math>. The support vector is the vector b, that is, the rightmost column. So the support vector is <math> (1, 0, 0) </math>. This gives us the solution space: {{Math|<math>\mathit{L} := \{ (1,0,0) + t(1,-2,1) | t \in \mathbb{R} \} </math>}} }} ==Linear systems and linear maps== As the name suggests, there is an important connection between linear systems of equations and linear maps. For example, let's look at the following linear system {{Math|<math>\begin{align} &\text{(I)} &3v-w&=4\\ &\text{(II)} &2v&=2 \end{align}</math>}} We can combine these two equations into one equation by using the vector notation. The left-hand side is a vector of variables <math>v, w</math>, the right-hand side is a constant vector. We can thus write the columns of the system of equations as vectors and obtain {{Math|<math> \begin{pmatrix} 3v - w \\2v \end{pmatrix} = \begin{pmatrix} 4 \\2 \end{pmatrix}</math>}} The left-hand side depends on the variables <math>v</math> and <math>w</math>. These can be described by a function {{Math|<math>f\colon \R^2\to\R^2,\quad f\begin{pmatrix}v\\w\end{pmatrix}:=\begin{pmatrix}3v-w\\2v\end{pmatrix}</math>}} This gives us the equation {{Math|<math>f\begin{pmatrix}v\\w\end{pmatrix} = \begin{pmatrix}3v-w\\2v\end{pmatrix} = \begin{pmatrix} 4 \\2 \end{pmatrix}</math>}} In particular, <math>f</math> is a linear map. {{:Math for Non-Geeks/Template:Aufgabe |titel=Linear map |aufgabe=Show that <math>f\colon \R^2 \to \R^2; f\begin{pmatrix}v\\w\end{pmatrix} = \begin{pmatrix}3v-w\\2v\end{pmatrix}</math> is a linear map. |lösung= With <math>\R^2</math>, the original and target space of the map <math>f</math> are both vector spaces. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Proof of additivity |beweisschritt= For all <math>\begin{pmatrix}v_1\\w_1\end{pmatrix},\begin{pmatrix}v_2\\w_2\end{pmatrix}\in\R^2</math> we have {{Math|<math>\begin{align} f\left(\begin{pmatrix}v_1\\w_1\end{pmatrix}+\begin{pmatrix}v_2\\w_2\end{pmatrix}\right) &=f\left(\begin{pmatrix}v_1+v_2\\w_1+w_2\end{pmatrix}\right) \\[0.3em] &=\begin{pmatrix}3(v_1+v_2)-(w_1+w_2)\\2(v_1+v_2)\end{pmatrix}\\[0.3em] &=\begin{pmatrix}3v_1-w_1\\2v_1\end{pmatrix}+\begin{pmatrix}3v_2-w_2\\2v_2\end{pmatrix} \\[0.3em] &=f\begin{pmatrix}v_1\\w_1\end{pmatrix}+f\begin{pmatrix}v_2\\w_2\end{pmatrix}\end{align}</math>}} This proves additivity of <math>f</math>.}} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Proof of homogeneity |beweisschritt= For all <math>\begin{pmatrix}v\\w\end{pmatrix}\in\R^2,\lambda\in\R</math> we have {{Math|<math>\begin{align} f\left(\lambda\cdot\begin{pmatrix}v\\w\end{pmatrix}\right) &= f\begin{pmatrix}\lambda v\\\lambda w\end{pmatrix}\\[0.3em] &=\begin{pmatrix}3\lambda v-\lambda w\\2\rho v\end{pmatrix}\\[0.3em] &=\lambda\cdot\begin{pmatrix}3v-w\\2v\end{pmatrix}\\[0.3em] &=\lambda\cdot f\begin{pmatrix}v\\w\end{pmatrix} \end{align}</math>}} }} This shows the homogeneity of <math>f</math> and we have thus proven that this map is linear (i.e., a homeomorphism). }} We have rewritten the above system of equations into an equation for a linear map that results in a constant vector. In other words, the search for a solution to the above system of equations is the same as the search for an image of the right-hand side under <math>f</math>. In fact, we obtain the coefficient matrix of the above system of equations as the representation matrix of <math>f</math> with respect to the basis <math>(1,0)^T, (0,1)^T</math>. More generally, for a linear system with <math>m</math> equations and <math>n</math> variables over a field <math>K</math>, we find a corresponding linear map <math>f\colon K^n \to K^m</math> as follows: Let <math>A\in K^{m\times n}</math> be the coefficient matrix and <math>b\in K^m</math> the right-hand side of the linear system. Then we set <math>f(x) := Ax</math>. This function is linear and agrees with the above construction. Then the search for a solution to the system of equations corresponds to the search for a preimage of <math>b</math> under <math>f</math>, that is, an <math>x</math> satisfying <math>f(x)=b</math>. {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 3t0g2149vc8vo0pwxrzi7ad0s6g03ln Math for Non-Geeks/Vector space structure on matrices 0 473515 4635313 4630505 2026-05-11T17:31:36Z Sascha Lill 95 3167325 adjust equation format 4635313 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} == Derivation == Let <math>m,n\in\N</math> and let <math>V</math> be an <math>n</math>-dimensional and <math>W</math> an <math>m</math>-dimensional <math>K</math>-vector space. We have already seen that, after choosing ordered bases, we can represent linear maps from <math>V</math> to <math>W</math> as [[Math for Non-Geeks/Matrix of a linear map|matrices]]. So let <math>B</math> be an ordered basis of <math>V</math> and <math>C</math> be an ordered basis of <math>W</math>. The space <math>\operatorname{Hom}_K(V,W)</math> of linear maps from <math>V</math> to <math>W</math> is also a <math>K</math>-vector space. The representing matrix of a linear map <math>f\in \operatorname{Hom}_K(V,W)</math> with respect to the bases <math>B</math> and <math>C</math> is an <math>(m\times n)</math>-matrix <math>M^B_C(f)\in K^{m\times n}</math>. We will try now transfer the vector space structure of <math>\operatorname{Hom}_K(V,W)</math> to the space <math>K^{m\times n}</math> of <math>(m\times n)</math>-matrices over <math>K</math>. So we ask the question: Can we find addition and scalar multiplication on <math>K^{m\times n}</math>, such that <math>M^B_C(f+g) = M^B_C(f)+M^B_C(g)</math> and <math>M^B_C(\lambda f) = \lambda M^B_C(f)</math> for all linear maps <math>f,g\colon V \to W</math> and all <math>\lambda \in K</math>? On <math>K^{m\times n}</math>, is there perhaps even ''a'' vector space structure, such that for ''all'' finite dimensional vector spaces <math>V</math> and <math>W</math> and ''all'' ordered bases <math>B</math> of <math>V</math> and <math>C</math> of <math>W</math>, the mapping <math>\operatorname{Hom}_K(V,W) \to K^{m\times n}; f \mapsto M^B_C(f)</math> is linear? It is best to think about these questions yourself. There is an exercise for [[Math for Non-Geeks/Exercises: Matrices#Aufgabe:Herleitung Matrizenaddition|matrix addition]] and one for [[Math for Non-Geeks/Exercises: Matrices#Aufgabe:Herleitung Skalarmultiplikation|scalar multiplication]] that can help you with this. A first step is to answer this question is the following theorem: {{:Math for Non-Geeks/Template:Satz |titel=Bijective maps induce vector space structures |satz=Let <math>V</math> be a vector space with addition <math>+</math> and scalar multiplication <math>\cdot</math> and <math>W</math> be a set. Let <math>f:V \to W</math> be a bijective mapping. Then there exists exactly one vector space structure <math>(\oplus, \odot)</math>, on <math>W</math>, such that <math>f</math> is linear. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Existence |beweisschritt= For <math>w, w' \in W</math> and <math>\lambda \in K</math> we define <math>w\oplus w' := f(f^{-1}(w)+f^{-1}(w'))</math>, <math> \lambda \odot w := f(\lambda \cdot f^{-1}(w))</math>. <math>W</math> is closed under these operations, since <math>f</math> always returns us to <math>W</math>. That <math>W</math> forms a vector space with these operations follows directly from the vector space structure of <math>V</math>. One can view <math>f</math> simply as a renaming of the elements of <math>V</math>. For example, commutativity of the addition on <math>W</math> follows from commutativity of the addition on <math>V</math> as follows: <math>w\oplus w'=f(f^{-1}(w)+f^{-1}(w'))=f(f^{-1}(w')+f^{-1}(w)) = w'\oplus w</math>. Associativity of the addition on <math>W</math> also follows from associativity of the addition on <math>V</math>: {{Math|<math>\begin{align} &w_1\oplus(w_2\oplus w_3)\\ & \ { \color{OliveGreen} \downarrow \text{definition of addition on } {W} }\\ &=f(f^{-1}(w_1)+f^{-1}(w_2\oplus w_3))\\ & \ { \color{OliveGreen} \downarrow \text{definition of addition on } {W} }\\ &=f(f^{-1}(w_1)+f^{-1}(f(f^{-1}(w_2)+f^{-1}(w_3))))\\ & \ { \color{OliveGreen} \downarrow {f^{-1} \circ f} \text{ is the identity} }\\ &= f(f^{-1}(w_1)+(f^{-1}(w_2)+f^{-1}(w_3)))\\ & \ { \color{OliveGreen} \downarrow \text{associativity of the addition on } {V} }\\ &= f((f^{-1}(w_1)+f^{-1}(w_2))+f^{-1}(w_3))\\ & \ { \color{OliveGreen} \downarrow {f^{-1} \circ f} \text{ is the identity} }\\ &=f(f^{-1}(f((f^{-1}(w_1)+f^{-1}(w_2))+f^{-1}(w_3))))\\ & \ { \color{OliveGreen} \downarrow \text{definition of addition on } {W} }\\ &=f(f^{-1}(w_1\oplus w_2)+f^{-1}(w_3))\\ & \ { \color{OliveGreen} \downarrow \text{definition of addition on } {W} }\\ &=(w_1\oplus w_2)\oplus w_3. \end{align}</math>}} The establishment of the other vector space axioms work analogously. Thus, we have found a vector space structure on <math>W</math>. Let us now show that <math>f</math> is linear with respect to <math>(\oplus , \odot)</math>. Since <math>f</math> is bijective, it suffices to show that the inverse map with respect to <math>f</math> is linear (see [[Math for Non-Geeks/Isomorphisms#Satz:Umkehrabbildung linearer Abbildung ist linear|isomorphism]] ). We have <math>f^{-1}(w\oplus w') = f^{-1}(f(f^{-1}(w) + f^{-1}(w'))) =f^{-1}(w) + f^{-1}(w')</math> and <math>f^{-1}(\lambda \odot w) = f^{1}(f(\lambda \cdot f^{-1}(w')))=\lambda \cdot f^{-1}(w')</math>. Thus <math>f^{-1}: (W,\oplus,\odot)\to (V,+,\cdot)</math> is linear and hence <math>f:(V,+,\cdot)\to(W,\oplus,\odot)</math> is also linear. {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Uniqueness |beweisschritt= Uniqueness: Suppose we have a vector space structure <math>(\oplus,\odot)</math> such that <math>f: (V,+,\cdot) \to (W,\oplus,\odot)</math> is linear. Then <math>f^{-1}:(W,\oplus,\odot)\to(V,+,\cdot)</math> is the inverse function of a bijective linear function and hence also linear. Therefore we have that <math>w\oplus w' = f(f^{-1}(w\oplus w')) =f(f^{-1}(w)+ f^{-1}(w'))</math>, <math>\lambda \odot w = f(f^{-1}(\lambda \odot w)) = f(\lambda \cdot f^{-1}(w))</math>. That is, any vector space structure on <math>W</math> with respect to which <math>f</math> is linear must be our previously defined vector space structure. }} }} }} {{Anchor|Herleitung Vektorraumstruktur}} We would now like to explicitly determine the vector space structure of <math>K^{m\times n}</math>. Let <math>B = \{v_1, \dots, v_n\}</math> be a basis of <math>V</math>, and <math>C=\{w_1, \dots, w_m\}</math> a basis of <math>W</math>. We define the addition induced by <math>M^B_C</math> on the space of matrices as in the last theorem: <math>A + A' = M^B_C((M^B_C)^{-1}(A) +(M^B_C)^{-1}(A'))</math>. Now let <math>A = (a_{ij}), A' = (a'_{ij}) \in K^{m\times n}</math> be arbitrary and <math>f, g : V \to W</math> be the linear maps associated with <math>A</math> and <math>A'</math> with <math>M^B_C(f) = A, M^B_C(g) = A'</math>. Then {{Math|<math>(b_{ij}) = A + A' = M^B_C((M^B_C)^{-1}(A) +(M^B_C)^{-1}(A'))= M^B_C(f + g). </math>}} We now calculate this <math>b_{ij}</math>: In the <math>j</math>-th column, <math>(f+g)(v_j) = \sum_{i=1}^m b_{ij}w_i</math> must hold. However, by definition of <math>f+g</math>, {{Math|<math>(f+g)(v_j) = f(v_j) + g(v_j) = \sum_{i=1}^ma_{ij}w_i + \sum_{i=1}^m a'_{ij}w_i = \sum_{i=1}^m(a_{ij} + a'_{ij})w_j.</math>}} Since the representation of <math>f(v_j)</math> is unique with respect to <math>C</math>, it follows that <math>b_{ij} = a_{ij} + a'_{ij}</math>. That is, the addition induced by <math>M^B_C</math> on <math>K^{m\times n}</math> is a component-wise addition. Let us now examine the scalar multiplication <math> \lambda \cdot A = M^B_C(\lambda (M^B_C)^{-1}(A))</math> induced by <math>M^B_C</math>. Let again <math>f=(M^B_C)^{-1}(A)</math> and consider <math>(a'_{ij})=A'=\lambda\cdot A</math>. We have that {{Math|<math>(\lambda\cdot f)(v_j)=\sum_{i=1}^m a'_{ij}w_i.</math>}} Furthermore, we have {{Math|<math>\lambda f(v_j)=\lambda \sum_{i=1}^m a_{ij} w_i=\sum_{i=1}^m \lambda a_{ij} w_i.</math>}} Since <math> (\lambda\cdot f)(v_j)=\lambda f(v_j)</math> we obtain {{Math|<math>\sum_{i=1}^m a'_{ij}w_i=\sum_{i=1}^m \lambda a_{ij} w_i.</math>}} Thus, from the uniqueness of the representation it follows that <math>a'_{ij}=\lambda a_{ij}</math>. We see, the scalar multiplication induced from <math>\operatorname{Hom}_K(V,W)</math> by <math>M^B_C</math> on <math>K^{m\times n}</math> is the component-wise scalar multiplication. We also see here that the induced vector space structure is independent of our choice of <math>V, W, B</math> and <math>C</math>. == Definition == We have just seen: To define a meaningful vector space structure on the matrices, we need to perform the operations component-wise. So we define addition and scalar multiplication as follows: {{:Math for Non-Geeks/Template:Definition |titel=Addition of matrices |definition=Let <math>K</math> be a field and let <math>A = (a_{ij})_{i=1,...,m;\, j=1,...,n}</math> and <math>B = (b_{ij})_{i=1,...,m;\, j=1,...,n}</math> be matrices of the same type <math>(m \times n)</math> over <math>K</math>. Then {{Math|<math>A + B := (a_{ij}+b_{ij})_{i=1,...,m;\, j=1,...,n}</math>}} }} Written out explicitly in terms of matrices, this definition looks as follows: {{Math|<math>A + B = \begin{pmatrix} a_{11} & \ldots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \ldots & a_{mn} \end{pmatrix} + \begin{pmatrix} b_{11} & \ldots & b_{1n} \\ \vdots & \ddots & \vdots \\ b_{m1} & \ldots & b_{mn} \end{pmatrix} = \begin{pmatrix} a_{11} +b_{11} & \ldots & a_{1n}+b_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1}+b_{m1} & \ldots & a_{mn}+b_{mn} \end{pmatrix}</math>}} {{:Math for Non-Geeks/Template:Definition |titel=Scalar multiplication of matrices |definition=Let <math>K</math>be a field and let <math>A = (a_{ij})</math> be a matrix over <math>K</math>. Then, for <math>\lambda\in K</math> we have {{Math|<math>\lambda \cdot A = \lambda \cdot (a_{ij}) := (\lambda a_{ij})</math>}} }} Written out explicitly in terms of matrices, this definition looks as follows: {{Math|<math>\lambda \cdot A = \lambda \cdot \begin{pmatrix} a_{11} & \ldots & a_{1n} \\ \vdots & \ddots & \vdots \\ a_{m1} & \ldots & a_{mn} \end{pmatrix} = \begin{pmatrix} \lambda a_{11} & \ldots & \lambda a_{1n} \\ \vdots & \ddots & \vdots \\ \lambda a_{m1} & \ldots & \lambda a_{mn} \end{pmatrix}</math>}} {{:Math for Non-Geeks/Template:Beispiel |titel=Addition of matrices |beispiel= We are in <math>\R^{2\times 3}</math>. {{Math|<math>\begin{pmatrix}2&4&6\\1&3&5\end{pmatrix}+\begin{pmatrix}-1&2&-2\\3&2&1\end{pmatrix}=\begin{pmatrix}2+(-1)&4+2&6+(-2)\\1+3&3+2&5+1\end{pmatrix}=\begin{pmatrix}1&6&4\\4&5&6\end{pmatrix}</math>}}}} {{:Math for Non-Geeks/Template:Beispiel |titel=Multiplication by a field element |beispiel=As an example we take the matrix <math>\begin{pmatrix}1&-2&0\\2&-3&-1\end{pmatrix} \in \R^{2\times 3}</math> and as field element the real number <math>(-3)</math>. Then {{Math|<math>(-3)\cdot \begin{pmatrix}1&-2&0\\2&-3&-1\end{pmatrix} = \begin{pmatrix}(-3)\cdot 1&(-3)\cdot (-2)&(-3)\cdot 0\\(-3)\cdot 2&(-3)\cdot (-3)&(-3)\cdot (-1)\end{pmatrix} = \begin{pmatrix}-3&6&0\\-6&9&3\end{pmatrix}</math>}}}} {{:Math for Non-Geeks/Template:Satz |titel=Matrices form a vector space |satz=The set of <math>(m\times n)</math>-matrices <math>K^{m\times n}</math> forms a <math>K</math>-vector space with the addition and scalar multiplication defined above. The neutral element of addition of this vector space is the zero matrix <math>(0)\in K^{m\times n}</math> and the additive inverse of a matrix <math>A=(a_{ij})\in K^{m\times n}</math> is <math>-A:=(-a_{ij})</math>. |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Component-wise addition and scalar multiplication form a vector space structure on <math>K^{m\times n}</math> |beweisschritt=Let <math>B</math> be a basis of <math>K^n</math> and <math>C</math> a basis of <math>K^m</math>. For example, we can choose the standard bases. Using the [[#Satz:Bijektive Abbildungen induzieren Vektorraumstrukturen|above theorem]], we see that the bijective mapping <math>M_C^B:\operatorname{Hom}_K(K^n,K^m)\to K^{m\times n}</math> induces a vector space structure on the space of matrices. We have already considered at the [[#Anchor:Herleitung Vektorraumstruktur|end of the derivation]] that in this vector space structure is given by component-wise addition and scalar multiplication. So, component-wise addition and scalar multiplication generate a vector space structure on <math>K^{m\times n}</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>(0)\in K^{m\times n}</math> is the neutral element of the addition |beweisschritt=We need to show that <math>A+(0)=A</math> holds for any matrix <math>A\in K^{m\times n}</math>. So let <math>A=(a_{ij})\in K^{m\times n}</math> be arbitrary. By definition of addition of matrices, <math>(a_{ij})+(0)=(a_{ij}+0)=(a_{ij})</math> holds, where we have exploited that <math>0\in K</math> is the neutral element of addition in <math>K</math>. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=Every matrix <math>A=(a_{ij})\in K^{m\times n}</math> has additive inverse <math>-A:=(-a_{ij})</math> |beweisschritt=We have to show that <math>A+(-A)=(0)</math> holds for any matrix <math>A\in K^{m\times n}</math>. So let <math>A=(a_{ij})\in K^{m\times n}</math> be arbitrary. Then by definition of <math>-A=(-a_{ij})</math> and by the definition of addition of matrices, we have <math>A+(-A)=(a_{ij})+(-a_{ij})=(a_{ij}-a_{ij})=(0)</math>. In the last equality we used that <math>-a_{ij}</math> is the additive inverse of <math>a_{ij}</math> in <math>K</math>. }} }} If we consider matrices just as tables of numbers (without considering them as mapping matrices), we see the following: Matrices are nothing more than a special way of writing elements of <math>K^{m\cdot n}</math>, since matrices have <math>m\cdot n</math> entries. Just as in <math>K^{m\cdot n}</math>, the vector space structure for matrices is defined component-wise. So we get alternatively the following significantly shorter proof: {{:Math for Non-Geeks/Template:Alternativer Beweis |titel=Matrices form a vector space |beweis= We can simply use the proof that [[Math for Non-Geeks/Coordinate spaces#Satz:Kn ist ein Vektorraum|coordinate spaces]] are vector spaces, since <math>K^{m \times n}</math> is a certain coordinate space. As an example, we show the associativity of addition: If <math>A=(a_{ij}),B=(b_{ij}),C=(c_{ij})</math> are three <math>(n\times m)</math>-matrices, then <math>(A + B)+C= ((a_{ij}+b_{ij})+c_{ij})=(a_{ij}+(b_{ij}+c_{ij}))=A+(B+C)</math>. In the second step we used associativity in the field <math>K</math>. }} == Dimension of <math>K^{m\times n}</math> == By the above identification of <math>K^{m\times n}</math> with <math>K^{m\cdot n}</math> we obtain a canonical basis of <math>K^{m\times n}</math>: Let <math> B_{ij} </math> be for <math> i \in \{1, ... ,m\}, j \in \{1, ... , n\} </math> the matrix <math>B_{ij} = (b_{kl})</math> with {{Math|<math>b_{kl} = \begin{cases} 1 & \text{if } k = i\text{ and } l = j\\ 0 & \text{else.} \end{cases}</math>}} {{:Math for Non-Geeks/Template:Beispiel |beispiel=In <math>K^{2\times 3}</math>, the basis elements are given by {{Math|<math>\begin{align}B_{11} = \begin{pmatrix}1&0&0\\0&0&0\end{pmatrix},\quad B_{12} = \begin{pmatrix}0&1&0\\0&0&0\end{pmatrix},\quad B_{13} = \begin{pmatrix}0&0&1\\0&0&0\end{pmatrix},\\ B_{21} = \begin{pmatrix}0&0&0\\1&0&0\end{pmatrix},\quad B_{22}=\begin{pmatrix}0&0&0\\0&1&0\end{pmatrix},\quad B_{23} =\begin{pmatrix}0&0&0\\0&0&1\end{pmatrix}\end{align}</math>}} }} Thus, <math>K^{m\times n}</math> is a <math>(m\cdot n)</math>-dimensional <math>K</math>-vector space. We constructed the vector space structure on <math>K^{m\cdot n}</math> such that for <math>n</math>- and <math>m</math>-dimensional vector spaces <math>V</math> and <math>W</math> with bases <math>B</math> and <math>C</math>, respectively, we have that the map {{Math|<math>M^B_C: \operatorname{Hom}_K(V,W)\to K^{m\times n},\quad f\mapsto M^B_C(f)</math>}} is a linear isomorphism. So <math>\operatorname{Hom}_K(V,W)</math> is a <math>(m\cdot n)</math>-dimensional <math>K</math>-vector space. This result can also be found in the article [[Math for Non-Geeks/Vector space of a linear map|vector space of a linear map]]. {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 2j9jok0vj0q45afkvc0vk4lpbnd3yhw Math for Non-Geeks/Matrix multiplication 0 473516 4635316 4630506 2026-05-11T17:34:26Z Sascha Lill 95 3167325 adjust equation format 4635316 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} In this article, you learn how to multiply matrices. We will see that matrix multiplication is equivalent to the composition of linear maps. We will also prove some properties of the matrix multiplication. == Introduction == === How can we multiply matrices? === In the article on [[Math for Non-Geeks/Matrix of a linear map|matrices of linear maps]], we learned how we can use matrices to describe linear maps <math>f\colon V\to W</math> between finite-dimensional vector spaces <math>V</math> and <math>W</math>. This requires fixing a basis <math>B</math> of <math>V</math> and a basis <math>C</math> of <math>W</math>, with respect to which we can define the mapping matrix <math>M^B_C(f)</math>. In a plane of coordinates, this matrix describes what the linear mapping <math>f</math> does with a vector <math>v\in V</math>: {{Math|<math>M^B_C(f)\cdot k_B(v)=k_C(f(v))</math>}} where <math>k_B\colon V\to K^n</math> is the ''coordinate mapping'' with respect to <math>B</math>, which maps a vector <math>v=\lambda_1\cdot b_1+\ldots+\lambda_n\cdot b_n</math> to the coordinate vector <math>(\lambda_1,\ldots,\lambda_n)^T</math> with respect to <math>B</math>. Similarly, <math>k_C\colon W\to K^m</math> is the coordinate mapping with respect to <math>C</math>. We can concatenate linear maps <math>f\colon V\to W</math> and <math>g\colon W\to X</math> by executing them one after the other, which results in a linear map <math>g\circ f \colon V\to X</math>. Can we define a suitable "concatenation" of matrices? By suitable, we mean that the "concatenation" of the matrices corresponding to <math>f</math> and <math>g</math> should become the matrix of the map <math>g\circ f</math>. We will call this "concatenation" of the matrices also the ''matrix product'' since it will turn out to behave almost like a product of numbers. For example, let's consider two matrices <math>A\in K^{m\times l}</math> and <math>B\in K^{p\times n}</math> with the corresponding linear mas {{Math|<math>f_A\colon K^l\to K^m,\quad x\mapsto Ax</math>}} and {{Math|<math>f_B\colon K^p\to K^n,\quad x\mapsto Bx</math>}} given by [[Math for Non-Geeks/Introduction: Matrices#Definition:Def-Matrix-Vektor-Multiplikation|matrix-vector-multiplication]]. Then <math>A</math> is the matrix of <math>f_A</math> (with respect to the standard bases in <math>K^l</math> and <math>K^m</math>), and <math>B</math> is the matrix of <math>f_B</math> (with respect to the standard bases in <math>K^p</math> and <math>K^n</math>). The product <math>A\cdot B</math> of <math>A</math> and <math>B</math> should then be the matrix of <math>f_A\circ f_B</math>. However, in order to be able to execute the maps <math>f_A</math> and <math>f_B</math> one after the other, the target space of <math>f_B</math> must be equal to the space on which <math>f_A</math> is defined. This means that <math>K^p=K^l</math>, i.e. <math>p=l</math>. Therefore, the number of columns of <math>A</math> must be equal to the number of rows of <math>B</math>, otherwise we cannot define the product matrix <math>A\cdot B</math>. === Computing the product matrix === What is the product <math>A\cdot B</math> of <math>A</math> and <math>B</math> corresponding to the map <math>f_A\circ f_B\colon K^n\to K^m</math>? To compute it, we need to calculate the images of the standard basis vectors <math>e_1,\ldots,e_n\in K^n</math> under the map <math>f_A\circ f_B</math>. They will form the columns of the matrix of <math>f_A\circ f_B</math>, that is, the matrix <math>A\cdot B</math>. We denote the entries of <math>A</math> by <math>a_{ij}</math> and those of <math>B</math> by <math>b_{ij}</math>, i.e. <math>A=(a_{ij})\in K^{m\times p}</math> and <math>B=(b_{ij})\in K^{p\times n}</math>. We also denote the desired matrix of <math>f_A\circ f_B</math> by <math>A\cdot B=C=(c_{ij})\in K^{m\times n}</math>. For <math>i\in\{1,\ldots,m\}</math> and <math>j\in\{1,\ldots, n\}</math>, the entry <math>c_{ij}</math> is given by the definition of the matrix representing <math>f_A\circ f_B</math> by the <math>i</math>-th entry of the vector <math>f_A(f_B(e_j))\in K^m</math>. We can easily calculate it using the definition of <math>f_A</math> and <math>f_B</math> using the definition of [[Math for Non-Geeks/Introduction: Matrices#Definition:Def-Matrix-Vektor-Multiplikation|matrix-vector-multiplication]]: {{Math|<math>\begin{align} c_{ij}=&(f_A(f_B(e_j)))_i \\[0.3em] =&(A\cdot(f_B(e_j)))_i\\[0.3em] & {\color{OliveGreen}\left\downarrow\ \text{definition of matrix-vector-multiplication for } A \right.} \\[0.3em] = &\sum_{k=1}^n a_{ik}(f_B(e_j))_k\\[0.3em] = &\sum_{k=1}^n a_{ik}(B\cdot e_j)_k\\[0.3em] & {\color{OliveGreen}\left\downarrow\ (B\cdot e_j)_k=b_{kj} \right.} \\[0.3em] = &\sum_{k=1}^n a_{ik}b_{kj} \end{align}</math>}} This defines all entries of the matrix <math>C</math> and we conclude {{Math|<math>C=(\sum_{k=1}^n a_{ik}b_{kj})_{i,j}\in K^{m\times n}.</math>}} This is exactly the ''product'' <math>C=A\cdot B</math> of the two matrices <math>A</math> and <math>B</math>. == Definition and rule of thumb == Mathematically, we can also understand matrix multiplication as an [[Math for Non-Geeks/operation|operation]] (just as the multiplication of real numbers). {{:Math for Non-Geeks/Template:Definition |titel=Matrix multiplication |definition=The matrix multiplication is an operation {{Math|<math>\cdot \, \colon K^{m\times p} \times K^{p\times n} \to K^{m\times n}</math>.}} It sends two matrices <math>A=(a_{ij}) \in K^{m\times p}</math> and <math>B=(b_{ij}) \in K^{p\times n}</math> to the matrix <math>A\cdot B=C=(c_{ij}) \in K^{m\times n}</math>, given by {{Math|<math>c_{ij} = \sum_{k=1}^p a_{ik}b_{kj}</math>}} for <math>i\in\{1,\ldots,m\}</math> and <math>j\in\{1,\ldots,n\}</math>. }} However, there is an important difference to the multiplication of real numbers: With matrices, we have to make sure that the dimensions of the matrices we want to multiply match. {{:Math for Non-Geeks/Template:Hinweis |The two matrices do ''not'' have to be of the ''same'' size, but the number of columns of the matrix <math>A</math> must be equal to the number of rows of the matrix <math>B</math>. The result then has the number of rows of the left-hand matrix <math>A</math> and the number of columns of the right-hand matrix <math>B</math>. This means that two matrices <math>A \in K^{m\times l}; \, B \in K^{p\times n}</math> can only be multiplied if <math> l = p </math>. }} {{:Math for Non-Geeks/Template:Warnung |The two matrices <math>A \in K^{m\times l}; \, B \in K^{p\times n}</math> with <math> l \neq p </math> can '''never''' be multiplied. }} [[File:Matrix multiplication qtl2.svg|thumb|300px|To calculate the matrix product, we use the scheme "row times column".]] '''Rule of thumb: row times column''' According to the definition, each entry in the product <math>A\cdot B</math> is the sum of the component-wise multiplication of the elements of the <math>i</math>-th row of <math>A</math> with the <math>k</math>-th column of <math>B</math>. This procedure can be remembered as ''row times column'', as shown in the figure on the right. == Concrete example == === Example 1 === We consider the following two matrices <math>A\in \R^{2\times 3}</math> and <math>B\in\R^{3\times 4}</math>: {{Math|<math>\begin{align} A= \begin{pmatrix} 2&0&-1\\ 0&1&3 \end{pmatrix} \text{ and}\\[0.5em] B=\begin{pmatrix} 1&0&-1&0\\ 1&3&-2&-1\\ 0&0&1&2 \end{pmatrix} \end{align}</math>}} We are looking for the matrix product <math>C=A\cdot B\in\R^{2\times 4}</math>. This matrix has the form {{Math|<math> C=\begin{pmatrix} c_{11}&c_{12}&c_{13}&c_{14}\\ c_{21}&c_{22}&c_{23}&c_{24} \end{pmatrix}</math>}} We have to calculate the individual entries <math>c_{ik}</math>. We will do this here in detail for the entry <math>c_{23}</math>. The calculation of the other entries works analogously. According to the formula {{Math|<math>\begin{align} c_{23}=&\sum_{j=1}^3a_{2j}b_{j3}\\ =&a_{21}b_{13}+a_{22}b_{23}+a_{23}b_{33}\\ & {\color{OliveGreen}\left\downarrow \text{ reading off entries of } A \text{ and } B \right.}\\ =&0\cdot (-1)+1\cdot (-2)+3\cdot 1 \\ =&1 \end{align}</math>}} This calculation can also be seen as the "multiplication" of the 2nd row of <math>A</math> with the 3rd column of <math>B</math>. To illustrate this, we mark the entries from the sum in the matrices. We have the sum {{Math|<math>c_{23}={\color{Orange} 0}\cdot {\color{RoyalBlue}(-1)}+{\color{Orange}1}\cdot {\color{RoyalBlue}(-2)}+{\color{Orange}3}\cdot {\color{RoyalBlue}1} </math>}} These are the following entries in the matrices: {{Math|<math>\begin{align} A= \begin{pmatrix} 2&0&-1\\ {\color{Orange}0}&{\color{Orange}1}&{\color{Orange}3} \end{pmatrix} \text{ and } B=\begin{pmatrix} 1&0&{\color{RoyalBlue}-1}&0\\ 1&3&{\color{RoyalBlue}-2}&-1\\ 0&0&{\color{RoyalBlue}1}&2 \end{pmatrix} \end{align}</math>}} In this way, we can also determine the other entries of <math>C</math> and obtain {{Math|<math> C=\begin{pmatrix} 2&0&-3&-2\\ 1&3&1&5 \end{pmatrix}</math>}} === Example 2 === We consider the following matrices <math>A\in \R^{1\times 3}</math> and <math>B\in\R^{3\times 1}</math>: {{Math|<math> A=\begin{pmatrix} 5&2&-1 \end{pmatrix}\text{ and } B=\begin{pmatrix} 1\\ 0\\ 4 \end{pmatrix} </math>}} In this case, we can calculate both <math>A\cdot B</math> and <math>B\cdot A</math>. Let <math>C:=A\cdot B</math>. Then <math>C</math> is a <math>1\times 1</math>-matrix <math>C=(c_{11})</math>. We calculate its only entry: {{Math|<math>\begin{align} c_{11}=5\cdot 1+2\cdot 0+(-1)\cdot 4=1 \end{align}</math>}} Thus, <math>A\cdot B=(1)</math>. Let <math>D:=B\cdot A</math>. Then <math>D</math> is a <math>3\times 3</math>-matrix. We can calculate the entries of <math>D</math> by the scheme "row times column". For example, the first entry of <math>D</math> is the first row of <math>B</math> times the first column of <math>A</math>, i.e. <math>1\cdot 5=5</math>. If we do this with each entry, we get {{Math|<math> B\cdot A=D=\begin{pmatrix} 5&2&-1\\ 0&0&0\\ 20&8&-4 \end{pmatrix} </math>}} === Example 3 === In this example, we want to illustrate that the matrix multiplication really corresponds to "concatenating two matrices". That means, if we have two matrices <math>A</math> and <math>B</math> that we apply to a vector <math>v</math>, then we always have <math>(A\cdot B)v=A(Bv)</math>. As an example, let <math>A\in \C^{2\times 2}</math> and <math>B\in \C^{2\times 3}</math> be the following matrices with entries in <math>\C</math>: {{Math|<math> A=\begin{pmatrix} 2\mathrm i&0\\ -1&2 \end{pmatrix} \text{ and } B=\begin{pmatrix} 1&1-2\mathrm i&-1\\1+\mathrm i&2-\mathrm i&0 \end{pmatrix}</math>}} Let further <math>v=(2,0,1)^T</math>. We check that <math>(A\cdot B)v=A(Bv)</math>. To do so, we first calculate the matrix product <math>A\cdot B</math>: {{Math|<math> A\cdot B =\begin{pmatrix} 2\mathrm i&4+2\mathrm i&-2\mathrm i\\ 1+2\mathrm i&3&1 \end{pmatrix} </math>}} Now we multiply this matrix with <math>v</math>: {{Math|<math> (A\cdot B)v=\begin{pmatrix} 2\mathrm i&4+2\mathrm i&-2\mathrm i\\ 1+2\mathrm i&3&1 \end{pmatrix} \begin{pmatrix}2\\0\\1\end{pmatrix}=\begin{pmatrix}2\mathrm i\\ 3+4\mathrm i\end{pmatrix} </math>}} Next, we compute <math>A(Bv)</math>. {{Math|<math> Bv=B=\begin{pmatrix} 1&1-2\mathrm i&-1\\1+\mathrm i&2-\mathrm i&0 \end{pmatrix}\begin{pmatrix}2\\0\\1\end{pmatrix}=\begin{pmatrix}1\\ 2+2\mathrm i\end{pmatrix} </math>}} We now apply <math>A</math> to this vector: {{Math|<math> A(Bv)=\begin{pmatrix} 2\mathrm i&0\\ -1&2 \end{pmatrix}\begin{pmatrix}1\\ 2+2\mathrm i\end{pmatrix}=\begin{pmatrix}2\mathrm i\\ 3+4\mathrm i\end{pmatrix} </math>}} Indeed, here we have <math>(A\cdot B)v=A(Bv)</math>. == Properties of matrix multiplication == We now collect a few properties of the matrix multiplication. === Shortening rule for matrices representing linear maps === The following theorem shows that matrix multiplication actually reflects the composition of linear mappings. {{:Math for Non-Geeks/Template:Satz |titel=Shortening rule for matrices representing linear maps |satz= Let <math>f\colon V\to W</math> and <math>g\colon W\to X</math> be linear maps between finite-dimensional vector spaces. Furthermore, let <math>B=\{v_1,\ldots,v_m\}</math> be a basis of <math>V</math>, let <math>C=\{w_1,\ldots,w_n\}</math> be a basis of <math>W</math> and <math>D=\{x_1,\ldots,x_s\}</math> a basis of <math>X</math>. Then we can "shorten the <math>C</math>": {{Math|<math>M^B_D(g\circ f)=M^C_D(g)\cdot M^B_C(f).</math>}} |beweis= We set <math>h=g\circ f</math> and <math>(h_{ij})_{ij}=M^B_D(h)\in K^{s\times m}</math>. Further, the matrices of <math>f</math> and <math>g</math> are given by <math>M^B_C(f)=(f_{ij})_{ij}\in K^{n\times m}</math> and <math>M^C_D(g)=(g_{ij})_{ij}\in K^{s\times n}</math>. By definition of the matrix of a linear map, we know that the <math>h_{ij}</math> are the unique scalars with {{Math|<math>h(v_j)=\sum_{i=1}^s h_{ij}x_i</math>}} for all <math>j\in\{1,\ldots,m\}</math>. In order to prove <math>(h_{ij})=(g_{ij})(f_{ij})</math>, we need to verify that {{Math|<math>h_{ij}=\sum_{k=1}^ng_{ik}f_{kj}</math>}} And indeed, {{Math|<math>\begin{align} h(v_j) &=\, g(f(v_j))\\[0.3em] & {\color{OliveGreen} \left\downarrow \text{definition of } M^B_C(f) \right.}\\[0.3em] &= \, g\left(\sum_{k=1}^n f_{kj}w_k\right) \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{linearity of } g \right.}\\[0.3em] &= \, \sum_{k=1}^n f_{kj}g(w_k) \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{definition of } M^C_D(g) \right.}\\[0.3em] &= \, \sum_{k=1}^nf_{kj}\sum_{i=1}^sg_{ik}x_i \\[0.3em] &= \, \sum_{i=1}^s\left(\sum_{k=1}^ng_{ik}f_{kj}\right) x_i. \end{align}</math>}} By uniqueness of the coordinates in the linear combination of <math>x_i</math>, we conclude <math>h_{ij}=\sum_{k=1}^ng_{ik}f_{kj}</math>. }} {{:Math for Non-Geeks/Template:Warnung|For the shortening rule, it is important that the same ordered basis <math>C</math> of <math>W</math> is chosen in both cases for the matrices representing <math>f</math> and <math>g</math>. If <math>M^{\tilde{C}}_D(g)</math> is taken with respect to a different basis <math>\tilde{C}\neq C</math> of <math>W</math>, then the shortening rule is no longer true: The following is in general a '''false''' statement: {{Math|<math>M^B_D(g\circ f)=M^{\tilde{C}}_D(g)\cdot M^B_C(f).</math>}} As matrices representing linear maps depend on the order of the basis vectors, the shortening rule also becomes false if <math>\tilde{C}</math> is a rearrangement of <math>C</math>. }} === Associativity of matrix multiplication === {{:Math for Non-Geeks/Template:Satz |titel=Associativity of matrix multiplication |satz=For <math>A \in K^{m\times n}, \, B \in K^{n\times l},\, C \in K^{l\times k}</math> we have {{Math|<math>(A \cdot B) \cdot C = A \cdot (B \cdot C).</math>}} |beweis= First, we check that the sizes of the matrices that we want to multiply are compatible. This is directly visible for the products <math>A\cdot B</math> and <math>B\cdot C</math>. Now <math>A\cdot B\in K^{m\times l}</math> and <math>B\cdot C\in K^{n\times k}</math>, so the products on both sides of the equation are well-defined: they are both in <math>K^{m\times k}</math>. Now we look at the individual components of the matrices to verify the equality. Let <math>A=(a_{ij}),\, B=(b_{ij}),\, C=(c_{ij})</math>. {{Math|<math>\begin{align} ((A\cdot B)\cdot C)_{ij} &=\, \sum_{s=1}^l (A\cdot B)_{is} c_{sj} =\\[0.3em] &= \, \sum_{s=1}^{l}\left(\sum_{t=1}^{n} a_{it}b_{ts}\right) c_{sj}\\[0.3em] & {\color{OliveGreen} \left\downarrow \text{by distributivity in } K \right.}\\[0.3em] &= \, \sum_{s=1}^{l}\sum_{t=1}^{n}(a_{it}b_{ts})c_{sj} \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{by associativity in } K \right.}\\[0.3em] &= \, \sum_{s=1}^{l}\sum_{t=1}^{n}a_{it}(b_{ts}c_{sj}) \\[0.3em] & {\color{OliveGreen} \left\downarrow \text{by distributivity in } K \right.}\\[0.3em] &= \, \sum_{t=1}^{l}a_{it}\left(\sum_{s=1}^{n}b_{ts}c_{sj}\right) \\[0.3em] &= \, (A\cdot (B\cdot C)) \end{align}</math>}} }} === Compatibility with scalar multiplication === {{:Math for Non-Geeks/Template:Satz |titel=Compatibility with scalar multiplication |satz= Let <math>\beta\in K,\ A = ( a_{ij} ) \in K^{m \times n}</math> and <math>B = ( b_{ij} ) \in K^{n \times p}</math>. Then: {{Math|<math>\beta \cdot (A \cdot B) = (\beta \cdot A)\cdot B = A \cdot (\beta \cdot B)</math>}} Note that "<math>\cdot</math>" refers to both scalar multiplication ("scalar times matrix") and matrix multiplication ("matrix times matrix"). |beweis= {{Math|<math>\begin{align} (\beta \cdot ( A \cdot B))_{ik} &= \, \beta \left(\sum_{j=1}^n a_{ij}b_{jk}\right) \\[0.3em] &{\color{OliveGreen} \left\downarrow\text{by distributivity in } K\right.}\\[0.3em] &= \, \sum_{j=1}^n \beta (a_{ij}b_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by associativity in } K\right.}\\[0.3em] &= \, \sum_{j=1}^n (\beta a_{ij})b_{jk} &=\, ((\beta \cdot A) \cdot B)_{ik}\\ &{\color{OliveGreen} \left\downarrow\text{by commutativity in } K \right.}\\[0.3em] &= \, \sum_{j=1}^n (a_{ij}\beta)b_{jk}\\ &{\color{OliveGreen} \left\downarrow\text{by associativity in } K\right.}\\[0.3em] &= \, \sum_{j=1}^n a_{ij}(\beta b_{jk}) &=\, (A \cdot (\beta \cdot B))_{ik}\\ \end{align}</math>}} }} === Distributivity of matrix multiplication === Here we must be careful that the sizes of the matrices are compatible. {{:Math for Non-Geeks/Template:Satz |titel=First distributive law |satz=For <math>A = (a_{ij}) \in K^{m\times n}, \, B = (b_{ij}) \in K^{m\times n}, \, C = (c_{ij}) \in K^{n\times p}</math> we have {{Math|<math>(A + B) \cdot C = A \cdot C + B \cdot C</math>}} |beweis= <math>\begin{align} ((A + B) \cdot C)_{ik} \,&= \, \sum_{j=1}^n (A+B)_{ij} c_{jk} \,= \\[0.3em] &{\color{OliveGreen} \left\downarrow\text{by definition}\right.}\\[0.3em] &=\, \sum_{j=1}^{n} (a_{ij} + b_{ij})c_{jk} \\ &{\color{OliveGreen} \left\downarrow\text{by distributivity in } K\right.}\\[0.3em] &=\, \sum_{j=1}^{n} (a_{ij}c_{jk} + b_{ij}c_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by commutativity in }K\right.}\\[0.3em] &=\, \sum_{j=1}^{n} (a_{ij}c_{jk}) + \sum_{j=1}^{n} (b_{ij}c_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by definition}\right.}\\[0.3em] &=\,(A\cdot C)_{ik} + ( B \cdot C)_{ik}\\ \end{align}</math> }} {{:Math for Non-Geeks/Template:Satz |titel=Second distributive law |satz=For <math>A = (a_{ij}) \in K^{m\times n}, \, B = (b_{ij}) \in K^{n\times p}, \, C = (c_{ij}) \in K^{n\times p}</math> we have {{Math|<math>A \cdot ( B + C) = A \cdot B + A \cdot C</math>}} |beweis= <math>\begin{align} (A \cdot(B + C))_{ik}\,&= \,\sum_{j=1}^n a_{ij}(B+C)_{jk} \,= \\[0.3em] &{\color{OliveGreen} \left\downarrow\text{by definition}\right.}\\[0.3em] &=\, \sum_{j=1}^{n} a_{ij}(b_{jk} + c_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by distributivity in }K\right.}\\[0.3em] &= \, \sum_{j=1}^{n} (a_{ij}b_{jk} + a_{ij}c_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by commutativity in }K\right.}\\[0.3em] &= \, \sum_{j=1}^{n} (a_{i}b_{jk}) + \sum_{j=1}^{n} (a_{ij}c_{jk})\\ &{\color{OliveGreen} \left\downarrow\text{by definition}\right.}\\[0.3em] &=\, (A \cdot B)_{ik} + (A \cdot C)_{ik}\\ \end{align} </math> }} === Left and right neutral element of matrix multiplication === We denote the entries of the unit matrix with <math>\delta_{ij}</math>, i.e. <math>I_m=(\delta_{ij})</math>. Then {{Math|<math>\delta_{ij}=\begin{cases}0 & \text{if }i\neq j,\\ 1 & \text{if }i=j.\end{cases}</math>}} {{:Math for Non-Geeks/Template:Satz |titel=The unit matrix is a left- and right-neutral element of the matrix multiplication |satz=Let <math>M=(m_{ij}) \in K^{m\times n}</math>. Then {{Math|<math>I_m\cdot M = M = M \cdot I_n</math>}} |beweis= {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>I_m\cdot M = M</math> |beweisschritt=We prove this equality by direct multiplication. The following holds for all <math> i \in \{1, \ldots , m\}</math> and for all <math>j\in \{1, \ldots, n\}</math>: <math>(I_m \cdot M)_{ij} = \sum_{k=1}^m \delta_{ik}\cdot m_{kj} = m_{ij} </math> For the last equality, we used the fact that <math> \delta_{ij} = 0 </math> if <math> i \neq j</math> and <math>\delta_{ii} = 1</math>. Since each entry of <math>I_m\cdot M</math> matches the entry of <math>M</math> at the same position, the two matrices are equal. }} {{:Math for Non-Geeks/Template:Beweisschritt |ziel=<math>M\cdot I_n = M</math> |beweisschritt= We proceed as in the first proof step. For all <math> i \in \{1, \ldots , m\}</math> and for all <math>j\in \{1, \ldots, n\}</math> we have: <math>(M\cdot I_n)_{ij} = \sum_{k=1}^n m_{ik}\cdot\delta_{kj} =m_{ij}</math> This proves equality of both sides. }} In other words, the unit matrix (of the correct size) is the left- or right-neutral element with respect to matrix multiplication. }} === Non-commutativity === {{:Math for Non-Geeks/Template:Beispiel |titel=Non-commutativity of <math>2\times 2</math>-matrices |beispiel= For <math>2\times 2</math> matrices, we can see that commutativity fails within the following example: On the one hand {{Math|<math>\begin{pmatrix}1 & 1\\ 0 & 1\end{pmatrix}\cdot \begin{pmatrix}0 & 0\\ 1 & 0\end{pmatrix} = \begin{pmatrix}1 & 0\\ 1 & 0\end{pmatrix}</math>}} and on the other hand {{Math|<math>\begin{pmatrix}0 & 0\\ 1 & 0\end{pmatrix}\cdot \begin{pmatrix}1 & 1\\ 0 & 1\end{pmatrix} = \begin{pmatrix}0 & 0\\ 1 & 1\end{pmatrix}</math>}} So the ''order'' of the matrix multiplication ''matters''! }} {{:Math for Non-Geeks/Template:Warnung |In general, <math>A \cdot B \neq B \cdot A</math>, so the matrix product is '''not commutative'''. The commutative law only applies in a few special cases (e.g. products of diagonal matrices). As the number of rows and columns of the matrices must match, it is even possible that one of the two products is not even defined! For example, for <math> A \in K^{4\times 3} \text{ and } B \in K^{3\times 2}</math> the product <math>A \cdot B \in K^{4\times 2}</math> is defined, but the product <math>B \cdot A</math> is not defined. }} == Further reading == {{:Math for Non-Geeks/Template:Hinweis| If we multiply two <math>n\times n</math>-matrices, the result is again an <math>n\times n</math>-matrix. We now know two inner operations on the set <math>K^{n\times n}</math>: the addition of matrices {{Math|<math>+\;\colon K^{n\times n}\to K^{n\times n},\quad (a_{ij}) + (b_{ij})=(a_{ij}+b_{ij})</math>}} and the matrix multiplication {{Math|<math>\cdot \;\colon K^{n\times n}\to K^{n\times n},\quad (a_{ij}) \cdot (b_{ij})=(\sum_{k=1}^n a_{ik}b_{kj}).</math>}} From the article on the [[Math for Non-Geeks/Vector space structure on matrices|vector space structure on matrices]], we already know that <math>(K^{n\times n},+)</math> is an Abelian group. It follows from the properties of matrix multiplication that <math>(K^{n\times n},+,\cdot)</math> is even a unital [[Math for Non-Geeks/Rings|ring]] (i.e., a ring that has a unit element): The multiplication <math>\cdot</math> is associative, there is a neutral element <math>I_n</math> and the distributive laws apply. However, the ring of matrices is generally not commutative, as we have seen above. Also note that we only have such a ring structure for square matrices, as otherwise the multiplication of two elements is not defined. }} {{#invoke:Math for Non-Geeks/Seite|unten}} kqvuzq15sy14f9aoia5tvy2g0s4pw05 Math for Non-Geeks/Basis change via matrices 0 473517 4635318 4630507 2026-05-11T17:38:09Z Sascha Lill 95 3167325 adjust equation format 4635318 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} In this article, you will learn about basis change via matrices. Basis change matrices can be used to convert coordinates with respect to a given basis into coordinates with respect to another basis. This is particularly useful for matrices of linear maps, which are always taken with respect to two specific bases. == Derivation == We have seen in the article on [[Math for Non-Geeks/Basis|bases]] that every finite-dimensional vector space has a basis. This means if <math>V</math> is an <math>n</math>-dimensional <math>K</math>-vector space, then there is a basis <math>B=\{b_1,\ldots , b_n\}</math> of <math>V</math>. Every vector <math>v\in V</math> can therefore be written uniquely as a linear combination of the basis vectors <math>b_1,\ldots , b_n</math>, i.e. <math>v=\sum_{i=1}^n\lambda_i b_i</math> with unique <math>\lambda_1,\ldots ,\lambda_n\in K</math>. We also know that vector spaces usually have more than one basis. Let <math>C=\{c_1,\ldots , c_n\}</math> be a second basis of <math>V</math>. Then we can also write <math>v</math> uniquely as a linear combination of <math>c_i</math>, i.e. <math>v=\sum_{i=1}^n\mu_i c_i</math> with unique coefficients <math>\mu_1,\ldots ,\mu_n\in K</math>. We therefore have two representations of the vector <math>v</math>. Using the basis <math>B</math> we get the representation <math>v=\sum_{i=1}^n\lambda_i b_i</math> and using the basis <math>C</math> we get <math>v=\sum_{i=1}^n\mu_i c_i</math>. How can we convert the basis representation with respect to <math>B</math> of the vector <math>v</math> into the representation with respect to <math>C</math>? This question is particularly interesting in the context of [[Math for Non-Geeks/Matrix of a linear map|matrices of linear maps]], as we will see below in the section [[Math for Non-Geeks/Basis change via matrices#Anwendung von Basiswechselmatrizen|Application of basis change via matrices]]. Mapping matrices allow us to calculate with coordinates instead of vectors of <math>V</math>. However, the coordinates of a vector always depend on the chosen basis in <math>V</math>. We want a simple way to convert the coordinates of any vector in <math>V</math> with respect to a basis <math>B</math> into coordinates with respect to another basis <math>C</math>. === The situation in <math>K^n</math> === To answer this question, we start with a simpler special case. We consider <math>K^n</math> as a vector space and set <math>B=(e_1,\ldots,e_n)</math> as the (ordered) standard basis. Let further <math>C=(c_1,\ldots,c_n)</math> be any ordered basis of <math>K^n</math>. Since [[Math for Non-Geeks/Matrix of a linear map#Definition:Abbildungsmatrix|matrices of linear maps]] depend on the order of the basis vectors, we have to use [[Math for Non-Geeks/Isomorphisms#Definition:Geordnete Basis|ordered bases]] <math>B</math> and <math>C</math>. Let <math>v=(x_1,\ldots, x_n)^T=\sum_{i=1}^n x_i e_i</math> be a vector for whom we know the coordinates with respect to the standard basis <math>B</math>. The vector <math>v\in K^n</math> can be written in the basis <math>C</math> as <math>v=\lambda_1 c_1+\cdots +\lambda_n c_n</math> for unique <math>\lambda_1,\ldots,\lambda_n\in K</math>. How can we calculate the coordinates <math>\lambda_1,\dots,\lambda_n\in K</math> of <math>v</math> with respect to <math>C</math> simply from the coordinates <math>x_1,\dots,x_n</math> of <math>v</math> with respect to the standard basis <math>B</math>? To do this, we need to describe the mapping <math>K^n\to K^n</math>, which maps each vector <math>v=(x_1,...,x_n)^T\in K^n</math> to its coordinate vector <math>(\lambda_1,\dots,\lambda_n)^T \in K^n</math> with respect to <math>C</math>. This is done by the [[Math for Non-Geeks/Isomorphisms#Definition:Koordinatenabbildung|coordinate mapping]] <math>k_C: K^n\to K^n</math>, which is a linear map that we know from the article on [[Math for Non-Geeks/Isomorphisms|isomorphisms]]. In order to describe <math>k_C</math>, we calculate its matrix <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)</math> with respect to the standard basis <math>B=(e_1,\ldots,e_n)</math>. By using [[Math for Non-Geeks/Introduction: Matrices#Anchor:Matrix-Vektor-Multiplikation|matrix-vector multiplication in <math>K^n</math>]], we then obtain the coordinate vector <math>(\lambda_1,\ldots,\lambda_n)^T</math> by multiplying <math>v=(x_1,\ldots,x_n)^T</math> from the left by <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)</math>. To calculate the matrix <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)</math>, we need to determine <math>k_C(e_1),\ldots,k_C(e_n)</math>. These will then be the columns of <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)</math>. We are therefore looking for the coordinates of <math>e_1,\ldots,e_n</math> with respect to <math>C</math>, so we have to write these as a linear combination of vectors in <math>C</math>. This gives us <math>n</math> equations {{Math|<math>\begin{align}e_1 =& \sum_{i=1}^n a_{i1} c_i\\ &\vdots \\ e_n =& \sum_{i=1}^n a_{in} c_i\end{align}</math>}} where <math>a_{ij}</math> are the coordinates we are looking for. The coefficients <math>a_{ij}</math> can be determined by solving a [[Math for Non-Geeks/Linear systems and matrices|linear system of equations]]. {{:Math for Non-Geeks/Template:Beispiel |titel=Change to standard basis |beispiel=We will examine this procedure using a concrete example. To do so, we consider <math>\R^3</math> as a vector space with the ordered standard basis {{Math|<math> B=\left(\begin{pmatrix}1\\0\\0\end{pmatrix}, \begin{pmatrix}0\\1\\0\end{pmatrix}, \begin{pmatrix}0\\0\\1\end{pmatrix} \right) </math>}} We also choose the ordered basis <math>C=(c_1,c_2,c_3)</math> as follows: {{Math|<math>\begin{align} c_1:=\begin{pmatrix} 1\\ 1\\0 \end{pmatrix}, \ c_2:=\begin{pmatrix} 0\\ -1\\ 1\end{pmatrix}, \ c_3:=\begin{pmatrix} 2\\ 0\\ 1\end{pmatrix} \end{align}</math>}} Each vector in <math>\R^3</math> can be represented in the basis <math>B</math> and the basis <math>C</math> to obtain the above-mentioned coefficients <math>x_1,x_2,x_3</math> or <math>\lambda_1,\lambda_2,\lambda_3</math>. For example, for the vector <math>(6,1,3)^T</math>, the coefficients are <math>x_1=6, \ x_2=1,\ x_3=3</math> and <math>\lambda_1=2 , \ \lambda_2=1 ,\ \lambda_3=2 </math>, because {{Math|<math> \begin{pmatrix}6 \\1 \\3 \end{pmatrix}=2\cdot \begin{pmatrix} 1\\ 1\\ 0\end{pmatrix}+1\cdot \begin{pmatrix} 0\\-1 \\1 \end{pmatrix}+2\cdot \begin{pmatrix}2 \\0 \\1 \end{pmatrix} </math>}} To make it easier to determine the coefficients <math>\lambda_1,\lambda_2,\lambda_3</math>, we express the standard basis in the basis <math>C</math>. This means we want to find the coefficients <math>a_{ij}\in\R</math> with {{Math|<math>\begin{align} \begin{pmatrix} 1\\ 0\\0 \end{pmatrix}= a_{11}\cdot \begin{pmatrix} 1\\ 1\\0 \end{pmatrix} + a_{21}\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ a_{31}\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix}\\[0.3em] \begin{pmatrix} 0\\ 1\\0 \end{pmatrix}= a_{12}\cdot \begin{pmatrix} 1\\ 1\\0 \end{pmatrix} + a_{22}\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ a_{32}\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix}\\[0.3em] \begin{pmatrix} 0\\ 0\\1 \end{pmatrix}= a_{13} \cdot\begin{pmatrix} 1\\ 1\\0 \end{pmatrix} + a_{23}\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ a_{33}\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix} \end{align}</math>}} By solving the linear system, we can determine and obtain the coefficients: {{Math|<math>\begin{align} \begin{pmatrix} 1\\ 0\\0 \end{pmatrix}&= -1\cdot \begin{pmatrix} 1\\ 1\\0 \end{pmatrix} +(-1)\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ 1\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix}\\[0.3em] \begin{pmatrix} 0\\ 1\\0 \end{pmatrix}&= 2\cdot \begin{pmatrix} 1\\ 1\\0 \end{pmatrix} + 1\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ (-1)\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix}\\[0.3em] \begin{pmatrix} 0\\ 0\\1 \end{pmatrix}&= 2 \cdot\begin{pmatrix} 1\\ 1\\0 \end{pmatrix} + 2\cdot\begin{pmatrix}0 \\-1 \\1 \end{pmatrix}+ (-1)\cdot\begin{pmatrix} 2\\0 \\1 \end{pmatrix} \end{align}</math>}} }} Then <math>k_C(e_j)=(a_{1j},a_{2j},\ldots , a_{nj})^T</math> for <math>j=1,\ldots ,n</math>. This gives us the matrix {{Math|<math> M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)= \begin{pmatrix} a_{11} &a_{12} &\ldots &a_{1n} \\ a_{21}&a_{22}&\ldots &a_{2n}\\ \vdots &\vdots &\ddots & \vdots\\ a_{n1}&a_{n2}&\ldots &a_{nn} \end{pmatrix}.</math>}} We obtain <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)y =k_C(y)</math> for all <math>y \in K^n</math>. The required coefficients <math>\lambda_1,\dots, \lambda_n</math> are therefore obtained by {{Math|<math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)\begin{pmatrix}x_1\\ \vdots\\ x_n\end{pmatrix}=\begin{pmatrix}\lambda_1\\ \vdots\\ \lambda_n\end{pmatrix}.</math>}} {{:Math for Non-Geeks/Template:Beispiel |titel=Change to standard basis 2 |beispiel=For our example above, we can also specify the matrix <math> M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)</math>: {{Math|<math> M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)= \begin{pmatrix} -1 & 2 &2 \\ -1&1 &2\\ 1&-1 &-1 \end{pmatrix}.</math>}} With this matrix, we can also easily calculate the coefficients <math>\lambda_1,\lambda_2,\lambda_3</math> of the vector <math>(6,1,3)^T</math>: {{Math|<math> \begin{pmatrix}\lambda_1\\ \lambda_2 \\ \lambda_3\end{pmatrix}= M^{\mathrm{Std}}_{\mathrm{Std}}(k_C)\begin{pmatrix}6\\1\\3\end{pmatrix}= \begin{pmatrix} -1 & 2 &2 \\ -1&1 &2\\ 1&-1 &-1 \end{pmatrix}\begin{pmatrix}6\\1\\3\end{pmatrix} =\begin{pmatrix}2\\1\\2\end{pmatrix} .</math>}} This means <math>\lambda_1=2 , \ \lambda_2=1 ,\ \lambda_3=2 </math>, as we have already calculated above. }} === Generalization to arbitrary finite-dimensional vector spaces === In a general finite-dimensional vector space <math>V</math>, unlike in <math>K^n</math>, there is no standard basis. In this situation, we have two ordered bases <math>B = (b_1, \dots, b_n)</math> and <math>C = (c_1, \dots, c_n)</math>. Usually, we are then given an arbitrary vector <math>v \in V</math> as a linear combination <math>v = x_1b_1+ \dots + x_nb_n</math> with respect to the basis <math>B</math> with <math>x_1, \dots, x_n \in K</math>. The coefficients <math>x_1,\ldots,x_n</math> are also called the ''coordinates of <math>v</math> with respect to <math>B</math>''. Correspondingly, the coordinates with respect to <math>C</math> are the scalars <math>\lambda_1,\dots,\lambda_n\in K</math> with <math>v = \lambda_1c_1+\dots+\lambda_nc_n</math>. We are looking for a method to convert the coordinates <math>x_1,\ldots,x_n</math> with respect to <math>B</math> of any vector <math>v\in V</math> into the coordinates <math>\lambda_1,\dots,\lambda_n</math> with respect to <math>C</math>. For this, we need a mapping <math>K^n\to K^n</math>, which sends <math>(x_1,\dots, x_n)^T</math> to <math>(\lambda_1,\dots, \lambda_n)^T</math>. We already know the [[Math for Non-Geeks/Isomorphisms#Definition:Koordinatenabbildung|coordinate mappings]] <math>k_B:V\to K^n</math> with <math>k_B(v) = (x_1,\dots, x_n)^T \in K^n</math> and <math>k_C:V\to K^n</math> with <math>k_C(v) = (\lambda_1, \dots, \lambda_n)^T</math>. From <math>(x_1,\dots , x_n)^T\in K^n</math> we want to obtain the vector <math>(\lambda_1,\dots, \lambda_n)^T\in K^n</math>. The coordinate mappings are isomorphisms. So <math>k_B^{-1}:K^n\to V</math> maps the vector <math>(x_1,\dots, x_n)^T</math> to <math>v</math> and <math>k_C:V\to K^n</math> maps <math>v</math> to <math>(\lambda_1,\dots, \lambda_n)^T</math>. If we first execute <math>k_B^{-1}</math> and then <math>k_C</math>, we obtain a mapping that sends <math>(x_1,\dots , x_n)^T</math> to <math>(\lambda_1,\dots ,\lambda_n)^T</math>. {{Anchor|Herleitung_Basiswechsel}} Our desired transformation is therefore realized by the linear map <math>k_C\circ k_B^{-1}:K^n\to K^n </math>. As above for the situation in <math>K^n</math>, we can then determine the matrix of this linear map in <math>K^n</math> with respect to the standard basis. This matrix is given by <math>M^{\mathrm{Std}}_{\mathrm{Std}}(k_C\circ k_B^{-1})</math>. If we remember the article on [[Math for Non-Geeks/Matrix of a linear map|matrices of linear maps]], however, this matrix is just <math>M^B_C(\operatorname{id}_V)</math>, because <math>k_C\circ k_B^{-1}=k_C\circ\operatorname{id}_V\circ k_B^{-1}</math>. It also makes intuitive sense that the matrix executing the basis change from <math>B</math> to <math>C</math> is given exactly by <math>M^B_C(\operatorname{id}_V)</math> representing the identity from basis <math>B</math> to <math>C</math>. This is because, if we multiply the coordinate vector <math>k_B(v)</math> of <math>v\in V</math> with respect to <math>B</math> from the left with <math>M^B_C(\operatorname{id}_V)</math>, then we obtain exactly the coordinate vector of <math>\operatorname{id}_V(v)=v</math> with respect to <math>C</math>, just by definition of the representing matrix. That is, {{Math|<math>k_C(v)=M^B_C(\operatorname{id}_V)\cdot k_B(v)</math>}} for all <math>v\in V</math>. The matrix <math>M^B_C(\operatorname{id}_V)</math> therefore converts coordinates with respect to <math>B</math> into coordinates with respect to <math>C</math>. This is exactly what a basis change matrix does. == Definition == {{:Math for Non-Geeks/Template:Definition |titel=Basis change matrix |definition= Let <math>V</math> be a finite-dimensional vector space, and let <math>B</math> and <math>C</math> be two ordered bases of <math>V</math>. Then the ''basis change matrix'' from <math>B</math> to <math>C</math> is the matrix of the identity map <math>\operatorname{id_V}</math> with respect to the bases <math>B</math> and <math>C</math>, i.e. <math>M^B_C(\operatorname{id_V})</math>. We call this matrix <math>T^B_C</math>. }} The basis change matrix has many other names. It is also referred to in the literature as a transition matrix, basis transition matrix, transformation matrix or coordinate change matrix. {{:Math for Non-Geeks/Template:Warnung|In the literature, the names transformation or transition matrix sometimes also refer to matrices that are not ''basis change matrices''.}} == Application of basis change via matrices == === The problem with matrices of linear maps === We can find a matrix <math>M^B_C(f)</math> for every linear map <math>f\colon V\to W</math> between two finite-dimensional vector spaces, with respect to bases <math>B</math> and <math>C</math>. However, this matrix depends on <math>B</math> and <math>C</math>, and their order. If we choose other bases <math>B'</math> or <math>C'</math>, we will very likely get a different matrix. We can see this in the following example: {{:Math for Non-Geeks/Template:Beispiel |titel=Different matrices of one linear map |beispiel=Let us consider the map {{Math|<math> f:\R^2\to\R^2, \quad \begin{pmatrix}x\\y\end{pmatrix}\mapsto \begin{pmatrix}x+y\\ 2y\end{pmatrix} </math>}} Let <math>B=(e_1,e_2)</math> be the standard basis of <math>\R^2</math>. We also consider the ordered bases <math>C=((1,1)^T,(1,0)^T)</math> and <math>C'=((1,2)^T,(1,0)^T)</math>. Then {{Math|<math>\begin{align}f(e_1)&=\begin{pmatrix}1+0\\ 2\cdot 0\end{pmatrix}=\begin{pmatrix}1\\0\end{pmatrix}\\[0.5em] f(e_2)&=\begin{pmatrix}0+1\\ 2\cdot 1\end{pmatrix}=\begin{pmatrix}1\\2\end{pmatrix}. \end{align}</math>}} Since {{Math|<math>\begin{align}\begin{pmatrix}1\\0\end{pmatrix}&=0\cdot \begin{pmatrix}1\\1\end{pmatrix}+1\cdot \begin{pmatrix}1\\0\end{pmatrix}\ \text{ and} \\[0.3em] \begin{pmatrix}1\\2\end{pmatrix}&=2\cdot \begin{pmatrix}1\\1\end{pmatrix}+(-1)\cdot \begin{pmatrix}1\\0\end{pmatrix}\end{align}</math>}} the matrix of <math>f</math> with respect to <math>B</math> and <math>C</math> looks as follows: {{Math|<math> M^B_C(f)=\begin{pmatrix} 0 & 2 \\ 1 & -1\end{pmatrix} </math>}} If we carry out the same calculation with the bases <math>B</math> and <math>C'</math>, we get {{Math|<math>\begin{align}\begin{pmatrix}1\\0\end{pmatrix}&=0\cdot \begin{pmatrix}1\\2\end{pmatrix}+1\cdot \begin{pmatrix}1\\0\end{pmatrix}\ \text{ and} \\[0.3em] \begin{pmatrix}1\\2\end{pmatrix}&=1\cdot \begin{pmatrix}1\\2\end{pmatrix}+0\cdot \begin{pmatrix}1\\0\end{pmatrix}\end{align}.</math>}} This means that the matrix of <math>f</math> with respect to the bases <math>B</math> and <math>C'</math> is {{Math|<math> M^B_{C'}(f)=\begin{pmatrix} 0 & 1\\ 1 & 0\end{pmatrix}. </math>}} Therefore, <math>M^B_C(f)\neq M^B_{C'}(f)</math>. }} === Solution of this problem === Consider a linear map <math> f: V\to W</math> and two ordered bases <math>B</math> and <math>B'</math> of <math>V</math> as well as <math>C</math> and <math>C'</math> of <math>W</math>. We are asking now: How can we convert the matrix <math>M^B_C(f)</math> into <math>M^{B'}_{C'}(f)</math>? {{:Math for Non-Geeks/Template:Satz |titel=Basis change of matrices for linear maps |satz= Let <math>f\colon V\to W</math> be a linear map and consider the ordered bases <math>B</math> and <math>B'</math> of <math>V</math> as well as <math>C</math> and <math>C'</math> of <math>W</math>. Then {{Math|<math>M^{B'}_{C'}(f) = T^C_{C'}\cdot M^B_C(f)\cdot T^{B'}_B.</math>}} The matrix representing <math>f</math> with respect to <math>B'</math> and <math>C'</math> is therefore obtained from the matrix of <math>f</math> with respect to <math>B</math> and <math>C</math> by multiplying from the left and from the right with the corresponding basis change matrices. }} In the following, we will consider why the formula in this theorem is correct and how we arrived at it. From the definition of the [[Math for Non-Geeks/Matrix of a linear map|matrix of a linear map]] we know that for all vectors <math>x \in K^n</math>, we have <math> M^B_C(f)x = k_C\circ f \circ k_B^{-1} (x)</math> and <math>M^{B'}_{C'}(f)x=k_{C'}\circ f \circ k_{B'}^{-1} (x)</math>. We can visualize this equation in a diagram: [[File:Different transformation matrices for the same map tow diagrams 01.svg|center|500px|Representation of the same linear map with respect to different bases as two diagrams]] In these two diagrams, it doesn't matter which way you go. For example, it does not matter whether we use <math>f</math> to go directly from <math>V</math> to <math>W</math> or take the detour via <math>K^n</math> and <math>K^m</math>. If the same map is constructed along each path, this is referred to as a ''commutative'' diagram. We can join the two diagrams together: [[File:Different transformation matrices for the same map in one diagram.svg|center|350px|Representation of the same linear map with respect to different bases as a diagram]] This diagram is also commutative. That means, if you have a fixed start and end point, it still doesn't matter which path you take in the diagram. If we start at the top left at <math>K^n</math>, it doesn't matter which path we use to get to <math>K^m</math> at the bottom left. We can get from <math>K^n</math> to <math>K^m</math> via <math>x \mapsto M^{B'}_{C'}(f)x</math>, or using first <math>k_B\circ k_{B'}^{-1}: K^n\to K^n</math>, then <math>x\mapsto M^B_C(f)x</math> and finally <math>k_{C'}\circ k_C^{-1}: K^m\to K^m</math>. [[File:Different transformation matrices for the same map in one diagram with marked paths.svg|center|275px|The various compositions are shown in blue and red]] Consequently, the map <math>K^n\to K^m,\ x \mapsto M^{B'}_{C'}(f)x</math> is equal to the combination of the maps <math>k_B \circ k_{B'}^{-1}</math>, <math>x\mapsto M^B_C(f)x</math>, and <math>k_{C'} \circ k_C^{-1}</math>. We have now seen that the <math>x\mapsto M^B_C(f)x</math> can be transformed into the map <math>x \mapsto M^{B'}_{C'}(f)x</math>. Originally, however, we wanted to transform the matrix <math>M^B_C(f)</math> into the matrix <math>M^{B'}_{C'}(f)</math>. How do we get from the map <math>K^n\to K^m,\ x \mapsto M^{B'}_{C'}(f)x</math> back to the matrix <math>M^{B'}_{C'}(f)\in K^{m\times n}</math>? The matrix <math>M^{B'}_{C'}(f)</math> looks complicated. We therefore consider how we can answer this question for a general matrix <math>A\in K^{m\times n}</math>. We consider the linear map <math>L_A: K^n\to K^m,\ x\mapsto Ax</math> associated with <math>A</math>. The matrix of <math>L_A</math> with respect to the standard bases of <math>K^n</math> and <math>K^m</math> is again <math>A</math>. Let us now plug in the matrix <math>M^{B'}_{C'}(f)</math> for <math>A</math>. The matrix of the linear map <math>x \mapsto M^{B'}_{C'}(f)x</math> with respect to the standard bases is exactly <math>M^{B'}_{C'}(f)</math>. As we have already seen, the map <math>x \mapsto M^{B'}_{C'}(f)x</math> is equal to the combination of the three maps <math>k_B\circ k_{B'}^{-1}</math>, <math>x\mapsto M^B_C(f)x</math>, and <math>k_{C'} \circ k_C^{-1}</math>. Therefore, the matrix of the combination of <math>k_B\circ k_{B'}^{-1}</math>, <math>x\mapsto M^B_C(f)x</math>, and <math>k_{C'}\circ k_C^{-1}</math> corresponds to <math>M^{B'}_{C'}(f)</math> with regard to the standard bases. However, we can also determine the matrix of the concatenation in another way. In the article on [[Math for Non-Geeks/Matrix multiplication#Satz:Kürzungsregel für Darstellungsmatrizen|matrix multiplication]], we saw that concatenation between linear maps correspond exactly to the multiplication of the respective matrices. Therefore, we write down the matrices of the concatenated linear maps individually and then multiply them. * As we have already seen for <math>M^{B'}_{C'}(f)</math>, the matrix of <math>x\mapsto M^B_C(f)x</math> with respect to the standard bases of <math>K^n</math> and <math>K^m</math> is again <math>M^B_C(f)</math>. * We have already derived the matrix of <math>k_{C'}\circ k_C^{-1}</math> [[#Anchor:Herleitung_Basiswechsel|above]]; it is <math>M^C_{C'}(\operatorname{id})</math>. This is exactly the basis change matrix <math>T^C_{C'}</math>. * Similarly, the matrix of <math>k_{B}\circ k_{B'}^{-1}</math> is given by the basis change matrix <math>T^{B'}_B=M^{B'}_B(\operatorname{id})</math>. If we multiply these three matrices, we obtain <math>M^{B'}_{C'}(f)</math>: {{Math|<math>M^{B'}_{C'}(f) = T^C_{C'}M^B_C(f)T^{B'}_B</math>}} So <math> M^{B'}_{C'}(f) </math> can be calculated from <math> M^B_C(f) </math> by left multiplication with <math>T^C_{C'}</math> and right multiplication with <math>T^{B'}_B</math>. ===Example for a basis change=== We now know, how we can convert matrices of a linear map with respect to different bases into each other. Let's look at the example above again. We consider the linear map {{Math|<math>f:\R^2\to\R^2, \quad \begin{pmatrix}x\\y\end{pmatrix}\mapsto \begin{pmatrix}x+y\\ 2y\end{pmatrix}</math>}} as well as the ordered bases <math>B=(e_1,e_2)</math>, <math>C=((1,1)^T,(1,0)^T)</math>, and <math>C'=((1,2)^T,(1,0)^T)</math>. We have already calculated the matrix <math>M^B_C(f)</math>: {{Math|<math> M^B_C(f)=\begin{pmatrix} 0 & 2 \\ 1 & -1\end{pmatrix}</math>}} We want to determine <math>M^B_{C'}(f)</math> by matrix multiplication, i.e., by <math>M^{B}_{C'}(f) = T^C_{C'}M^B_C(f)T^{B}_B</math>. We have to determine <math>T^B_B</math> and <math>T^C_{C'}</math>. Now, <math>T^B_B = I_2</math>, since the basis <math>B</math> does not change. Now let us turn to computing the basis change matrix <math>T_{C'}^C</math>: We know that <math>T_{C'}^C=M_{C'}^C(\operatorname{id})</math>. In order to determine this matrix, we need to express the basis vectors of <math>C</math> in the basis <math>C'</math>: {{Math|<math>\begin{align} \begin{pmatrix}1\\1\end{pmatrix}&= \frac{1}{2}\cdot \begin{pmatrix}1\\2\end{pmatrix}+\frac{1}{2} \cdot \begin{pmatrix}1\\0\end{pmatrix} \\[0.5em] \begin{pmatrix}1\\0\end{pmatrix}&=0\cdot \begin{pmatrix}1\\2\end{pmatrix}+ 1\cdot \begin{pmatrix}1\\0\end{pmatrix}. \end{align}</math>}} Hence, {{Math|<math>T_{C'}^C=\begin{pmatrix} \frac 12 & 0 \\ \frac 12 &1\end{pmatrix}.</math>}} Therefore {{Math|<math>M^{B}_{C'}(f) = T^C_{C'}M^B_C(f)=\begin{pmatrix} \frac 12 & 0 \\ \frac 12 &1\end{pmatrix}\cdot\begin{pmatrix} 0 & 2 \\ 1 & -1\end{pmatrix}=\begin{pmatrix} 0 & 1\\ 1 & 0\end{pmatrix}.</math>}} You may convince yourself that this result agrees with the [[#Beispiel:Verschiedene Darstellungsmatrizen einer Abbildung|result above]]. ==Examples== === Basis change for a matrix of a linear map === Consider the bases {{Math|<math>B'=\left(\begin{pmatrix}2\\ 1\end{pmatrix},\begin{pmatrix}1\\ 1\end{pmatrix}\right)\quad \text{and} \quad B=\left(\begin{pmatrix}0\\ -1\end{pmatrix},\begin{pmatrix}2\\ 3\end{pmatrix}\right)</math>}} of <math>\R^2</math>, as well as the bases {{Math|<math>C=\left(\begin{pmatrix}1\\-2\\3\end{pmatrix},\begin{pmatrix}0\\0\\-1\end{pmatrix},\begin{pmatrix}2\\1\\1\end{pmatrix}\right)\quad \text{and}\quad C'=\left(\begin{pmatrix}1\\ 1\\ 1\end{pmatrix},\begin{pmatrix}1\\ 1\\ 0\end{pmatrix},\begin{pmatrix}1\\ 0\\ 0\end{pmatrix}\right)</math>}} of <math>\R^3</math>. Let <math>f:\R^2\to\R^3</math> be a map with the following matrix with respect to <math>B</math> and <math>C</math>: {{Math|<math>M^B_C(f)= \begin{pmatrix}5 & -3\\ 2 & 4\\ 0& -2\end{pmatrix}</math>}} We want to determine the matrix of <math>f</math> with respect to the bases <math>B'</math> and <math>C'</math>. This can be done by matrix multiplication <math>M^{B'}_{C'}(f) = T^C_{C'}M^B_C(f)T^{B'}_B</math>. To do so, we must first calculate the basis change matrices <math>T_B^{B'}</math> and <math>T_{C'}^C</math>. {{:Math for Non-Geeks/Template:Beispiel |titel=Basis change in <math>\R^2</math> |beispiel=Consider the two bases {{Math|<math>B'=\left(\begin{pmatrix}2\\1\end{pmatrix},\begin{pmatrix}1 \\ 1\end{pmatrix}\right)\quad \text{and} \quad B=\left(\begin{pmatrix}0\\-1\end{pmatrix},\begin{pmatrix}2\\3\end{pmatrix}\right)</math>}} in <math>\R^2</math> . In order to determine the transition matrix <math>T^{B'}_B</math> from <math>B'</math> to <math>B</math>, we proceed as follows: 1. We represent the basis vectors of <math>B'</math> as a linear combination of the vectors of <math>B</math>: {{Math|<math>\begin{array}{ccrcr} \begin{pmatrix} 2\\1\end{pmatrix}&=&2\cdot\begin{pmatrix}0\\-1\end{pmatrix}&+&1\cdot\begin{pmatrix}2\\3\end{pmatrix} \\[0.5em] \begin{pmatrix}1\\1\end{pmatrix}&=&\frac 12\cdot \begin{pmatrix}0\\-1\end{pmatrix} &+&\frac 12\cdot\ \begin{pmatrix}2\\3\end{pmatrix} \end{array}</math>}} 2. We write the determined coefficients of the linear combinations as column vectors in a matrix. This is exactly the transition matrix we are looking for: {{Math|<math>T^{B'}_B= \begin{pmatrix}2 & \frac 12\\ 1 & \frac 12\end{pmatrix} </math>}} }} {{:Math for Non-Geeks/Template:Beispiel |titel=Basis change in <math>\R^3</math> |beispiel=We consider the bases {{Math|<math>C=\left(\begin{pmatrix}1\\-2\\3\end{pmatrix},\begin{pmatrix}0\\0\\-1\end{pmatrix},\begin{pmatrix}2\\1\\1\end{pmatrix}\right)\quad \text{and}\quad C'=\left(\begin{pmatrix}1\\ 1\\ 1\end{pmatrix},\begin{pmatrix}1\\ 1\\ 0\end{pmatrix},\begin{pmatrix}1\\ 0\\ 0\end{pmatrix}\right)</math>}} in <math>\R^3</math>. We want to calculate the basis change matrix <math>T^C_{C'}</math> from <math>C</math> to <math>C'</math>. To do this, we represent the basis vectors of <math>C</math> as a linear combination of the vectors of <math>C'</math>: {{Math|<math>\begin{array}{ccrcrcr} \begin{pmatrix}1\\-2\\3\end{pmatrix}&=& 3\cdot\begin{pmatrix}1\\1\\1\end{pmatrix}&-&5\cdot\begin{pmatrix}1\\1\\0\end{pmatrix}&+&3\cdot\begin{pmatrix}1\\0\\0\end{pmatrix} \\[0.5em] \begin{pmatrix}0\\0\\-1\end{pmatrix}&=&-1\cdot\begin{pmatrix}1\\1\\1\end{pmatrix}&+& 1\cdot\begin{pmatrix} 1\\1\\0\end{pmatrix}&+& 0\cdot \begin{pmatrix}1\\0\\0\end{pmatrix}\\[0.5em] \begin{pmatrix}2\\1\\1\end{pmatrix}&=& 1\cdot \begin{pmatrix}1\\1\\1\end{pmatrix} &+& 0\cdot \begin{pmatrix}1\\1\\0\end{pmatrix}&+& 1\cdot \begin{pmatrix}1\\0\\0\end{pmatrix} \end{array}</math>}} As above, we obtain the transition matrix <math>T^C_{C'}</math> by writing the coefficients of the linear combinations as columns in a matrix: {{Math|<math>T^C_{C'}= \begin{pmatrix}3& -1 & 1 \\ -5 & 1 &0 \\ 3&0&1\end{pmatrix}</math>}} }} {{:Math for Non-Geeks/Template:Beispiel |titel=Basis change for a matrix of a linear map |beispiel=Consider the bases <math>B'=((2,1)^T,(1,1)^T)</math> and <math>B=((0,-1)^T,(2,3)^T)</math> of <math>\R^2</math> and the bases <math>C=((1,-2,3)^T,(0,0,-1)^T,(2,1,1)^T)</math> and <math>C'=((1,1,1)^T,(1,1,0)^T,(1,0,0)^T)</math> of <math>\R^3</math>. Let <math>f:\R^2\to\R^3</math> be a linear map with the following matrix with respect to <math>B</math> and <math>C</math>: {{Math|<math>M^B_C(f)= \begin{pmatrix}5 & -3\\ 2 & 4\\ 0& -2\end{pmatrix}</math>}} We want to determine the matrix of <math>f</math> with respect to the bases <math>B'</math> and <math>C'</math>. We do this via matrix multiplication <math>M^{B'}_{C'}(f) = T^C_{C'}M^B_C(f)T^{B'}_B</math>. In the previous examples, we have already determined <math>T^{B'}_B</math> and <math>T^C_{C'}</math>. So we can simply calculate: {{Math|<math>\begin{align} &M^{B'}_{C'}(f)=T^C_{C'}M^B_C(f)T^{B'}_B = \begin{pmatrix}3& -1 & 1 \\ -5 & 1 &0 \\ 3&0&1\end{pmatrix}\cdot\begin{pmatrix}5 & -3\\ 2 & 4\\ 0& -2\end{pmatrix}\cdot \begin{pmatrix}2 & \frac 12\\ 1 & \frac 12\end{pmatrix} \\[0.5em] =&\begin{pmatrix}3& -1 & 1 \\ -5 & 1 &0 \\ 3&0&1\end{pmatrix}\cdot \begin{pmatrix}7 & 1\\8&3\\-2 & -1\end{pmatrix}=\begin{pmatrix}11 &-1 \\-27 &-2 \\19&2 \end{pmatrix}\end{align}</math>}} The matrix of <math>f</math> with respect to the bases <math>B'</math> and <math>C'</math> is therefore {{Math|<math>M^{B'}_{C'}(f)=\begin{pmatrix}11 &-1 \\-27 &-2 \\19&2 \end{pmatrix}.</math>}} }} === Exercises === {{:Math for Non-Geeks/Template:Gruppenaufgabe |titel= |aufgabe= We consider the following linear map {{Math|<math>f\colon\R[x]_{\leq3}\to\R,\quad p=a_0+a_1x+a_2x^2+a_3x^3\mapsto f(p)=a_0+a_1+a_2+a_3</math>}} as well as the bases <math>B=\{1,x,x^2,x^3\}</math> and <math>B'=\{1,x+1,x^2+x,x^3+x^2\}</math> of <math>\R[x]_{\leq3}</math> and the bases <math>C=\{1\}</math> and <math>C'=\{2\}</math> of <math>\R</math>. |teilaufgabe1=Calculate the matrix of <math>f</math> with respect to <math>B</math> and <math>C</math>, as well as the matrix with respect to <math>B'</math> and <math>C'</math>. |teilaufgabe2=Calculate the basis change matrix from <math>B</math> to <math>B'</math>, and vice versa from <math>B'</math> to <math>B</math>. |teilaufgabe3=Calculate the basis change matrix from <math>C</math> to <math>C'</math>, and vice versa from <math>C'</math> to <math>C</math>. |teilaufgabe4=Verify that you can calculate the matrix <math>M_{C'}^{B'}(f)</math> from the matrix <math>M_C^B(f)</math> using the basis change matrices. |teilaufgabe1-lösung=We calculate the images of the basis vectors: {{Math|<math>\begin{align} f(1)=1=1\cdot1\\ f(x)=1=1\cdot1\\ f(x^2)=1=1\cdot1\\ f(x^3)=1=1\cdot1 \end{align}</math>}} The corresponding matrix of <math>f</math> is therefore {{Math|<math>M_C^B(f)=\begin{pmatrix}1&1&1&1\end{pmatrix} </math>}} As above, we calculate the images of the basis vectors: {{Math|<math>\begin{align} f(1)&=1=\frac 12 \cdot 2\\ f(x+1)&=2=1\cdot 2\\ f(x^2+x)&=2=1\cdot 2\\ f(x^3+x^2)&=2=1\cdot 2 \end{align}</math>}} In the second step, we express the images in the basis <math>C'=\{2\}</math>. The desired matrix is therefore {{Math|<math>M_{C'}^{B'}(f)=\begin{pmatrix}\frac 12&1&1&1\end{pmatrix} </math>}} |teilaufgabe2-lösung=To determine the basis change matrix <math>T_{B}^{B'}</math> from <math>B'</math> to <math>B</math>, we first represent the basis vectors of <math>B'</math> as a linear combination of the vectors of <math>B</math>: {{Math|<math>\begin{align} 1&=1\cdot 1+0\cdot x+0\cdot x^2+0\cdot x^3\\ x+1&=1\cdot1+1\cdot x+0\cdot x^2+0\cdot x^3\\ x^2+x&=0\cdot 1+1\cdot x+1\cdot x^2+0\cdot x^3\\ x^3+x^2&=0\cdot1+0\cdot x+1\cdot x^2+1\cdot x^3 \end{align}</math>}} The coefficients of the linear combinations are the column vectors of the matrix we are looking for: {{Math|<math> T_B^{B'}=\begin{pmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{pmatrix} </math>}} Likewise, we can calculate the basis change matrix <math>T_{B'}^B</math> from <math>B'</math> to <math>B</math>. Alternatively, we can also calculate the inverse matrix of <math>T_B^{B'}</math>: {{Math|<math> T_{B'}^B=(T_B^{B'})^{-1}=\begin{pmatrix} 1 & -1 & 1 & -1 \\ 0 & 1 & -1 & 1 \\ 0 & 0 & 1 & -1 \\ 0 & 0 & 0 & 1 \end{pmatrix} </math>}} |teilaufgabe3-lösung=As in the previous part, we represent the basis vectors of <math>C'</math> as a linear combination of the vectors of <math>C</math>: {{Math|<math>2=2\cdot 1</math>}} Hence, {{Math|<math>T_C^{C'}=\begin{pmatrix}2\end{pmatrix}</math>}} For the inverse, we have {{Math|<math>1=\frac 12\cdot 2</math>}} Thus, {{Math|<math>T_{C'}^{C}=\begin{pmatrix}\frac 12\end{pmatrix}</math>}} |teilaufgabe4-lösung=According to the above formula, we should have <math>M_{C'}^{B'}(f)=T_{C'}^{C}M_{C}^{B}(f)T_{B}^{B'}</math>. Indeed, the left-hand side is {{Math|<math> M_{C'}^{B'}(f)=\begin{pmatrix}\frac 12&1&1&1\end{pmatrix} </math>}} On the right-hand side, we get {{Math|<math>\begin{align} &T_{C'}^{C}M_{C}^{B}(f)T_{B}^{B'} \\[0.5em] =&\begin{pmatrix}\frac 12\end{pmatrix}\begin{pmatrix}1&1&1&1\end{pmatrix}\begin{pmatrix} 1 & 1 & 0 & 0 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 1 & 1 \\ 0 & 0 & 0 & 1 \end{pmatrix} \\[0.5em] =& \begin{pmatrix}\frac 12\end{pmatrix}\begin{pmatrix} 1 & 2 & 2 & 2 \end{pmatrix}\\[0.5em] =&\begin{pmatrix} \frac 12 & 1 & 1 & 1 \end{pmatrix} \end{align}</math>}} And in fact, both matrices agree! }} {{shelves}} co2jpz96ltpurc63awxy0u05jv8bgqo Math for Non-Geeks/Exercises: Matrices 0 473518 4635319 4630509 2026-05-11T17:42:04Z Sascha Lill 95 3167325 adjust equation format 4635319 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben}} == Introduction == {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= Determine the <math>(4 \times 4)</math> matrix <math>\mathcal M=(m_{jk})</math> whose entries satisfy: {{Math|<math>m_{jk} = \begin{cases} 1 & \text{ for } j = k, \\ 0 & \text{ for } j = k-2, \\ 3 & \text{ for } j = k+2, \\ 2 & \text{ else. } \end{cases} </math>}} |lösung= The matrix <math>\mathcal M</math> is of the form <math>\begin{pmatrix}m_{11}&m_{12}&m_{13}&m_{14}\\m_{21}&m_{22}&m_{23}&m_{24}\\m_{31}&m_{32}&m_{33}&m_{34}\\m_{41}&m_{42}&m_{43}&m_{44}\end{pmatrix}</math>. So the result is: <math>\mathcal M = \begin{pmatrix}1&2&0&2\\2&1&2&0\\3&2&1&2\\2&3&2&1\end{pmatrix}</math> }} == Exercises on the vector space structure of matrices == {{:Math for Non-Geeks/Template:Aufgabe |titel=Derivation of matrix addition |aufgabe= Let <math>L_1,L_2:\R^2\to\R^2</math> be linear maps with {{Math|<math>\begin{align} &L_1\begin{pmatrix}x\\y\end{pmatrix}:=\begin{pmatrix}2x\\y-x\end{pmatrix} &L_2\begin{pmatrix}x\\y\end{pmatrix}:=\begin{pmatrix}y\\x\end{pmatrix} \end{align}</math>}} Determine the matrices of <math> A_1,\, A_2</math> with respect to the standard basis. How can you define <math> A_1+ A_2</math> such that the result corresponds to the matrix of <math>L_1+L_2</math>? |erklärung= In this case, the standard basis corresponds to <math> E=\{ e_1, e_2\}</math> with <math> e_1=\begin{pmatrix}1\\0\end{pmatrix}, e_2=\begin{pmatrix}0\\1\end{pmatrix}</math>. |lösungsweg= Write the two maps in the same tabular form as used for <math>L</math> above. You can apply the same method to directly find the matrix representing <math>L_1+L_2</math>. There is now a very obvious way to define the matrix addition. If you try this, you should get the right result. |beweis= We first determine <math> A_1</math> by writing down the table and summarizing it as a matrix. For the map <math>L_1\begin{pmatrix}x\\y\end{pmatrix}:=\begin{pmatrix}2x\\y-x\end{pmatrix}</math> we have {{Math|<math>L_1( e_1)=\begin{pmatrix}2\\-1\end{pmatrix},L_1( e_2)=\begin{pmatrix}0\\1\end{pmatrix}</math>}} This gives us {{Math|<math> A_1=\begin{pmatrix}2&0\\-1&1\end{pmatrix}</math>}} Now we do the same with <math>L_2\begin{pmatrix}x\\y\end{pmatrix}:=\begin{pmatrix}y\\x\end{pmatrix}</math> to obtain <math>A_2</math>: {{Math|<math>L_2( e_1)=\begin{pmatrix}0\\1\end{pmatrix},L_2( e_2)=\begin{pmatrix}1\\0\end{pmatrix}</math>}} We conclude the table into a matrix {{Math|<math> A_2=\begin{pmatrix}0&1\\1&0\end{pmatrix}</math>}} We are now looking for the matrix of <math>L_1+L_2</math>: {{Math|<math>\begin{align} &(L_1+L_2)( e_1)=L_1( e_1)+L_2(e_1)=\begin{pmatrix}2\\-1\end{pmatrix}+\begin{pmatrix}0\\1\end{pmatrix}=\begin{pmatrix}2\\0\end{pmatrix}\\[0.3em] &(L_1+L_2)( e_2)=L_1( e_2)+L_2(e_2)=\begin{pmatrix}0\\1\end{pmatrix}+\begin{pmatrix}1\\0\end{pmatrix}=\begin{pmatrix}1\\1\end{pmatrix}\\[0.3em] \end{align}</math>}} This results in the desired matrix {{Math|<math> A=\begin{pmatrix}2&1\\0&1\end{pmatrix} </math>}} We now want to define the addition of two matrices in such a way that <math> A_1+ A_2= A</math>. Remember that we have already defined the vector addition in <math>\R^n</math> component by component - so this definition is a good first attempt. And indeed, with this rule we obtain {{Math|<math> A_1 + A_2 = \begin{pmatrix}2&0\\-1&1\end{pmatrix} + \begin{pmatrix}0&1\\1&0\end{pmatrix} = \begin{pmatrix}2+0&0+1\\-1+1&1+0\end{pmatrix} = \begin{pmatrix}2&1\\0&1\end{pmatrix} = A</math>}} |lösung= If we define the addition of matrices as the addition of the respective components, we arrive at the desired result. }} Let <math>L_1:\R^2\to\R^2</math> be the above linear map with {{Math|<math>L_1\begin{pmatrix}x\\y\end{pmatrix}:=\begin{pmatrix}2x\\y-x\end{pmatrix} </math>}} {{:Math for Non-Geeks/Template:Aufgabe |titel=Derivation of scalar multiplication |aufgabe= Determine the matrix <math> A_1</math> with respect to the standard basis for the map <math>L_1</math> and the matrix <math> M_1</math> for the mapping <math>\beta \cdot L_1</math>. How can you define the multiplication of a matrix by a scalar such that <math> M_1 = \beta \cdot A_1</math>? |lösung= We already know from the previous exercise that {{Math|<math>L_1\begin{pmatrix}x\\y\end{pmatrix}=\begin{pmatrix}2x\\y-x\end{pmatrix}\, \Longrightarrow \, A_1 = \begin{pmatrix}2&0\\-1&1\end{pmatrix} </math>}} If we now multiply <math>L_1</math> by the scalar <math>\beta</math>, we get {{Math|<math>\begin{align} &(\beta \cdot L_1)\begin{pmatrix}1\\0\end{pmatrix} = \beta \cdot L_1\begin{pmatrix}1\\0\end{pmatrix} = \beta \cdot \begin{pmatrix}2\\-1\end{pmatrix} = \begin{pmatrix}2\beta \\- \beta\end{pmatrix}\\ &(\beta \cdot L_1)\begin{pmatrix}0\\1\end{pmatrix} = \beta \cdot L_1\begin{pmatrix}0\\1\end{pmatrix} = \beta \cdot \begin{pmatrix}0\\1\end{pmatrix} = \begin{pmatrix}0\\ \beta\end{pmatrix} \end{align}</math>}} Whence <math> M_1 = \begin{pmatrix}2\beta &0\\-\beta&\beta\end{pmatrix}</math>. Here you can quickly see that we can also define scalar multiplication element by element. Then {{Math|<math> \beta\cdot A_1 = \beta \cdot \begin{pmatrix}2&0\\-1&1\end{pmatrix} = \begin{pmatrix}2\beta & 0\\-\beta & \beta\end{pmatrix} = M_1 </math>}} }} == Exercises on matrix multiplication == {{:Math for Non-Geeks/Template:Aufgabe |titel=Derivation of matrix multiplication |aufgabe=Let <math>K</math> be a field and let <math>A, A' \in K^{2\times 2}</math>. Furthermore, let <math>f\colon K^2 \to K^2; x \mapsto A\cdot x</math> and <math>g\colon K^2\to K^2; x \mapsto A'\cdot x</math>. Let <math>B = \{(1,0)^T, (0,1)^T\}</math> be the standard basis of <math>K^2</math>. Describe <math>M^B_B(g\circ f)</math> as a function of the entries of <math>A</math> and <math>A'</math>. |lösung= We already know from the [[Math for Non-Geeks/Matrix of a linear map|article on matrices of linear maps]] that <math>M^B_B(f) = A</math> and <math>M^B_B(g) = A'</math>. If we write {{Math|<math>A=\begin{pmatrix}a & b\\c & d\end{pmatrix}\quad\text{and}\quad A'=\begin{pmatrix}e & f\\g & h\end{pmatrix}</math>}} then {{Math|<math>f\begin{pmatrix}x\\y\end{pmatrix} = \begin{pmatrix}ax+by\\cx+dy\end{pmatrix}\quad\text{and}\quad g\begin{pmatrix}x\\y\end{pmatrix} = \begin{pmatrix}ex+fy\\gx+hy\end{pmatrix}</math>}} Now we calculate: {{Math|<math>\begin{align} (g\circ f)\begin{pmatrix}x\\y\end{pmatrix} &= g\left(f\begin{pmatrix}x\\y\end{pmatrix}\right) = g\begin{pmatrix}ax+by\\cx+dy\end{pmatrix} \\[0.3em] &= \begin{pmatrix}e(ax+by)+f(cx+dy)\\g(ax+by)+h(cx+dy)\end{pmatrix} \\[0.3em] &= \begin{pmatrix}(ae+cf)x + (be+df)y\\(ag+ch)x + (bg+dh)y\end{pmatrix} \\[0.3em] &= \begin{pmatrix}ae+cf & be+df\\ag+df & bg+dh\end{pmatrix} \cdot \begin{pmatrix}x\\y\end{pmatrix}\end{align}</math>}} Using the same argument as at the beginning of this solution, we now know that {{Math|<math>M^B_B(g\circ f) = \begin{pmatrix}ae+cf & be+df\\ag+df & bg+dh\end{pmatrix}</math>}} }} {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= We are given the matrix <math>\mathcal M=\begin{pmatrix}3&2&1\\2&3&1\\1&3&2\end{pmatrix}</math>. Calculate the expression <math>\mathcal M^0 + \mathcal M + \frac{1}{2}\mathcal M^2</math>. |lösung= We first consider each summand of the expression to be calculated individually: {{Math|<math>\mathcal M^0 = \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} = I_{3}, \mathcal M=\begin{pmatrix}3&2&1\\2&3&1\\1&3&2\end{pmatrix}</math>}} and because {{Math|<math>\mathcal M^2 = \begin{pmatrix}3&2&1\\2&3&1\\1&3&2\end{pmatrix} \cdot \begin{pmatrix}3&2&1\\2&3&1\\1&3&2\end{pmatrix} = \begin{pmatrix}14&15&7\\13&16&7\\11&17&8\end{pmatrix}</math>}} we get {{Math|<math>\frac{1}{2} \mathcal M^2 = \begin{pmatrix}\frac{1}{2}\cdot 14&\frac{1}{2}\cdot 15&\frac{1}{2}\cdot 7\\\frac{1}{2}\cdot 13&\frac{1}{2}\cdot 16&\frac{1}{2}\cdot 7\\\frac{1}{2}\cdot 11&\frac{1}{2}\cdot 17&\frac{1}{2}\cdot 8\end{pmatrix} = \begin{pmatrix}7&7.5&3.5\\6.5&8&3.5\\5.5&8.5&4\end{pmatrix} </math>}} Together, this results in: {{Math|<math>\begin{align} \mathcal M^0 + \mathcal M +\frac{1}{2}\mathcal M^2 &= \begin{pmatrix}1&0&0\\0&1&0\\0&0&1\end{pmatrix} + \begin{pmatrix}3&2&1\\2&3&1\\1&3&2\end{pmatrix} + \begin{pmatrix}7&7.5&3.5\\6.5&8&3.5\\5.5&8.5&4\end{pmatrix}\\ &= \begin{pmatrix}1+3+7&0+2+7.5&0+1+3.5\\0+2+6.5&1+3+8&0+1+3.5\\0+1+5.5&0+3+8.5&1+2+4\end{pmatrix}\\ &= \begin{pmatrix}11&9.5&4.5\\8.5&12&4.5\\6.5&11.5&7\end{pmatrix} \end{align}</math>}} }} {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= Use matrix multiplication to prove the addition theorems for the cosine and the sine, i.e., {{Math|<math> \cos(\alpha + \beta) = \cos(\alpha)\cdot\cos(\beta) - \sin(\alpha) \cdot \sin(\beta)</math>}} {{Math|<math> \sin(\alpha + \beta) = \sin(\alpha) \cdot \cos(\beta) + \cos(\alpha)\cdot\sin(\beta) </math>}} |lösung= We consider the rotation matrix <math>\begin{pmatrix}\cos(\alpha + \beta)&-\sin(\alpha + \beta)\\\sin(\alpha + \beta)&\cos(\alpha + \beta)\end{pmatrix}</math> and remember that rotations in the plane can be understood as linear maps. Accordingly, it does not matter whether we rotate directly by an angle <math>\alpha + \beta</math>, or first by an angle <math>\alpha</math> and then by <math>\beta</math>. Therefore, we have {{Math|<math>\begin{align} \begin{pmatrix}\cos(\alpha + \beta)&-\sin(\alpha + \beta)\\\sin(\alpha + \beta)&\cos(\alpha + \beta)\end{pmatrix} &= \begin{pmatrix}\cos(\alpha)&-\sin(\alpha)\\\sin(\alpha)&\cos(\alpha)\end{pmatrix} \cdot \begin{pmatrix}\cos(\beta)&-\sin(\beta)\\\sin(\beta)&\cos(\beta)\end{pmatrix}\\ &= \begin{pmatrix}\cos(\alpha)\cdot\cos(\beta) - \sin(\alpha) \cdot \sin(\beta)&-\cos(\alpha)\cdot\sin(\beta) - \sin(\alpha) \cdot \cos(\beta)\\ \sin(\alpha) \cdot \cos(\beta) + \cos(\alpha)\cdot\sin(\beta) &\cos(\alpha)\cdot\cos(\beta) - \sin(\alpha) \cdot \sin(\beta)\end{pmatrix}\end{align}</math>}} A comparison of the entries of the matrices provides the addition theorems to be shown. }} == Exercises on representative and basis change matrices == {{:Math for Non-Geeks/Template:Aufgabe |titel=Calculating coordinate vectors with respect to a basis |aufgabe= Let <math>v=(3,2)^T\in\R^2</math>. Calculate the coordinate vector of <math>v</math> with respect to the basis <math>B=\{(1,-1)^T, (1, 1)^T\}</math>. |lösung= We wish to find out what the coordinate vector of <math>v</math> looks like with respect to the basis <math>B=\{(1,-1)^T, (1, 1)^T\}</math>. This gives us a system of equations that needs to be solved: {{Math|<math> v = \begin{pmatrix} 3\\ 2 \end{pmatrix} = a_1 \cdot \begin{pmatrix} 1\\ -1 \end{pmatrix} + a_2 \cdot \begin{pmatrix} 1\\ 1 \end{pmatrix} </math>}} We now have two equations. On the one hand {{Math|<math> 3 = a_1 + a_2 </math>}} and on the other {{Math|<math> 2 = -a_1 + a_2. </math>}} Solving this linear system gives <math>a_1=0.5</math> and <math>a_2=2.5</math>. This results in the following for the coordinate vector {{Math|<math> [v]_B = \begin{pmatrix} 0.5\\ 2.5 \end{pmatrix}. </math>}} }} == Exercises on the rank of a matrix == {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= Determine the rank of the following matrix: <math>\mathcal M_{1}=\begin{pmatrix}1&2&0\\0&5&1\\0&10&2\end{pmatrix}</math> |lösung= We transform the matrix <math>\mathcal M_{1}</math> into row-level form and read off the rank of the matrix using the number of zero rows. We obtain: {{Math|<math>\begin{pmatrix}1&2&0\\0&5&1\\0&10&2\end{pmatrix} \overset{\text{Add}_{3,2}(-2)}{\rightsquigarrow} \begin{pmatrix}1&2&0\\0&5&1\\0&0&0\end{pmatrix} </math>}} We have created a zero row by converting to row-step form. The rank of our matrix is therefore <math>\text{rank}(\mathcal M_{1}) = 2</math>. In this case, the shorthand <math>\text{Add}_{3,2}(-2)</math> indicates that we have added the third row of the matrix with <math>-2</math> times the second row }} {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= Determine the rank of the following matrix: <math>\mathcal M_{2}=\begin{pmatrix}1&2&0&3\\0&5&1&2\\3&16&1&-2\\0&4&0&-1\end{pmatrix}</math> |lösung= We transform the matrix <math>\mathcal M_{2}</math> into row-level form and read off the rank of the matrix using the number of zero rows. We obtain: {{Math| <math>\begin{alignat}{3} &\begin{pmatrix}1&2&0&3\\0&5&1&2\\3&16&1&-2\\0&4&0&-1\end{pmatrix} &\overset{\text{Add}_{3,4}(-4)}{\rightsquigarrow}& \begin{pmatrix}1&2&0&3\\0&5&1&2\\3&0&1&2\\0&4&0&-1\end{pmatrix} \\ \overset{\text{Add}_{3,1}(-3)}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&5&1&2\\0&-6&1&-7\\0&4&0&-1\end{pmatrix} &\overset{\text{Mult}_{3}(\frac{4}{6})}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&5&1&2\\0&-4&\frac{4}{6}&-\frac{28}{6}\\0&4&0&-1\end{pmatrix} \\ \overset{\text{Add}_{3,4}(1)}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&5&1&2\\0&0&\frac{4}{6}&-\frac{17}{3}\\0&4&0&-1\end{pmatrix} &\overset{\text{Mult}_{2}(-\frac{4}{5})}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&-4&-\frac{4}{5}&-\frac{8}{5}\\0&0&\frac{4}{6}&-\frac{17}{3}\\0&4&0&-1\end{pmatrix} \\ \overset{\text{Add}_{4,2}(1)}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&4&\frac{4}{5}&\frac{8}{5}\\0&0&\frac{4}{6}&-\frac{17}{3}\\0&0&-\frac{4}{5}&-\frac{13}{5}\end{pmatrix} &\overset{\text{Mult}_{3}(\frac{6}{5})}{\rightsquigarrow}& \begin{pmatrix}1&2&0&3\\0&4&\frac{4}{5}&\frac{8}{5}\\0&0&\frac{4}{5}&-\frac{34}{5}\\0&0&-\frac{4}{5}&-\frac{13}{5}\end{pmatrix} \\ \overset{\text{Add}_{4,3}(1)}{\rightsquigarrow} & \begin{pmatrix}1&2&0&3\\0&4&\frac{4}{5}&\frac{8}{5}\\0&0&\frac{4}{5}&-\frac{34}{5}\\0&0&0&-\frac{47}{5}\end{pmatrix}&& \end{alignat}</math> }} By converting to row-level form, we have thus shown that for <math>\mathcal M_{2}</math> we have <math>\text{rank}(\mathcal M_{2}) = 4</math>. However, we could have seen much more quickly at this point that <math>\text{rank}(\mathcal M_{2}) = 4</math>. It is also sufficient to show that the column vectors (or equivalently the row vectors) are linearly independent. In this example, we decide to use the column vectors and show their linear independence. Let <math>\lambda, \mu, \theta, \phi \in \mathbb{R}</math>. {{Math|<math> 0 \overset{!}{ = } \lambda \cdot \begin{pmatrix}1\\0\\3\\0\end{pmatrix} + \mu \cdot \begin{pmatrix}2\\5\\16\\4\end{pmatrix} + \theta \cdot \begin{pmatrix}0\\1\\1\\0\end{pmatrix} + \phi \cdot \begin{pmatrix}3\\2\\-2\\-1 \end{pmatrix} </math>}} This gives us the linear system: {{Math| <math>\begin{alignat}{4} 1\cdot\lambda & + 2\cdot\mu &+ 0\cdot\theta & + 3\cdot\phi &= 0 \\[0.3em] 0\cdot\lambda & + 5\cdot\mu &+ 1\cdot\theta & + 2\cdot\phi &= 0 \\[0.3em] 3\cdot\lambda & + 16\cdot\mu &+ 1\cdot\theta & - 2\cdot\phi &= 0 \\[0.3em] 0\cdot\lambda & + 4\cdot\mu &+ 0\cdot\theta & - 1\cdot\phi &= 0 \end{alignat}</math>}} with the unique solution <math>\lambda = \mu = \theta =\phi = 0</math>, which shows the linear independence of the column vectors. However, the rank of a matrix describes the maximum number of linearly independent column vectors of the matrix. So <math>\text{rank}(\mathcal M_{2}) = 4</math>. }} The exercise therefore shows that it is not always advantageous to convert the matrix into row-level form in order to read off the rank of the matrix. == Exercises on matrix inversion == {{:Math for Non-Geeks/Template:Aufgabe |titel= |aufgabe= Let <math>\mathcal M \in \mathbb{R}^{n \times n}</math> be invertible. Furthermore, let <math>\mathcal M^3 = \mathcal M</math>. Show that <math>\mathcal M</math> is self-inverse, i.e., <math>\mathcal M = \mathcal M^{-1}</math>. |lösung= Since <math>\mathcal M \in \mathbb{R}^{n \times n}</math> is invertible, there exists an <math>\mathcal M^{-1} \in \mathbb{R}^{n \times n}</math> with <math>\mathcal M \cdot \mathcal M^{-1} = I_{n}</math>. Thus, we can write {{Math|<math>\begin{align} \mathcal M^3 &= \mathcal M \\[0.3em] & \quad{\color{Gray} \left\downarrow\ \text{multiplication from the right by } \mathcal M^{-1} \right.} \\[0.3em] \mathcal M^3 \cdot \mathcal M^{-1}&= \mathcal M \cdot \mathcal M^{-1} \\[0.3em] & \quad{\color{Gray} \left\downarrow\ \mathcal M \cdot \mathcal M^{-1} = I_{n}\right.} \\[0.3em] \mathcal M^2 &= I_{n} \\[0.3em] & \quad{\color{Gray} \left\downarrow\ \text{multiplication from the right by } \mathcal M^{-1} \right.} \\[0.3em] \mathcal M^2 \cdot \mathcal M^{-1} &= I_{n} \cdot \mathcal M^{-1}\\[0.3em] \mathcal M &= \mathcal M^{-1}\\[0.3em] \end{align}</math> }} }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 9xxhgrvjh15kkvf6b71xoih4ejuqt4h Math for Non-Geeks/Continuity of volumes on rings 0 473521 4635267 4623472 2026-05-11T16:31:30Z Sascha Lill 95 3167325 adjust equation format 4635267 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben |info={{:Math for Non-Geeks: Template:Banner/Maßtheorie Autorenwerbung}} }} In this article we derive the definition of continuity of volumes. We investigate how the notions of continuity from below and from above are related and learn about <math>\sigma</math>-rings as a domain of definition of continuous volumes. == Motivation for continuity of volumes == In the last chapter, we learned about [[Math for Non-Geeks: Volumes on rings|volumes]] defined on [[Math for Non-Geeks: Volumes on rings|rings]] defined as an abstract form of measuring (extensive) quantities. When measuring such quantities, we expect that small changes in the measured object will result in only small changes in the measurement result. Examples are * Ingredients for cooking: if you add only a little more, weight and taste will only change slightly. * Counting of objects: If one determines the number of an at most countably infinite quantity of objects, then this changes only little, if only few objects are added or taken away. * The area/circumference of a circle: If the radius is changed only little, area and circumference also only change little. A similar behaviour occurs for functions and is called ''continuity'', there. So we would also like to define a continuity for sets - more precisely, sequences of sets In fact, it is difficult to find extensive quantities in nature which are ''not'' continuous. It is also a natural and important question whether content functions are continuous (this should often be the case). Moreover, continuity has a very useful consequence: it allows an ''approximation'' of quantities to be measured. If small differences between sets cause only small differences between the measured values, then the error of the approximation can be controlled by the accuracy of the approximating sets. Thus, even "complicated" sets can be measured by approximating them with easier sets. An example is the approximation of the area of a circle (area complicated to describe) by rectangular figures (area easy to describe). [[File:AusschoepfungeneinesKreises.svg|center|400px|Exhaustion of an ellipse by rectangles]] Continuity therefore seems to be a desirable property of a volume. Before we examine this notion in more detail: Is there any (intuitively) discontinuous volume at all? If yes, we know what to exclude from the definition. {{:Math for Non-Geeks: Template:Beispiel |titel=A discontinuous volume |beispiel= We consider the basic set <math>\N</math> and the volume <math>\mu:\mathcal{P}(\N)\to[0,\infty]</math>, which assigns any subset of natural numbers either finite amount or infinity: {{Math|<math>\mu(A)=\begin{cases}0,\text{ if }|A|<\infty,\\ \infty\text{ else.}\end{cases}</math>}} In the article [[Math for Non-Geeks: Volumes on rings#Examples|volumes on rings]] we saw that <math>\mu</math> is really a volume defined on the ring <math>\mathcal{P}(\N)</math>. Now consider for <math>n\in\N</math> the sets <math>A_n=\{1,2,\dots,n\}</math>. For <math>n\to\infty</math> these obviously approximate the basic set <math>\N</math>. But since every <math>A_n</math> is finite, <math>\mu(A_n)=0</math> for every <math>n</math>. So the function value <math>\mu(\N)=\infty</math> is not approximated in the limit <math>n\to\infty</math>. So the volume is intuitively "discontinuous". }} So definitely not every volume is continuous, and it makes sense to define a precise notion of continuity. How can we formalize the continuity of a content mathematically? Following the sequence definition of continuity for real functions, we try the following definition: {{:Math for Non-Geeks: Template:Definition |titel=Continuous volume, first attempt |definition= A volume <math>\mu: \mathcal{R}\to[0,\infty]</math> on a ring <math>\mathcal{R}</math> is called ''continuous'', if for a sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with <math> A_n \overset{n\to\infty}{\longrightarrow} A\in\mathcal{R} </math> we have that <math> \lim_{n\to\infty} \mu(A_n) = \mu(A) </math>. }} But here we have to be careful: What is meant by <math> A_n \overset{n\to\infty}{\longrightarrow} A </math> if the <math>A_n</math> are sets? We first need a notion of convergence for sequences of sets. == Sequences of sets == Imagine a sequence of intervals of length 1, which constantly move to the right by step length 1, i.e., <math>(A_n)_n \subseteq \mathcal{P}(\R)</math>, <math> A_n = [n,n+1] </math> . It is hard to determine a limit set, to which this sequence of sets converges. In contrast, consider the sequence of sets <math>A_n=[0,1+1/n] </math>. Those seem to shrink to a set <math>[0,1]</math>: Since the <math>A_n</math> are contained within each other, one can take the set sequence to be an approximation of the set <math>[0,1]</math> "from outside/above". Similarly, one can take increasing sequences of sets to be approximations of a set "from inside/below" (for example, the sequence of <math>A_n=[0,1-1/n]</math> exhausting <math>[0,1)</math>). It is then meaningful to set the intersection or union of <math>A_n</math> as the limit of the sequence. <gallery widths=500 heights = 250> File:Set sequence nonconverging.svg|300px|The set sequence <math> A_n = [n,n+1] </math> "escapes to the right" and hence does not converge. File:Set sequence converging.svg|300px|The set sequence <math> A_n=[0,1+1/n] </math> shrinks down to <math>[0,1]</math> (blue region) and hence converges. </gallery> {{:Math for Non-Geeks: Template:Definition |titel=Monotonic sequence of sets |definition= Let <math>\Omega</math> be a set and <math>(A_n)_{n\in\N}\subseteq\mathcal{P}(\Omega)</math> a sequence of subsets. The sequence <math>(A_n)_{n\in\N}</math> is called ''increasing'' or ''monotonically increasing'' if <math>A_n\subseteq A_{n+1}</math> for all <math>n\in\N</math>. In this case we set {{Math|<math>\lim_{n\to\infty} A_n = \bigcup_{n=1}^{\infty} A_n =:A</math>}} and write <math>A_n\uparrow A</math>. The sequence <math>(A_n)_{n\in\N}</math> is called ''descending'' or ''monotonically descending'' if <math>A_n\supseteq A_{n+1}</math> for all <math>n\in\N</math> . In this case we set {{Math|<math>\lim_{n\to\infty} A_n = \bigcap_{n=1}^{\infty} A_n =:A</math>}} and write <math>A_n\downarrow A</math>. }} {{:Math for Non-Geeks: Template:Hinweis| With our definition we can speak of the limit of a set sequence only if it is monotonic. This is enough for us at this point. But one can define <math>\liminf</math> and <math>\limsup</math> for arbitrary set sequences, which always exist as for real number sequences. Then, we are able to define even more converging sequences of sets. }} Let's have a look at some examples: {{:Math for Non-Geeks: Template:Beispiel |titel=Monotonic sequence of sets |beispiel= The sequence <math>A_n=[0,1+1/n]\subseteq\R</math> is monotonically decreasing with limit {{Math|<math>\lim_{n\to\infty}A_n=\bigcap_{n=1}^\infty [0,1+1/n] = [0,1].</math>}} The inclusion "<math>\supseteq</math>" holds since <math>[0,1]\subseteq A_n</math> for all <math>n\in\N</math>. On the other hand, the limiting set cannot contain more elements, since none of the <math>A_n</math> contains negative numbers and every number strictly greater than one is no longer in <math>A_n</math> for an index <math>n</math>, so it is not in the intersection either. Another example for a monotonically decreasing set sequence is <math>A_n=\{n,n+1,\dots\}\subseteq\N</math>. One shows with similar arguments that for this sequence <math>\lim_{n\to\infty}A_n=\emptyset</math> is the limit. The sequence of <math>A_n=[0,1-1/n]\subseteq\R</math> is an example of a monotonically increasing set sequence. Its limit is {{Math|<math>\lim_{n\to\infty}A_n=\bigcup_{n=1}^\infty [0,1-1/n]=[0,1).</math>}} The inclusion "<math>\supseteq</math>" holds since every <math>x\in[0,1)</math> lies in the set <math>A_n</math> for some index <math>n</math>. On the other hand, the limit cannot be a larger interval since none of the <math>A_n</math> contains negative numbers or one. Another monotonically increasing sequence of sets is <math>A_n=\{1,2,\dots,n\}\subseteq\N</math>. The limit is <math>\lim_{n\to\infty}A_n=\N</math>, as can be seen similarly. }} How do limits of monotonic set sequences get along with set rings? Is the limit in the ring? Let's look at the ring <math>\mathcal{R}</math> of [[Math for Non-Geeks: Volumes on rings|cuboids]] in <math>\R^2</math> (i.e., rectangles) and two examples of monotonic growing set sequences in this ring. In the left picture a rectangle is approximated by a sequence of smaller rectangles. The limit is itself a rectangle and again lies in <math>\mathcal{R}</math>. On the right we see how a circle is approximated by rectangles. But the limiting set is no longer a rectangle and hence not in <math>\mathcal{R}</math>. [[File:PrämaßmitkorrektemRand.svg|300 px|Exhaustion of a rectangle by other rectangles]] [[File:AusschoepfungeneinesKreises.svg|300px|Exhaustion of a circle by rectangles]] Obviously, the limit of a monotonic sequence of sets from a ring does not necessarily have to lie in the ring again. Our reasoning for this was rather intuitive with the rectangles (= 2D-cuboids), but we can also give a very concrete (not only intuitive) and short example: {{:Math for Non-Geeks: Template:Beispiel |titel=Limit is no element of the ring |beispiel= Consider the ring <math>\mathcal{R}\subseteq\mathcal{P}(\N)</math> of all finite subsets of <math>\N</math> (we learned about this ring [[Math for Non-Geeks: Volumes on rings|here]]). The sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with <math>A_n=\{1,2,\dots,n\}</math> is monotonically increasing and lies in <math>\mathcal{R}</math>. But its limit is all of <math>\N</math> and thus no longer lies in the ring of all finite subsets of <math>\N</math>. }} == Continuity from below and above == === Definition of continuity === Equipped with this definition of limits of set sequences we can now make another attempt to define the continuity of a volume <math>\mu</math> on a ring <math>\mathcal{R}</math>. We have just seen that for a monotonic set sequence on a ring <math>\mathcal{R}</math> its limit is not necessarily again in the ring. Therefore, we must impose the restrictive condition that the limit of the set sequence lies again in the ring for the definition to make sense. {{:Math for Non-Geeks: Template:Definition |titel=Continuous volume, second attempt |definition= A volume <math>\mu: \mathcal{R}\to[0,\infty]</math> on a ring <math>\mathcal{R}</math> is called ''continuous from below'' (''from above''), if for every ascending (descending) set sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with limit <math>A\in\mathcal{R}</math>, it holds that {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\mu(A)</math>}} A volume is just called ''continuous'' if it is continuous of below and of above. }} Let's take an example to see if this improved definition already describes the concept of continuity to our satisfaction. {{:Math for Non-Geeks: Template:Beispiel |titel=A problem with the definition |beispiel= In the introduction we learned about counting the elements contained in a set as an example of an (intuitively) continuous volume. Let us look at the set system {{Math|<math>\mathcal{R}=\{A\subseteq\N:A \text{ finite }\}</math>}} of all finite subsets of <math>\N</math>. In the article [[Math for Non-Geeks: Volumes on rings#Examples|volumes on rings]] we saw that counting the elements of finite subsets of <math>\N</math> really defines a volume: {{Math|<math>\mu:\mathcal{R}\to[0,\infty],\quad\mu(A)=|A|</math>}} We now expect <math>\mu</math> to be continuous from below and from above in the sense of the new definition. Let then <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> be a monotonically growing sequence whose limit <math>A</math> is also in <math>\mathcal{R}</math>. Since the <math>A_n</math> converge to <math>A</math>, the number of elements in <math>A</math> must be the limit of the number of elements of <math>A_n</math>. In other words, we have that {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\lim_{n\to\infty}|A_n|=|A|=\mu(A).</math>}} Thus <math>\mu</math> is continuous of below in the sense of our definition. Let now <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> be a monotonically decreasing sequence whose limit <math>A</math> is also in <math>\mathcal{R}</math>. Again, for the same reasons, the continuity condition must be satisfied. Thus <math>\mu</math> is continuous on the ring <math>\mathcal{R}</math> in the sense of the definition. One can also consider the volume <math>\mu</math> on the whole power set <math>\mathcal{P}(\N)</math>. Intuitively, counting of elements should be just as continuous on arbitrary subsets of <math>\N</math> as on finite subsets. In the argumentation, however, we should make a distinction between finite and infinite to be on the safe side: Let <math>(A_n)_{n\in\N}\subseteq\mathcal{P}(\N)</math> again be a monotonically increasing sequence of subsets with limit <math>A\subseteq\N</math>. If <math>A</math> contains only finitely many elements, then because of monotonicity, <math>A_n\subseteq A</math> and we can argue as above. But since <math>A</math> is the limit of <math>A_n</math>, the argument works even if <math>A</math> contains infinitely many elements: If <math>\lim_{n\to\infty}|A_n|\neq\infty</math>, then the number of elements in the <math>A_n</math> would not grow beyond a maximal index. Thus the sequence of <math>A_n</math> would be constant from an index and in particular could not converge to an infinite set. So <math>\lim_{n\to\infty}|A_n|=\infty</math> must hold and also for infinite <math>A</math>, we have that {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\lim_{n\to\infty}|A_n|=\infty=|A|=\mu(A).</math>}} If the <math>A_n</math> now form a monotonically decreasing sequence and all sets of the sequence are finite, then because of the monotonicity, also the limit <math>A</math> is a finite set and we can argue as above. It works the same way if only finitely many of the <math>A_n</math> are infinite: We can omit all infinite sequences elements without restriction, since omitting finitely many elements of a sequence does not change its limit, and get again a sequence of finite sets only. The situation is different if all <math>A_n</math> of the sequence are infinite sets. To satisfy the continuity condition, we would need {{Math|<math>\mu(A)=\lim_{n\to\infty}\mu(A_n)=\infty</math>}} meaning that the limit <math>A</math> of the sequence contains infinitely many elements. But since the sequence is monotonically decreasing, this is not guaranteed. We have not excluded that a descending sequence of infinite sets converges to a finite set. Try to find such a sequence before reading on! Consider the sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{P}(\N)</math> with <math>A_n=\{n,n+1,\dots\}</math>. The <math>A_n</math> converge decreasingly to the empty set. But at the same time we have that <math>\mu(A_n)=\infty</math> for all <math>n</math>. So {{Math|<math>\lim_{n\to\infty}\mu(A_n) = \infty \neq 0 = \mu(\emptyset).</math>}} I.e., the volume <math>\mu</math>, which intuitively should be continuous, is not continuous in the sense of our definition. }} So there are volumes which are intuitively continuous, but discontinuous in the sense of our definition. Obviously there is a problem with the definition of the continuity of above. Note: With the second definition of continuity, such "unreasonable" cases can also occur. For instance, the monotonic sequence of <math>\mu(A_n)</math> can be bounded, while <math>\mu(A)=\infty</math> holds for the limit of the sequence of sets. However, calling such a volume discontinuous does not contradict our intuition. We saw an [[Math for Non-Geeks: Continuity of volumes on rings#Example:A discontinuous volume|example]] of this at the beginning of the article. Now what is the problem with the above definition of continuity? It is apparently due to the occurrence of the value infinity: while every <math>A_n</math> is slightly "less" infinite than its predecessors, nevertheless <math>\mu(A_n)=\infty</math>. We have to exclude this case in the definition of continuity. For this we require finiteness of the decreasing sequence, at least after passing a certain minimal index (like a sequence, which decreases starting from some minimal index). [[File:Setfunctions2.svg|thumb|Continuous volumes are a special kind of volumes.]] {{:Math for Non-Geeks: Template:Definition |titel=Continuous volume (final definition) |anker=Continuous volume |definition= A volume <math>\mu:\mathcal{R}\to[0,\infty]</math> on a ring <math>\mathcal{R}</math> is called ''continuous from below'' if for every increasing set sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with limit <math>A\in\mathcal{R}</math>, it holds that {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\mu(A)</math>}} It is called ''continuous from above'' if for every decreasing set sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with <math>\mu(A_n)<\infty</math> for one (and thus for all further) <math>n\in\N</math> and with limit <math>A\in\mathcal{R}</math>, it holds that {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\mu(A)</math>}} A volume is just called ''continuous'' if it is continuous from below and above. }} {{:Math for Non-Geeks: Template:Hinweis| The continuity of volumes or more generally of functions on sets is sometimes also called ''<math>\sigma</math>-continuity'' ("sigma-continuity"). The prefix <math>\sigma</math> is meant to remind of "sum" and means in this context something like "countable": <math>\sigma</math>-continuous volumes behave continuously at the transition from finite to countable unions or cuts. }} Note: It is not necessary to require finiteness starting from an index within the continuity from ''below'': If <math>\mu(A_N)=\infty</math> holds for an index <math>N\in\N</math>, then we have that <math>\mu(A_n)=\infty</math> also for all subsequent <math>n\geq N</math> because of the monotonicity of the volume <math>\mu</math>. For the same reason, infiniteness then also holds for the limit <math>\bigcup_{n\in\N}A_n</math>. === Continuity from below implies continuity from above === Continuity from above and continuity from below do not seem to be quite equivalent: At least, with the continuity from above one has to make restrictions which are not necessary with the continuity from below. How exactly are the two notions related? Does one imply the other? To get an answer, we try to find an analogy to sequences of real numbers. Let <math>(x_n)_{n\in\N}\subseteq\R</math> be a monotonically decreasing sequence of non-negative real numbers. You can make it a monotonically increasing sequence of non-negative real numbers by considering the sequence <math>(x_1-x_n)_{n\in\N}</math>. If this sequence converges to a value <math>y\in\R</math>, we can conclude that the original sequence <math>(x_n)_{n\in\N}</math> converges to <math>x_1-y</math>. Suppose we now know that a volume is continuous from below. Then we can infer the continuity from above by turning in the same way from a monotonically decreasing set sequence <math>(A_n)_{n\in\N}</math> into a monotonically increasing set sequence <math>(A_1\setminus A_n)_{n\in\N}</math>. After that transformation, we can then exploit the continuity from below. Crucially, we must only need to consider decreasing sequences of sets with finite volume, so we don't get any problems with subtraction. {{:Math for Non-Geeks: Template:Satz |titel=continuity from below implies continuity from above |satz= Let <math>\mu:\mathcal{R}\to[0,\infty]</math> be a volume on a ring <math>\mathcal{R}</math>. If <math>\mu</math> is continuous from below, then <math>\mu</math> is also continuous from above. In particular, continuity of a content from below is equivalent to just continuity. |beweis= Let <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> be a monotonically decreasing set sequence with <math>\mu(A_n)<\infty</math> starting at an index <math>N\in\N</math>. Since omitting finitely many sequences elements does not change the limit, we can assume <math>N=1</math> without restriction. The limit <math>A=\bigcap_{n\in\N} A_n</math> lies in <math>\mathcal{R}</math>, as well. We want to show <math>\lim_{n\to\infty}\mu(A_n)=\mu(A)</math>. The sequence <math>(A_1\setminus A_n)_{n\in\N}</math> is monotonically increasing and lies in the ring <math>\mathcal{R}</math>, as well. Also the limit <math>A_1\setminus A</math> lies in <math>\mathcal{R}</math>. Furthermore, due to monotonicity, all these sets have finite content. From the continuity from below we know that <math>\lim_{n\to\infty}\mu(A_1\setminus A_n)=\mu(A_1\setminus A)</math> holds. Since moreover <math>A_n\subseteq A_1</math> for all <math>n\in\N</math> , we have that <math>A_1=A_n\uplus(A_1\setminus A_n)</math>. With the additivity of the volume <math>\mu</math> it follows that {{Math|<math>\mu(A_1)=\mu(A_n\uplus(A_1\setminus A_n))=\mu(A_n)+\mu(A_1\setminus A_n),</math>}} so <math>\mu(A_n)=\mu(A_1)-\mu(A_1\setminus A_n)</math>. (Alternatively, one can argue directly with the subtractivity of volumes on rings). Likewise, we have that <math>\mu(A)=\mu(A_1)-\mu(A_1\setminus A)</math>. Since the contents of all involved volumes are finite, these differences make sense and by continuity from below, {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\mu(A_1)-\lim_{n\to\infty}\mu(A_1\setminus A_n)=\mu(A_1)-\mu(A_1\setminus A)=\mu(A).</math>}} }} === Continuity from above does not imply continuity from below === In the same way it should work if we know that a volume is continuous from above: we turn an increasing sequence into a descending one and exploit the continuity from above. But here we have to be careful! The continuity from above only holds for sequences which have ''finite'' content starting from an index. This condition is not guaranteed to be satisfied if we construct a descending sequence starting from an ''arbitrary'' increasing one. This problem can also occur with real-valued sequences: From a monotonically increasing sequence <math>(x_n)_{n\in\N}</math> convergent to some <math>x\in\R</math>, we can construct the monotonically decreasing sequence <math>(x-x_n)_{n\in\N}</math>. But if <math>(x_n)_{n\in\N}</math> is not upper bounded but tends to infinity, this is no longer possible. For set sequences, on one hand, for every monotonically growing sequence <math>(A_n)_{n\to\infty}</math> with limit <math>A</math> the sequence <math>(A\setminus A_n)_{n\in\N}</math> is monotonically decreasing. But on the other hand, it can occur that <math>\mu(A\setminus A_n)=\infty</math> for all <math>n</math>. With such a sequence, we cannot use the continuity from above. So we cannot expect that the continuity from above always follows from the continuity from below. This is illustrated by the following example, which we already got to know in the first section as an example of a discontinuous volume: {{:Math for Non-Geeks: Template:Beispiel |titel=Continuity from above does not imply continuity from below |beispiel= The set sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{P}(\N)</math> with <math>A_n=\{1,2,\dots,n\}</math> is increasing with <math>A_n\uparrow\N</math>. Thus, the sequence of <math>B_n=\N\setminus A_n=\{n+1,n+2,\dots\}</math> is a descending sequence with <math>B_n\downarrow\emptyset</math>. While all <math>A_n</math> are finite sets, the <math>B_n</math> are all infinite. Let us now consider the volume that determines whether a subset of natural numbers is finite or infinite: {{Math|<math>\mu:\mathcal{P}(\N)\to[0,\infty],\quad\mu(A)=\begin{cases}0,\text{ if }|A|<\infty,\\ \infty\text{ else.}\end{cases}</math>}} Obviously <math>\mu</math> is continuous from above: The only descending set sequences that satisfy the finiteness condition are finite from an index, and then, their content is constantly <math>0</math>. But now the sequence of <math>B_n</math> does not satisfy the finiteness condition from an index, so we cannot use it to infer the continuity from below of <math>\mu</math> for the sequence of <math>A_n</math>. And indeed, {{Math|<math>\lim_{n\to\infty}\mu(A_n)=\lim_{n\to\infty}0=0\neq\infty=\mu(\lim_{n\to\infty}A_n)=\mu(\N),</math>}} So <math>\mu</math> is not continuous from below. In particular, from the continuity of a content from above, we generally not get the continuity from below! We already got to know this volume in the introduction as an example for a (intuitively) discontinuous volume. The example shows that <math>\mu</math> is not continuous also in the sense of our definition. }} We capture this observation: {{:Math for Non-Geeks: Template:Warnung| From the continuity of a content from above, we can generally ''not'' imply the continuity from below. }} === For finite rings, continuity from above and below are equivalent === Intuitively, the continuity from above is weaker, because one has to impose the condition of finiteness of the volume starting from an index. So one "loses" some sequences if the volume does not take only finite values. In fact, "from above" and "from below" are equivalent for ''finite'' volumes: {{:Math for Non-Geeks: Template:Satz |titel=For finite rings, continuity from above and below are equivalent |satz= Let <math>\mu</math> be a finite volume on a ring <math>\mathcal{R}</math>, i.e.. <math>\mu(A)<\infty</math> for all <math>A\in\mathcal{R}</math>. Then, we have {{Math|<math>\mu\text{ continuous from above}\iff\mu\text{ continuous from below.}</math>}} |beweis= We have already shown that continuity from below always implies continuity from above. Consequently, it is now sufficient for the finite case to show the other direction. So let <math>\mu</math> be continuous from above and <math>(A_n)_{n\in\N}</math> be a sequence converging from below to <math>A\in \mathcal{R}</math> with sets from <math>\mathcal{R}</math>, i.e. <math>\bigcup_{n\in\N} A_n = A</math>. We note that <math>(A \setminus A_n)</math> is always back in the ring <math>\mathcal{R}</math>. (stability when taking differences). We construct a decreasing set sequence <math>(B_n)_{n\in\N}</math> from the increasing one to exploit the continuity given above. For this we define <math>B_n = A \setminus A_n</math> for all <math>n\in\N</math>. Since <math>(A_n)_{n\in\N}</math> was increasing, <math>(B_n)_{n\in\N}</math> is decreasing. It follows that <math>\bigcap_{n\in \N} B_n = \bigcap_{n\in \N} (A \setminus A_n) = A \setminus \bigcup_{n\in\N} (A_n) = A \setminus A = \emptyset</math>. Thus <math>(B_n)_{n\in\N}</math> is a set sequence converging to <math>\emptyset</math> in <math>\mathcal{R}</math>. Because of the assumed continuity of above, we have {{Math|<math>\lim_{n\to\infty} \mu(B_n) = \mu(A\setminus A) = \mu(\emptyset) .</math>}} Here we also used the finiteness of <math>\mu</math> in order to get continuity from above (<math>\mu(B_n)</math> is always finite). For every <math>n\mu</math>, due to additivity, <math>\mu(A)= \mu(A_n\uplus B_n) = \mu(A_n) + \mu(B_n)</math>. Thus <math>\lim_{n\to \infty}\mu(A_n) = \lim_{n\to \infty} \mu(A) - \mu(B_n) = \mu(A) - \mu(\emptyset) = \mu(A).</math> }} === Equivalent characterization of continuity from above === Finally, we give a simpler characterization of the continuity from above. It can be useful to prove the continuity of finite contents: {{:Math for Non-Geeks: Template:Satz |titel=Continuity from above and in <math>\emptyset</math> |satz= For a volume <math>\mu</math> on a ring <math>\mathcal{R}</math> , the following statements are equivalent: # <math>\mu</math> is continuous from above. # <math>\mu</math> is continuous in <math>\emptyset</math>, i.e. for all monotonically decreasing sequences <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with <math>\mu(A_n)<\infty</math> starting from some <math>n</math> and <math>A_n\downarrow\emptyset</math> we have that <math>\lim_{n\to\infty}\mu(A_n)=0</math>. |beweis= <math>1 \implies 2</math>: This is simply the definition of "continuity of above" applied to <math>\emptyset</math>. <math>2 \implies 1</math>: Let now <math>\mu</math> be continuous in <math>\emptyset</math>, and let <math>(A_n)_{n\in\N}\subseteq\mathcal{R}</math> with <math>\mu(A_n)<\infty</math> starting from some <math>n</math> and <math>A_n\downarrow A \in \mathcal{R}</math>. Then <math>(A_n\setminus A)_{n\in\N} \subseteq\mathcal{R}</math> is monotonically decreasing, and with the monotonicity property of volumes we have that <math>\mu(A_n \setminus A) \leq \mu(A_n)<\infty</math> starting from some <math>n</math>. Since moreover we have that <math>\bigcap_{n \in \N}(A_n \setminus A) = \left(\bigcap_{n \in \N}A_n \right) \setminus A = A\setminus A = \emptyset</math>, it follows that <math>(A_n \setminus A)_{n \in \N}</math> converges to <math>\emptyset</math> from above. By our assumption then <math>\lim_{n \to \infty} \mu(A_n \setminus A) = 0</math>. Since <math>\mu(A_n)</math> is finite for sufficiently large <math>n</math>, and since always <math> A \subseteq A_n</math> holds, it follows that <math>\mu(A_n \setminus A) = \mu(A_n) - \mu(A)</math>. So we can conclude: {{Math|<math>\lim_{n \to \infty} \mu(A_n) -\mu(A) = \lim_{n \to \infty} \mu(A_n \setminus A) = 0.</math>}} }} == Examples for continuous volumes == Now that we know so much about continuous volumes, we can look at some concrete examples. {{:Math for Non-Geeks: Template:Beispiel |titel= |beispiel= Let <math>\mathcal{R}</math> be a Ring. a volume of the form {{Math|<math>\delta_x(A)=\begin{cases}1,\text{ if }x\in A,\\ 0\text{ else.}\end{cases}</math>}} is always continuous. If <math>(A_n)_{n\in \N} \subseteq \mathcal{R}</math> from below against a <math>A \in \mathcal{R}</math>, then there are two possibilities: <math>x \notin A</math>: Then, we have because of <math>A_n \subseteq A</math> that <math>x \notin A_n</math> for all <math>n \in \N</math>. In addition, we have that <math>\delta_x(A_n) = 0 \overset{n\to \infty}{\longrightarrow} 0 = \delta_x(A)</math>. <math>x \in A</math>: Then, we have since <math>\bigcup_{n \in \N} A_n = A</math> that there is an <math>n_0 \in \N</math> with <math>x \in A_{n_0}</math>. Hence, from the monotonicity of the set sequence we get <math>x \in A_n</math> for all <math>n > n_0</math>. Hence, <math>\delta_x(A_n) \overset{n\to \infty}{\longrightarrow} 1 = \delta(A)</math>. Thus <math>\delta_x</math> is continuous from below and therefore also continuous. }} {{:Math for Non-Geeks: Template:Beispiel |titel=Volumes on rings of finite cardinality |beispiel= If <math>\mu</math> is a volume on <math>\mathcal{R}</math>, with <math>|\mathcal{R}| < \infty</math>, then the sequences, which converge in <math>\mathcal{R}</math> are exactly the set sequences which are constant starting from some index. The continuity of <math>\mu</math> then follows directly. }} {{:Math for Non-Geeks: Template:Beispiel |titel=The geometric volume |beispiel= We already know the ring of [[Math for Non-Geeks: Volumes on rings#Example:Ring of cuboids|cuboids]] : this is the set of all finite unions of axis-parallel cuboids in <math>\R^n</math>. (An axis-parallel cuboid in <math>\R^n</math> is a product <math>I_1\times\dots\times I_n</math> of intervals (each open, half-open, or closed).) We defined the [[Math for Non-Geeks: Volumes on rings#Example:Geometric volume of cuboids|geometric volume]] <math>\lambda</math> on this ring as follows: For a single cuboid <math>Q=I_1\times\dots I_n</math>, <math>\lambda(Q):=|I_1|\dots|I_n|</math> is the product of the side lengths. For a cuboid <math> A = \biguplus_{i=1}^k Q_i </math> (where the <math>Q_i</math> are axis-parallel cuboids, without restriction assumed to be pairwise disjoint) define <math>\lambda(A) := \sum_{i=1}^k\lambda(Q_i)</math>. One can show that the geometric volume <math>\lambda</math> is continuous. {{Todo|Show that \lambda is continuous (from below) / sketch the proof. this goes just as one also shows that \lambda is a premeasure, with some epsilontics...}} }} Furthermore, one can easily show that finite linear combinations of continuous volumes are continuous again. == Sigma-rings == <gallery widths="320" heights="250"> File:Ring ellipse en.svg|300px|A '''ring''' (of sets) does not necessarily have to include all limiting sets. File:Sigma ring ellipse en.svg|300px|However, a '''<math>\sigma</math>-Ring''' must also include all limiting sets. </gallery> We now know what continuity of a volume on a ring means. In the introduction we stated that continuity allows to measure sets by approximation, since small deviations of the sets induce only small deviations of the measured values. Thus, if a volume on a ring <math>\mathcal{R}</math> is continuous, it should be possible to measure not only the sets from <math>\mathcal{R}</math>, but also all with sets from <math>\mathcal{R}</math> that can be approximated. The approximable sets are even the limits of monotonically increasing or decreasing sequences of sets. So we have that for continuous volumes it makes sense to use a ring as domain of definition, which also contains the limit values of such sequences: [[File:Setsystems3.svg|thumb|A <math>\sigma</math>-ring is a special ring. The arrow means "is included in"]] {{:Math for Non-Geeks: Template:Definition |titel=<math>\sigma</math>-ring |anker=sigma-Ring |definition= A ring <math>\mathcal{R}\subseteq\mathcal{P}(\Omega)</math> over some basic set <math>\Omega</math> is called ''<math>\sigma</math>-Ring'', if: * limits of increasing sets sequences in <math>\mathcal{R}</math> lie in <math>\mathcal{R}</math>, * limits of decreasing sets sequences in <math>\mathcal{R}</math> lie in <math>\mathcal{R}</math>. }} For the continuity of a volume the continuity of below was sufficient, because one can construct an increasing set sequence out of every decreasing one. In the same way it is sufficient to formulate the closedness of <math>\mathcal{R}</math> only for limits of increasing set sequences: If <math>(A_n)_{n\in\N}</math> is a monotonically decreasing set sequence with limit <math>A</math>, then the sequence of <math>B_n=A_1\setminus A_n</math> is a monotonically increasing sequence with limit <math>A_1\setminus A</math>. Since <math>\mathcal{R}</math> is a ring, so in particular stable under differences, we have that {{Math|<math>A_n=A_1\setminus(A_1\setminus A_n)\in\mathcal{R}\iff A_1\setminus A_n \in\mathcal{R}</math>}} for all <math>n</math> and {{Math|<math>A=A_1\setminus(A_1\setminus A)\in\mathcal{R}\iff A_1\setminus A\in\mathcal{R}.</math>}} For the equalities on the left-hand side we have exploited <math>A_n\subseteq A_1</math> and <math>A\subseteq A_1</math> respectively. So it is enough to require that limit values of monotonically increasing set sequences are again in the set system <math>\mathcal{R}</math>, and we have the equivalent definition: {{:Math for Non-Geeks: Template:Definition |titel=<math>\sigma</math>-ring (equivalent definition) |definition= A ring <math>\mathcal{R}\subseteq\mathcal{P}(\Omega)</math> over a basic set <math>\Omega</math> is called a ''<math>\sigma</math>-ring'' if for every increasing set sequence in <math>\mathcal{R}</math> its limit is also in <math>\mathcal{R}</math>. }} In the literature <math>\sigma</math>-rings are often defined differently. We prove that the following is an equivalent characterization. {{:Math for Non-Geeks: Template:Satz |titel=Alternative characterization of <math>\sigma</math>-rings |satz= A set system <math>\mathcal{R}\subseteq\mathcal{P}(\Omega)</math> over a basic set <math>\Omega</math> is a <math>\sigma</math>-ring exactly if: # <math>\mathcal{R}\neq\emptyset</math> # <math>A_1,A_2,\dots \in\mathcal{R}\implies\bigcup_{i=1}^\infty A_i\in\mathcal{R}</math> # <math>A,B\in\mathcal{R}\implies A\setminus B\in\mathcal{R}</math> |beweis= Let <math>\mathcal{R}</math> be a <math>\sigma</math>-ring. Since <math>\mathcal{R}</math> is a ring, properties 1 and 3 of this theorem are satisfied. Now let <math>(A_n)_{n \in \N}</math> be a sequence in <math>\mathcal{R}</math>. As <math>\mathcal{R}</math> is a ring, finite unions of the form <math>B_n = \bigcup_{k=1}^{n} A_n \in \mathcal{R}</math>. Since <math>\mathcal{R}</math> is a <math>\sigma</math>-ring, and because <math>(B_n)_{n \in \N}</math> is an increasing set sequence in <math>\mathcal{R}</math>, it follows that <math>\bigcup_{n \in \N} A_n = \bigcup_{n \in \N} B_n = \lim_{n\to \infty} B_n \in \mathcal{R}</math>. So property 2 also holds. Let now <math>\mathcal{R}</math> be a set system with properties 1, 2 and 3. Because of 1 and 3, <math>\emptyset \in \mathcal{R}</math> holds: we have <math>A \in \mathcal{R}</math> from which follows <math>\emptyset = A \setminus A \in \mathcal{R}</math>. Thus, from the union stability with respect to countable unions, we also get the union stability with respect to finite unions. Thus, <math>\mathcal{R}</math> is a ring. To show that <math>\mathcal{R}</math> is a <math>\sigma</math>-ring, let <math>(B_n)_{n \in \N}</math> be an increasing set sequence in <math>\mathcal{R}</math>. Then, because of property 2, we have <math>\lim_{n \to \infty} B_n = \bigcup_{n \in \N} B_n \in \mathcal{R}</math>. That is, <math>\mathcal{R}</math> is closed with respect to taking limits of increasing set sequences and hence <math>\mathcal{R}</math> is a <math>\sigma</math>-ring. }} == Examples for sigma-rings == {{:Math for Non-Geeks: Template:Beispiel |titel=Power set and finite rings |beispiel= For every basic set <math>\Omega</math> , the power set <math>\mathcal{P}(\Omega)</math> is a <math>\sigma</math>-ring. Every finite ring <math>\mathcal{R}</math> (i.e. contains only finitely many sets) is a <math>\sigma</math>-ring: The second property in the definition is trivially satisfied, since there are only finitely many sets which can be joined, and <math>\mathcal{R}</math> is closed as a ring under finite unions. }} {{:Math for Non-Geeks: Template:Beispiel |titel=Countable subsets |beispiel= We have already met the ring <math>\mathcal{R}=\{A\subseteq\R\mid A\text{ countable}\}</math> of [[Math for Non-Geeks: Volumes on rings#Example:Countable subsets|countable subsets of <math>\R</math>]]. This is a <math>\sigma</math> ring: # Since the empty set is countable, <math>\mathcal{R}</math> is non-empty. # If <math>A_1,A_2,\dots\subseteq\R</math> is a sequence of countable sets, then their union is also countable, so we have that <math>\bigcup_{i=1}^\infty A_i\in\mathcal{R}</math>. # If <math>A,B\subseteq\R</math> are countable, then because <math>A\setminus B\subseteq A</math>, their difference is also countable and so <math>A\setminus B\in\mathcal{R}</math>. }} {{:Math for Non-Geeks: Template:Beispiel |titel=Finite subsets |beispiel= By contrast, the set system <math>\mathcal{R}=\{A\subseteq\N\mid A\text{ finite}\}</math> of finite subsets of <math>\N</math> is indeed [[Math for Non-Geeks: Volumes on rings#Example:Finite subsets|a ring]], but not a <math>\sigma</math>-ring: For the sets <math>A_n=\{1,\dots,n\}\in\mathcal{R}</math> we have that {{Math|<math>\bigcup_{n=1}^\infty A_n=\N\notin\mathcal{R}.</math>}} }} {{:Math for Non-Geeks: Template:Beispiel |titel=<math>\sigma</math>-ring of cuboids |beispiel= Consider the set system {{Math|<math>\mathcal{Q}=\left\{\prod_{k=1}^nI_k\mid I_k\subseteq\R\text{ interval}\right\}\subseteq\R^n</math>}} of the axis-parallel cuboids in <math>\R^n</math>. (The intervals in the product may be open, half-open, or closed.) We already know the [[Math for Non-Geeks: Volumes on rings#Example:Ring of cuboids|ring of cuboids]] in <math>\R^n</math>. It is defined as the ring ''generated'' by <math>\mathcal{Q}</math>, that is, the smallest ring containing <math>\mathcal{Q}</math>. In the same way one can consider the <math>\sigma</math>-ring <math>\mathcal{R}</math> generated by <math>\mathcal{Q}</math>. Like the ring of cuboids, <math>\mathcal{R}</math> can be defined as the intersection of all <math>\sigma</math>-rings over <math>\R^n</math> containing the cuboids <math>\mathcal{Q}</math>. (Compare also the article on [[Math for Non-Geeks: Generated sigma-algebras|generated <math>\sigma</math>-algebras]]). [[File:Ringe.svg|thumb|300px|A union of cuboids <math>\R^2</math>]] While the ring generated by the cuboids contains only cuboid unions, the <math>\sigma</math>-ring <math>\mathcal{R}</math> additionally contains all sets which can be approximated by cuboid figures, such as the circle. [[File:AusschoepfungeneinesKreises.svg|center|400px|Exhaustion of a circle with rectangles]] }} {{#invoke:Math for Non-Geeks/Seite|unten}} 182klloialy0mpcv0hfgcse0dg7yxl3 Math for Non-Geeks/Generated sigma-algebras 0 473524 4635268 4623478 2026-05-11T16:33:42Z Sascha Lill 95 3167325 adjust equation format 4635268 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben |info={{:Math for Non-Geeks: Template:Banner/Maßtheorie Autorenwerbung}} }} In this article we learn what the <math>\sigma</math> algebra generated by a set system is. We prove some important properties and get to know the Borel <math>\sigma</math>-algebra. == Motivation == Let <math>\mathcal{C}</math> be a set system over a basic set <math>\Omega</math> and <math>\mu\colon\mathcal{C}\to[0,\infty]</math> a function on sets. Our goal is to find out how and under what conditions <math>\mu</math> can be continued to a measure on a reasonable <math>\sigma</math>-algebra <math>\mathcal{A}</math>. A continuation must be defined at least on the domain of definition of the function to be continued. Therefore, the set system <math>\mathcal{C}</math> must be contained in <math>\mathcal{A}</math>. One possibility would be to choose by default the power set <math>\mathcal{P}(\Omega)</math> as domain of definition of the continuation (i.e., the largest possible domain): It is a <math>\sigma</math> algebra and contains <math>\mathcal{C}</math>. But this is not always a sensible choice: * The power set is in general too ambitious a target for a continuation: the [[Math for Non-Geeks: Volumes on rings#Exkurs: Das Inhaltsproblem|volume problem]] shows that with intuitive ''geometric volumes'' there can be problems defining them on the whole power set. So the power set may be too large to continue a ''measure'' to it. * The power set may also be unnecessarily large: compared to the set system <math>\mathcal{C}</math>, <math>\mathcal{P}(\Omega)</math> may contain ''too many'' sets to which continuation then makes no sense. A simple example for this case is when <math>\mu</math> is a measure and <math>\mathcal{C}</math> itself is already a <math>\sigma</math> algebra, but not the power set. A concrete example for the second point is the following: {{:Math for Non-Geeks: Template:Beispiel |titel=Reasonable extension of <math>\mathcal{C}</math> |beispiel= Let <math>\Omega=\{1,2,3,4\}</math> and <math>\mathcal{C}=\{ \{1,2\},\{3,4\} \}</math>. Let further <math>\mu</math> be a function defined on the set of sets <math>\mathcal{C}</math> with <math>\mu(\{1,2\})=1=\mu(\{3,4\})</math>. The set system {{Math|<math>\mathcal{A}:=\mathcal{C}\cup\{\Omega\}\cup\{\emptyset\}</math>}} is a <math>\sigma</math>-algebra containing <math>\mathcal{C}</math>. But of course the power set <math>\mathcal{P}(\Omega)</math> is also such a <math>\sigma</math>-algebra. Intuitively, however, <math>\mathcal{P}(\Omega)</math> makes little sense as a domain of definition of a continuation <math>\nu</math> of <math>\mu</math>. This is because the power set also contains the one-element subsets of <math>\Omega</math>. However, <math>\mu</math> does not provide any information about these at all: we could arbitrarily choose the value for <math>\nu(\{1\})</math> from <math>[0,1]</math>. A larger value is not possible because of monotonicity, since <math>\nu(\{1\})\leq\mu(\{1,2\})=1</math> must hold. Then, because of additivity, <math>\nu(\{2\})=1-\nu(\{1\}).</math> }} The <math>\sigma</math>-algebra <math>\mathcal{A}</math> we are looking for should therefore not be larger than necessary. We have already stated above that it should, however, contain at least the set system <math>\mathcal{C}</math>. So we first consider all ''super-<math>\sigma</math>-algebras'' of <math>\mathcal{C}</math>, i.e., all <math>\sigma</math>-algebras containing <math>\mathcal{C}</math>. To find the smallest among these, we proceed as in constructing the (topological) closure of a set: The closure of a set is the smallest closed superset and is defined as a section over all closed supersets. Analogously, we choose the smallest super-<math>\sigma</math>-algebra <math>\mathcal{A}</math> of <math>\mathcal{C}</math> to be the intersection over all these <math>\sigma</math>-algebras. == Definition: Generated <math>\sigma</math>-algebra == The <math>\sigma</math>-algebra, which we defined in the previous section as the intersection over all super-<math>\sigma</math>-algebras of <math>\mathcal{C}</math>, is called ''generated <math>\sigma</math>-algebra'': {{Anchor|erzeugte sigma-Algebra}} {{:Math for Non-Geeks: Template:Definition |titel=Generated <math>\sigma</math>-algebra |definition= Let <math>\Omega</math> be a set and <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system. The <math>\sigma</math>-algebra {{Math|<math>\sigma(\mathcal{C}):=\bigcap\{\mathcal{F}\subseteq\mathcal{P}(\Omega):\mathcal{F}\text{ is a }\sigma\text{-algebra, }\mathcal{C}\subseteq\mathcal{F}\}</math>}} is called the ''<math>\sigma</math> algebra generated by <math>\mathcal{C}</math>''. The "operator of generation <math>\sigma</math>" defined by it is called the ''<math>\sigma</math> operator''. The set system <math>\mathcal{C}</math> is called ''generator'' of <math>\sigma(\mathcal{C})</math>. }} {{:Math for Non-Geeks: Template:Hinweis| {{Math|<math>\bigcap\{\mathcal{F}\subseteq\mathcal{P}(\Omega):\mathcal{F}\text{ is a }\sigma\text{-algebra, }\mathcal{C}\subseteq\mathcal{F}\}</math>}} is another notation for the intersection <math>\bigcap_{\mathcal{F}\in\mathcal{M}}\mathcal{F}</math>, where <math>\mathcal{M}=\{\mathcal{F}\subseteq\mathcal{P}(\Omega): \mathcal{F}\text{ is a }\sigma\text{-algebra, }\mathcal{C}\subseteq\mathcal{F}\}</math>. }} {{:Math for Non-Geeks: Template:Hinweis| Although there is no <math>\Omega</math> in <math>\sigma(\mathcal{C})</math>, the <math>\sigma</math> algebra <math>\sigma(\mathcal{C})</math> generated of a set system <math>\mathcal{C}</math> depends of course on the underlying basic set <math>\Omega</math>. Let, for instance <math>\mathcal{C} = \{\emptyset\}</math>. Then <math>\sigma(\mathcal{C}) = \{\emptyset, \Omega\}</math> is the <math>\sigma</math> algebra generated by <math>\mathcal{C}</math> over <math>\Omega</math>. For another basic set <math>\Omega</math> this is a different set system. Often, the <math>\Omega</math> is clear from the context and is therefore omitted in the notation of the <math>\sigma</math> operator. }} {{:Math for Non-Geeks: Template:Hinweis| One can also define other kinds of generated set systems according to the same principle. For example, one can define the [[Math for Non-Geeks: Volumes on rings#Definition:Mengenring|ring]] or [[Math for Non-Geeks: Continuity of volumes on rings#Sigma-Ringe|<math>\sigma</math>-ring]] generated by a set system <math>\mathcal{C}</math>. }} We still need to verify that the generated <math>\sigma</math>-algebra is well-defined, that is, that the definition makes sense. To do this, we need to show: * The set over which the intersection is formed is not empty. That is, there is at least one <math>\sigma</math>-algebra containing <math>\mathcal{C}</math>. * <math>\sigma(\mathcal{C})</math> is indeed a <math>\sigma</math>-algebra. The first point is clear since the power set <math>\mathcal{P}(\Omega)</math> is a <math>\sigma</math>-algebra containing <math>\mathcal{C}</math>. For the proof of the second point, we have to prove that the intersection of arbitrary many <math>\sigma</math>-algebras is always a <math>\sigma</math>-algebra again. Then, we have that <math>\sigma(\mathcal{C})</math> as a section over certain <math>\sigma</math>-algebras is indeed a <math>\sigma</math>-algebra. {{:Math for Non-Geeks: Template:Satz |titel=The intersection of <math>\sigma</math>-algebras is again a <math>\sigma</math>-algebra. |satz= Let <math>\mathcal{M}</math> be a non-empty set of <math>\sigma</math>-algebras over <math>\Omega</math>. That is, every element in <math>\mathcal{M}</math> is a <math>\sigma</math>-algebra. Then <math>\mathcal{A}:=\bigcap_{\mathcal{F} \in \mathcal{M}} \mathcal{F}</math> is a <math>\sigma</math>-algebra. |beweis= We need to prove that <math>\mathcal{A}</math> satisfies the three properties of a <math>\sigma</math>-algebra: # <math>\Omega \in \mathcal{A}</math> # <math>A\in\mathcal{A}\implies A^\complement \in \mathcal{A}</math> # <math>A_1, A_2, \dots \in \mathcal{A} \implies \bigcup_{n \in \N} A_n\in\mathcal{A}</math> The basic set <math>\Omega</math> is in <math>\mathcal{A}</math>: Each element of <math>\mathcal{M}</math> is a <math>\sigma</math>-algebra over <math>\Omega</math> and thus contains the basic set. Thus <math>\Omega</math> is also contained in the section over all these elements, i.e. in <math>\mathcal{A}</math>. Complement stability: Let <math>A \in \mathcal{A}</math> be arbitrary. By definition of <math>\mathcal{A}</math>, <math>A</math> lies in the intersection of all <math>\sigma</math> algebras from <math>\mathcal{M}.</math> We conclude <math>A \in \mathcal{F}</math> for all <math>\mathcal{F} \in \mathcal{M}</math>. Since every <math>\mathcal{F}\in\mathcal{M}</math> is a <math>\sigma</math>-algebra, the complement <math>A^\complement</math> also lies in <math>\mathcal{F}</math> for all <math>\mathcal{F}\in\mathcal{M}</math>. Thus <math>A^\complement</math> is also in the section over all these <math>\sigma</math>-algebras, that is, in <math>\mathcal{A}.</math> Completeness under countable unions: Let <math>A_1, A_2, \dots \in \mathcal{A}</math>. By definition of <math>\mathcal{A}</math> these sets lie in the intersection of all <math>\sigma</math>-algebras from <math>\mathcal{M}</math>, so we have that <math>A_1, A_2 , \dots \in \mathcal{F}</math> for all <math>\mathcal{F} \in \mathcal{M}.</math> Since every <math>\mathcal{F} \in \mathcal{M}</math> is a <math>\sigma</math>-algebra and hence complete under formation of countable unions, every <math>\mathcal{F}</math> from <math>\mathcal{M}</math> also contains the union <math>\bigcup_{n \in \N} A_n.</math> Thus this union also lies in the section over all these <math>\sigma</math>-algebras from <math>\mathcal{M}</math>, i.e. in <math>\mathcal{A}</math>. }} We have now shown that <math>\sigma(\mathcal{C})</math> is a <math>\sigma</math>-algebra. Intuitively, it should be the smallest <math>\sigma</math>-algebra containing the set system <math>\mathcal{C}</math>. We prove this in the next section "Properties of the <math>\sigma</math>-operator". == Properties of the <math>\sigma</math>-operator == We establish some useful properties of the <math>\sigma</math>-operator: {{Anchor|Eigenschaften}} {{:Math for Non-Geeks: Template:Satz |satz= Let <math>\mathcal{C},\mathcal{E}\subseteq\mathcal{P}(\Omega)</math> be a set system. The <math>\sigma</math>-operator now satisfies the following properties: # Extensivity: <math>\mathcal{C}\subseteq\sigma(\mathcal{C})</math> # Minimality:<math>\sigma(\mathcal{C})</math> is the smallest <math>\sigma</math>-algebra containing <math>\mathcal{C}</math>. If <math>\mathcal{C}</math> is a <math>\sigma</math>-algebra, then <math>\sigma(\mathcal{C})=\mathcal{C}</math>. # Idempotency: <math>\sigma(\sigma(\mathcal{C}))=\sigma(\mathcal{C})</math> # Monotonicity: <math>\mathcal{C}\subseteq\mathcal{E}\implies\sigma(\mathcal{C})\subseteq\sigma(\mathcal{E})</math> |beweis= #Extensivity: By definition, <math>\mathcal{C}</math> is subset of every <math>\sigma</math>-algebra over which we take the intersection in the definition of the <math>\sigma</math>-operator. That is, for any <math>A \in \mathcal{C}</math>, <math>A</math> is element every <math>\sigma</math>-algebra over which we intersect. Then <math>A</math> is also element of the intersection of all these <math>\sigma</math>-algebras, which is exactly <math>\sigma(\mathcal{C})</math>. Since this is true <math>A \in \mathcal{C}</math>, we have <math>\mathcal{C} \subseteq \sigma(\mathcal{C})</math>. #Minimality: Let <math>\mathcal{G}</math> be a <math>\sigma</math>-algebra with <math>\mathcal{C} \subseteq \mathcal{G}</math>. Since <math>\mathcal{G}</math> is one of the sets over which we intersect in the definition of <math>\sigma(\mathcal{C})</math>, we have that <math>\sigma(\mathcal{C}) =\bigcap\{\mathcal{F}\subseteq\mathcal{P}(\Omega): \mathcal{F}\text{ is a }\sigma\text{-algebra, }\mathcal{C}\subseteq\mathcal{F}\} \subseteq \mathcal{G}</math>. If <math>\mathcal{C}</math> is a <math>\sigma</math>-algebra we may readily conclude <math>\sigma(\mathcal{C}) \subseteq \mathcal{C}</math>. From extensivity we obtain the other inclusion, and therefore we have <math>\mathcal{C} = \sigma(\mathcal{C})</math>. #Idempotency: The idempotency follows directly from the minimality. We have that <math>\sigma(\mathcal{C})</math> is always a <math>\sigma</math>-algebra, and therefore we have <math>\sigma(\mathcal{C}))=\sigma(\mathcal{C})</math>. #Monotonicity: Let <math>\mathcal{C} \subseteq \mathcal{E}</math>. Then, we have <math>\mathcal{C} \subseteq \mathcal{E} \subseteq \sigma(\mathcal{E})</math> due to extensivity. Since <math>\sigma(\mathcal{E})</math> is a <math>\sigma</math>-algebra, it follows from minimality that <math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E})</math> holds. }} {{:Math for Non-Geeks: Template:Hinweis|The properties 1., 3. and 4. (extensivity, idempotency and monotonicity) make the <math>\sigma</math>-operator an ''enveloping operator'' (it determines the envelope of a set, like wrapping a gift), just as the closure "<math>\bar{}</math>" of sets turning "<math>A</math>" into "<math>\bar{A}</math>".}} == Examples == In the section "Motivation" we have seen a first example for a generated <math>\sigma</math>-algebra: Let <math>\Omega=\{1,2,3,4\}</math> and <math>\mathcal{C}=\{ \{1,2\},\{3,4\} \}. </math> Then <math>\sigma(\mathcal{C})=\mathcal{C}\cup\{\Omega\}\cup\emptyset\}</math> is the <math>\sigma</math>-algebra generated by <math>\mathcal{C}</math>: <math>\mathcal{C}\cup\{\Omega\}\cup\{\emptyset\}</math> is a <math>\sigma</math>-algebra and the smallest one containing <math>\mathcal{C}</math>. Another example for a finitely generated <math>\sigma</math>-algebra is the following: {{:Math for Non-Geeks: Template:Beispiel |titel= |beispiel= If one wants to describe the probability of the occurrence of events when rolling a die by using a measure, the domain of definition is the <math>\sigma</math>-algebra, which contains all ''elementary events''. These are all one-element subsets <math>\{x\}</math> of the basic set <math>\Omega=\{1,\dots,6\}. </math> The <math>\sigma</math>-algebra generated by the set <math>\mathcal{C}=\{\{1\},\dots,\{6\}\}</math> generated is the power set <math>\mathcal{P}(\Omega).</math> }} The <math>\sigma</math>-algebra of the one-element subsets of a countable basic set often appears in discrete probability theory as a domain of definition of the distribution of ''discrete'' random variables. In this case of a discrete, i.e. countable basic set (such as <math>\Omega=\{0,1\}, \Omega=\{1,\dots,n\}</math> or <math>\Omega=\N</math>), the <math>\sigma</math>-algebra generated by these elementary events is the power set <math>\mathcal{P}(\Omega)</math>. So actually, introducing <math>\sigma</math>-algebras would not be necessary. However, the situation is different if the basic set is over-countable, like <math>\R</math>: {{:Math for Non-Geeks: Template:Satz |titel=<math>\sigma</math>-algebra over <math>\R</math> generated by point sets |anker=einelementige-Mengen-erzeugte-sigma-Algebra |satz= Let <math>\Omega=\R</math> be the basic set. The <math>\sigma</math>-algebra generated from the set of one-element subsets <math>\mathcal{E}=\{\{x\}\mid x \in \R \}</math> is <math>\mathcal{A}=\{A\subseteq\R\mid A\text{ or }A^\complement\text{ countable}\}.</math> |beweis= We perform the proof in two steps. First, we show that <math>\mathcal{A}</math> is a <math>\sigma</math> algebra containing <math>\mathcal{E}</math>, i.e., <math>\mathcal{E} \subseteq \mathcal{A}</math> holds. Next we show <math>\mathcal{A} \subseteq \sigma(\mathcal{E})</math>. Then we conclude <math>\mathcal{A} = \sigma(\mathcal{E})</math>. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\mathcal{A}</math> is a <math>\sigma</math>-algebra containing <math>\mathcal{E}</math> |beweisschritt= The elements from <math>\mathcal{E}</math> (which are subsets of the basic set) contain only one-element each. Thus, they are countable. It follows directly that every element from <math>\mathcal{E}</math> is also contained in <math>\mathcal{A}</math>, so <math>\mathcal{E}\subseteq \mathcal{A}</math>. We now show that <math>\mathcal{A}</math> is a <math>\sigma</math>-algebra. To do this, we check the three criteria: <math>\Omega \in \mathcal{A}</math> is of course satisfied, since <math>\Omega^{\complement} =\emptyset</math> is countable. If <math>A \in \mathcal{A}</math>, then <math>A</math> is countable or <math>A^{\complement}</math> is countable. In case 1, <math>(A^{\complement})^{\complement} = A</math> is countable, so it is contained in <math>\mathcal{A}</math>. In case 2, <math>A</math> has a countable complement, so <math>A = (A^{\complement})^{\complement}</math> is contained in <math>\mathcal{A}</math>. Let now <math>\bigcup_{n \in \N} A_n</math> a union of sets from <math>\mathcal{A}</math>. Then we distinguish two cases. In case 1, for at least one <math>k \in \N</math> the set <math>A_k</math> has countable complement. But then <math>\left(\bigcup_{n \in \N} A_n\right)^{\complement} \subseteq A_k^{\complement}</math> as a subset of a countable set is also countable and hence contained in <math>\mathcal{A}</math>. In case 2 for all <math>n \in \N</math> the set <math>A_n</math> is countable. Then, of course, their union <math>\bigcup_{n \in \N} A_n</math> is countable and hence contained in <math>\mathcal{A}</math>. Thus <math>\mathcal{A}</math> is really <math>\sigma</math>-algebra, and it contains <math>\mathcal{E}</math>. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\mathcal{A} \subseteq \sigma(\mathcal{E})</math> |beweisschritt= Let <math>A \in \mathcal{A}</math> be arbitrary. Then we distinguish two cases. In case 1, <math>A</math> is countable. Consider <math>A = \bigcup_{n \in \N} \{x_n\}</math> as a countable union of sets from <math>\mathcal{E}</math>. Then <math>A</math> is in particular also a countable union of sets in <math>\sigma(\mathcal{E})</math> and because of the union stability of <math>\sigma</math>-algebras with respect to countable unions, it follows that <math>A \in \sigma(\mathcal{E})</math>. In case 2 <math>A^{\complement}</math> is countable, so according to case 1 it is contained in <math>\sigma(\mathcal{E})</math>. From the complement stability of <math>\sigma(\mathcal{E})</math> it now follows that also <math>A^{\complement} \in \sigma(\mathcal{E})</math> is true. }} We have that also <math>\mathcal{E} \subseteq \mathcal{A} \subseteq \sigma(\mathcal{E})</math>. Following the monotonicity of the <math>\sigma</math>-operator, we have that <math>\sigma(\mathcal{E}) \subseteq \sigma(\mathcal{A}) \subseteq \sigma(\mathcal{E}))</math>. Since <math>\mathcal{A}</math> and <math>\sigma(\mathcal{E})</math> are already <math>\sigma</math>-algebras, it follows from the minimality of the <math>\sigma</math> operator that <math>\sigma(\mathcal{E}) \subseteq \mathcal{A} \subseteq \sigma(\mathcal{E})</math> holds true, i.e. <math>\mathcal{A} = \sigma(\mathcal{E})</math>. }} Some <math>\sigma</math> algebras are so large that they cannot be written down explicitly, as in the previous examples. They can then only be characterized by the generator. An example for this is the <math>\sigma</math>-algebra generated by the intervals over <math>\R</math>, which is an often-used but very rich example. {{:Math for Non-Geeks: Template:Beispiel |titel=<math>\sigma</math>-algebra generated by intervals or cuboids |beispiel= The ''geometric length'' is the function over <math>\R</math> which assigns to all intervals <math>(a,b)</math>, respectively, <math>(a,b]</math>, <math>[a,b]</math>, <math>[a,b)</math> their length <math>b-a</math>. We do not yet know whether this function can be continued to a measure on a <math>\sigma</math>-algebra. But a reasonable domain of definition of such a continuation would then be the <math>\sigma</math>-algebra generated of all such intervals, i.e. <math>\sigma(\mathcal{C})\subseteq\mathcal{P}(\Omega)</math> with <math>\mathcal{C}=\{I\subseteq\R\mid I\text{ interval}\}</math>. More generally, one can consider the ''geometric volume'' that assigns to all axis-parallel cuboids in <math>\R^n</math> their volume, i.e., the product of the side lengths. A cuboid is a product <math>Q=\prod_{k=1}^n I_k</math> of intervals <math>I_k\subseteq\R</math> (open, half-open or closed). Again, we do not yet know whether this set function can be continued to a measure. But a reasonable domain of definition for a continuation would then be the <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math>, generated by the set system of cuboids <math>\mathcal{C}=\{Q\subseteq\R^n\mid Q\text{ axis-parallel cuboid}\}</math>. {{Todo|Link to the article where a continuation from one to the other function above is defined.}} }} == Proving that two set systems generate the same <math>\sigma</math>-algebra == It is common to want to find out whether two <math>\sigma</math>-algebras <math>\mathcal{A}</math> and <math>\mathcal{F}</math> are equal. For this we would prefer to simply show mutual inclusion directly, i.e. to prove <math>\mathcal{A} \subseteq \mathcal{F}</math> and <math>\mathcal{F} \subseteq \mathcal{A}</math>. But if <math>\mathcal{A},\mathcal{F}</math> were defined only by generators <math>\sigma(\mathcal{C}),\sigma(\mathcal{E})</math>, this is not an easy job. We would have to take any set <math>M \in \mathcal{A}</math> in the inclusion proof and show that also <math>M \in \mathcal{F}</math> holds. The problem is that in general, <math>\mathcal{F}</math>-sets look very complicated, so we do not know what such set looks like and what properties it has. We only know that it is contained in every superset-<math>\sigma</math>-algebra of <math>\mathcal{C}</math>. However, we know what the generators look like. So it is way easier to just show that the generators are included in each other. This is what we will do now. === Subset-relations for generators === {{:Math for Non-Geeks: Template:Satz |satz= Let <math>\mathcal{A}, \mathcal{F}</math> be <math>\sigma</math>-algebras and let <math>\mathcal{C}</math> be a generator of <math>\mathcal{A}</math> (that is a set <math>\mathcal{C}</math> with <math>\sigma(\mathcal{C})=\mathcal{A}</math>). Now if the producer <math>\mathcal{C}</math> of <math>\mathcal{A}</math> is a subset of <math>\mathcal{F}</math>, then also our <math>\sigma</math>-algebra <math>\mathcal{A}</math> is already a subset of the <math>\sigma</math>-algebra <math>\mathcal{F}</math>. That is <math>\mathcal{C} \subseteq \mathcal{F} \implies \mathcal{A} \subseteq \mathcal{F}</math>. |beweis= First we see that from the minimality of the <math>\sigma</math>-operator, we get <math>\sigma(\mathcal{F})=\mathcal{F}</math>. Now we use the monotonicity of the <math>\sigma</math>-operator: <math>\mathcal{A} = \sigma(\mathcal{C}) \subseteq \sigma(\mathcal{F}) =\mathcal{F}.</math> }} Thus, we have already simplified our problem considerably. We no longer need to show for arbitrary sets <math>M \in \mathcal{A}</math> that <math> M \in \mathcal{F}</math> is true (which might be a great mess to do). It suffices to prove the inclusion for sets from the generator <math>\mathcal{C}</math> of <math>\mathcal{A}</math>. The opposite inclusion can be simplified using the same principle. That is, instead of showing for any <math>M \in \mathcal{F}</math> that <math>M \in \mathcal{A}</math> holds (again, a great mess), we take a generator <math>\mathcal{E}</math> of <math>\mathcal{F}</math> and show for all <math>M \in \mathcal{E}</math> that <math>M \in \mathcal{A}</math> is satisfied. === Proving that a set is contained in a <math>\sigma</math>-algebra === We now know that it suffices to show only for the sets from the generator that they lie in the respective other <math>\sigma</math>-algebra. But how can we prove in general for a set <math>M</math> that it lies in a certain <math>\sigma</math>-algebra <math>\mathcal{A}=\sigma(\mathcal{E})</math>? We know that <math>\mathcal{A}</math> is closed under the operations complement and countable union (and hence also when taking differences and countable cuts). Therefore, every set generated by these operations from sets of the generator <math>\mathcal{E}</math> is again in <math>\mathcal{A}</math>. Thus, to prove that a set <math>M</math> is in <math>\mathcal{A}</math>, it suffices to take some sets from the generator <math>\mathcal{E}</math> and write it as an outcome of some set operations between those sets. Since <math>\sigma</math>-algebras can be very large, however, there is no general method to find such a representation of <math>M</math> over the sets from the generator. === Example: The <math>\sigma</math>-algebra generated by intervals === We will now demonstrate this principle with an example. {{:Math for Non-Geeks: Template:Satz |satz= Consider the set system <math>\mathcal{C} = \{ [a,b)\text{ } | a,b \in \R\}</math>, <math>\mathcal{D} = \{ (a,b) \text{ } | a,b \in \R\}</math>, <math>\mathcal{E} = \{ [a,b]\text{ }| a,b \in \R\}</math>. Then, we have <math>\sigma(\mathcal{C}) = \sigma(\mathcal{D}) = \sigma(\mathcal{E})</math>. Now, the set system <math>\mathcal{F}=\{I \subseteq \R | I \text{ interval } \}</math> generates the same <math>\sigma</math>-algebra. |beweis= We show <math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E}) \subseteq \sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math>, since then the claim of the theorem follows. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E})</math> |beweisschritt= It is enough according to the previous theorem to show that <math>\mathcal{C} \subseteq \sigma(\mathcal{D})</math> holds. Let also <math>[a,b) \in \mathcal{C}</math>. Then <math>[a,b]</math> and also <math>[b,b] = \{b\} \in \sigma(\mathcal{E})</math>. Because of the difference stability of <math>\sigma(\mathcal{E})</math> then also <math>[a,b) = [a,b] \setminus \{b\} \in \sigma(\mathcal{E})</math>. Since <math>[a,b) \in \mathcal{C}</math> was arbitrary, it follows that <math>\mathcal{C} \subseteq \sigma(\mathcal{E})</math>, and from this follows the claim of this proof step. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{E}) \subseteq \sigma(\mathcal{D})</math> |beweisschritt= We show again <math>\mathcal{E} \subseteq \sigma(\mathcal{D})</math>. Let for this <math>[a,b] \in \mathcal{E}</math>. The sets <math>(-\infty,a) = \bigcup_{n \in \N, n\geq 1} (a-n,a)</math> and <math>(b,\infty) = \bigcup_{n \in \N, n\geq 1} (b, b+n)</math> are also in <math>\sigma(\mathcal{D})</math> as countable unions of sets from <math>\sigma(\mathcal{D})</math>. The union <math>(-\infty,a) \cup (b,\infty)</math> is contained (again because of union stability) in <math>\sigma(\mathcal{D})</math>, and with the complement stability of <math>\sigma(\mathcal{D})</math> then follows <math>[a,b] \in \mathcal{D}</math>. Since <math>[a,b] \in \mathcal{D}</math> was arbitrary, it follows that <math>\mathcal{E} \subseteq \mathcal{D}</math>. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math> |beweisschritt= As in the other two proof steps, we again show <math>\mathcal{D} \subseteq \sigma(\mathcal{C})</math>. Let for this <math>(a,b) \in \mathcal{D}</math> be arbitrarily. We have that then for all <math>n \in \N</math>, <math>n \geq 1</math> the set <math>[a+1/n,b) \in \mathcal{C}</math>. Then, because of the union stability with respect to countable unions, <math>(a,b) = \bigcup_{n \in \N, n \geq 1} [a+1/n,b) \in \sigma(\mathcal{C})</math>. Since <math>(a,b) \in \mathcal{D}</math> was arbitrary, it follows <math>\mathcal{D} \subseteq \sigma(\mathcal{C})</math>, and hence also <math>\sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math>. }} Thus <math>\sigma(\mathcal{C}) = \sigma(\mathcal{D}) = \sigma(\mathcal{E})</math>. It makes sense in the following to define <math>\mathcal{B}:=\sigma(\mathcal{C}) = \sigma(\mathcal{D}) = \sigma(\mathcal{E})</math>. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{F}) = \mathcal{B}</math> |beweisschritt= We now show that <math>\mathcal{F}=\{I \subseteq \R | I \text{ interval } \}</math> also generates this <math>\sigma</math> algebra. Because of the monotonicity, from <math>\mathcal{C} \subseteq \mathcal{F}</math> directly follows <math>\mathcal{B} = \sigma(\mathcal{C}) \subseteq \sigma(\mathcal{F})</math>. For the other set inclusion we again show, according to our principle, <math>\mathcal{F} \subseteq \mathcal{B}</math>. Let for this <math>I \in \mathcal{F}</math> be arbitrarily. We can assume that <math>I</math> is bounded, because if it was not, we could write <math>I</math> as a countable union of bounded intervals and thus reduce the statement to the bounded case. That means there are <math>a,b \in \R</math>, so that, one of the <math>4</math> following cases occurs <math>I = [a,b)</math>, <math>I = (a,b)</math>, <math>I = [a,b]</math>, or <math>I = (a,b]</math>. In the first three cases <math>I</math> is contained in a known generator from <math>\mathcal{B}</math>, and hence also in <math>\mathcal{B}</math>. In the case <math>I = (a,b]</math> <math>I = \bigcup_{n \in \N, n\geq 1} [a+1/n,b]</math> as countable unions of sets in <math>\mathcal{B}</math> lies again in <math>\mathcal{B}</math>. Since <math>I</math> was arbitrarily chosen from <math>\mathcal{F}</math>, it follows that <math>\mathcal{F} \subseteq \mathcal{B}</math>. Thus finally obtain <math>\sigma(\mathcal{F}) \subseteq \mathcal{B}</math>. Both inclusions are shown, and we have that <math>\sigma(\mathcal{F}) = \mathcal{B}</math>. }} }} == Generators of the Borel <math>\sigma</math>-algebra {{Anchor|Erzeuger der Borelschen sigma-Algebra}} == We now apply the principle of the last section to a very important example, namely the so-called ''Borel <math>\sigma</math>-algebra''. {{:Math for Non-Geeks: Template:Satz |titel=Different generators of the Borel <math>\sigma</math>-algebra on real numbers |satz= Let <math>\mathcal{C}=\left\{\prod_{i=1}^n[a_i,b_i)\subseteq\R^n \mid a_i,b_i \in \R \text{ and }1 \leq i \leq n \right\} \subseteq \mathcal{P}(\R^{n})</math>. Then, we call <math>\mathcal{B}=\sigma(\mathcal{C})</math> the ''Borel <math>\sigma</math>-algebra'' over <math>\R^n</math>. We show that <math>\mathcal{B}</math> is equivalently generated by the following set systems: <math>\mathcal{D}=\{U \subseteq \R^n | U\text{ open}\}</math>, <math>\mathcal{E}=\{A \subseteq \R^n \mid A\text{ closed}\}</math>. That means, <math>\mathcal{B} = \sigma(\mathcal{C})=\sigma(\mathcal{D}) = \sigma(\mathcal{E})</math>. |beweis= We prove that <math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E}) \subseteq \sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math>. Then all these <math>\sigma</math>-algebras must be equal. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math> |beweisschritt= As proved in the previous theorem, it suffices to show that <math>\mathcal{D} \subseteq \sigma(\mathcal{C})</math> holds. Let also <math>U \in \mathcal{D}</math> be chosen arbitrarily. Our idea is to represent <math>U</math> as a countable union of sets from <math>\sigma(\mathcal{C})</math>. Let for <math>x'=(x_1',x_2',\dots,x_n') \in \R^{n}</math> and <math>q \in \Q</math> the set <math>A_{(x',q)} := [x_1'-q,x_1'+q) \times [x_2'-q,x_2'+q) \times \dots \times [x_n'-q,x_n'+q)</math>. Then <math>M=\bigcup_{q \in \Q, x' \in \Q^n, A_{(x',q)} \subseteq U} A_{x',q}</math> is a countable union of elements of <math>\sigma(\mathcal{C})</math>, and thus because of the stability of union with respect to countable sets of <math>\sigma</math>-algebras, also an element of <math>\sigma(\mathcal{C})</math>. We now show that <math>M=U</math>. <math>M</math>, as it is as union of subsets of <math>U</math>, is of course also a subset of <math>U</math>, i.e. <math>M\subseteq U</math>. For the opposite inclusion let <math>x \in U</math> be arbitrary. We will now cleverly construct a half-open cube <math>A_{x',q}</math> with rational side length and rational center such that <math>x \in A_{x',q} \subseteq U</math> is fulfilled. Since <math>U</math> is open, <math>U</math> is also open with respect to the maximum norm. In the following, let <math>U_{c}(x) </math> always be the <math>c</math>-environment of <math>x</math> with respect to the maximum norm. There exists then an <math>\varepsilon > 0</math> with <math>U_{\varepsilon}(x) \subseteq U</math> because <math>U</math> is open. Let <math>p \in \Q</math>, <math>0 < p < \varepsilon</math>. Then, we have <math>U_p(x) \subseteq U_{\varepsilon}(x) \subseteq U</math>. Let <math>q = \frac{p}{4}.</math> Since <math>\Q^n</math> is dense in <math>\R^n</math>, there is now <math>x' \in U_q(x) \cap \Q^n</math>. It follows conversely that <math>x \in U_q(x') \subseteq A_{x',q}</math>. Moreover, <math>A_{x',q} \subseteq U_{2q}(x') \subseteq U_{4q}(x) = U_p(x) \subseteq U</math>. Thus <math>A_{x',q}</math> is one of the sets over which we take the union in the definition of <math>M</math>. So <math>x \in A_{x',q} \subseteq M</math>. Since <math>x</math> was arbitrarily chosen from <math>U</math>, we have <math>U \subseteq M</math> and consequently <math>U = M \in \sigma(\mathcal{C})</math>. Since <math>U \in \mathcal{D}</math> was arbitrary, <math>\mathcal{D} \subseteq \sigma(\mathcal{C})</math>, from which <math>\sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math> follows. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{E}) \subseteq \sigma(\mathcal{D})</math> |beweisschritt= We show again <math>\mathcal{E} \subseteq \sigma(\mathcal{D})</math>. To do this, let <math>A \in \mathcal{E}</math> be arbitrary, i.e., <math>A</math> is closed. We then have that by definition <math>A^\complement</math> is open, so <math>A^\complement \in \mathcal{D} \subseteq \sigma(\mathcal{D})</math>. Then, because of the complement stability of <math>\sigma</math>-algebras, <math>A = (A^\complement)^\complement \in \sigma(\mathcal{D})</math>. Since <math>A \in \mathcal{E}</math> was arbitrary, it also follows that <math>\mathcal{E} \subseteq \sigma(\mathcal{D})</math> and hence <math>\sigma(\mathcal{E})\subseteq\sigma(\mathcal{D})</math>. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E})</math> |beweisschritt= We proceed as in Step 1 and 2 and show <math>\mathcal{C} \subseteq \sigma(\mathcal{E})</math>. Let <math>A = [a_1,b_1)\times \dots \times [a_n,b_n) \in \mathcal{C}</math> be arbitrarily. Let <math>A' = [a_1,b_1]\times \dots \times [a_n,b_n]</math>. Then <math>A'</math> is closed, so <math>A' \in \sigma(\mathcal{E})</math>. We now define <math>n</math> sets as follows: for <math>i =1,\dots,n</math> let <math>F_i = [a_1,b_1] \times \dots \times [a_{i-1},b_{i-1}] \times \{b_i\} \times [a_{i+1},b_{i+1}] \times \dots \times [a_n,b_n]</math>. Then these <math>F_i</math> are closed sets, so we have that also <math>F_i \in \sigma(\mathcal{E})</math>. The <math>F_i</math> are the "missing" <math>(n-1)</math>-dimensional side faces of the <math>n</math>-dimensional half-open cuboid <math>A</math>. Further we have that <math>A = A' \setminus \left(\bigcup_{n =1,\dots,n} F_i\right).</math> Since <math>\sigma(\mathcal{E})</math> is difference stable and union stable with respect to countable unions (it is a <math>\sigma</math>-algebra), it follows that <math>A \in \sigma(\mathcal{E})</math>. Since this is true for any <math>A \in \mathcal{C}</math>, we have <math>\mathcal{C} \subseteq \sigma(\mathcal{E})</math> and therefore <math>\sigma(\mathcal{C})\subseteq \sigma(\mathcal{E})</math>. }} Now we have that as previously considered, <math>\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{E}) \subseteq \sigma(\mathcal{D}) \subseteq \sigma(\mathcal{C})</math> and from this follows <math>\mathcal{B} = \sigma(\mathcal{C}) = \sigma(\mathcal{D}) =\sigma(\mathcal{E})</math>. That means, the Borel <math>\sigma</math>-algebra is generated from the set of half-open cuboids, or equivalently from the set of closed sets or the set of open sets. }} {{:Math for Non-Geeks: Template:Hinweis| In the theorem we represented the Borel <math>\sigma</math>-algebra as the <math>\sigma</math>-algebra generated by the set system <math>\mathcal{C}=\left\{\prod_{i=1}^n[a_i, b_i)\subseteq\R^n \mid a_i,b_i \in \R \text{ and }1 \leq i \leq n \right\}</math> of the right-open cuboids. One can show that the following systems of cuboids also generate the Borel <math>\sigma</math>-algebra: * the set system of open cuboids <math>\left\{\prod_{i=1}^n (a_i,b_i)\subseteq\R^n \mid a_i,b_i \in \R \text{ and }1 \leq i \leq n \right\}</math>. * the set system of closed cuboids <math>\left\{\prod_{i=1}^n [a_i,b_i]\subseteq\R^n \mid a_i,b_i \in \R \text{ and }1 \leq i \leq n \right\}</math>. * the set system of left open cuboids <math>\left\{\prod_{i=1}^n (a_i,b_i]\subseteq\R^n \mid a_i,b_i \in \R \text{ and }1 \leq i \leq n \right\}</math>. * the set system of all cuboids <math>\left\{\prod_{i=1}^n I_i\subseteq\R^n \mid I_i\subseteq \R \text{ interval and }1 \leq i \leq n \right\}</math>. In the section "Examples" above, we already encountered the last mentioned set system, as well as the <math>\sigma</math>-algebra generated by it. }} {{:Math for Non-Geeks: Template:Hinweis| We now know that the '''Borel''' <math>\sigma</math>'''-algebra''' on <math>\R^n</math> is also generated by all open or by all closed subsets of <math>\R^n</math>. One can define more generally the Borel <math>\sigma</math>-algebra on a topological space as the <math>\sigma</math>-algebra generated by '''all open sets''' (note that the "topology" is just this "set of all open sets") . On <math>\R^n</math>, this agrees with our definition. }} The Borel <math>\sigma</math>-algebra is one of the most important <math>\sigma</math>-algebras in mathematics. It plays the role of the "smallest and simplest <math>\sigma</math>-algebra, where stuff makes sense". We will encounter it later in the construction of the Lebesgue measure, again. {{Todo|Link to the article, where the Borel <math>\sigma</math>-algebra is treated in detail. }} {{#invoke:Math for Non-Geeks/Seite|unten}} bg4e8jj7jtdhe3x3ee5e7vxi7eg634a Math for Non-Geeks/Existence of a measure continuation 0 473525 4635270 4623480 2026-05-11T16:35:39Z Sascha Lill 95 3167325 adjust equation format 4635270 wikitext text/x-wiki {{#invoke:Math for Non-Geeks/Seite|oben |info={{:Math for Non-Geeks/Template:Banner/Maßtheorie Autorenwerbung}} }} In this chapter we deal with the question when a continuation of a function on sets to a measure (which is a special function on sets) exists and consider how such a continuation can be constructed. We learn about <math>\sigma</math>-subadditivity and exterior measures. We will derive the theorem of Carathéodory and the measure continuation theorem. ==First thoughts== Under what conditions can a set function <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> defined on any set system <math>\mu: \mathcal{C}\to[0,\infty]</math> be continued to a measure on the <math>\mathcal{C}</math> generated <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math>? We will find the answer to this question step by step in this chapter. A simple example will soon show that the whole thing is a bit more complicated as it first seems. Shouldn't it be intuitively sufficient that a function <math>\mu</math> defined on a set system <math>\mathcal{C}</math> has some nice measure properties to (somehow) continue it to a measure? (Meaning, a measure on the generated <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math>?) The set function <math>\mu</math> has the measure properties if <math>\mu(\emptyset)=0</math> and <math>\sigma</math>-additivity hold. In other words, if <math>\mu</math> is a pre-measure on <math>\mathcal{C}</math>. That this condition is necessary is clear: if <math>\mu</math> is not a pre-measure on the set system <math>\mathcal{C}</math>, then in particular no continuation of <math>\mu</math> can be a pre-measure and hence also not a measure. So <math>\mu</math> must be a pre-measure on <math>\mathcal{C}</math>. But this is unfortunately not sufficient: <math>\mu</math> may have properties that preclude making it a volume or a measure, for instance because monotonicity is violated. We saw an example of this at the very beginning in the article [[Math for Non-Geeks: Volumes on rings|volumes on rings]]. However, the property of <math>\sigma</math>-additivity can be trivially satisfied simply because there are no disjoint sets in <math>\mathcal{C}</math>. {{:Math for Non-Geeks/Template:Beispiel |titel=A <math>\sigma</math>-additive, but not monotonic function on sets |beispiel= <math>\mu:\{\{1\},\{1,2\}\}\to[0,\infty]</math> with <math>\mu(\{1\})=5,\mu(\{1,2\})=1</math> }} Therefore, let's first go back a few steps and recall our very first considerations about measurement functions. ==Sub-additive function on sets== In the article [[Math for Non-Geeks: Volumes on rings|volumes on rings]], we introduced volume-measuring functions as extensive quantities. So doubling the size of the underlying system doubles the quantity (as for volume, mass, energy, etc.). As a central common feature of all extensive volume-measuring functions we have observed the monotonicity, i.e. the property that an increase of the size of a set / an object / a quantity also leads to an increase of the measurement result. We have generalized the monotonicity to the subadditivity, from which one can infer the monotonicity. The subadditivity says that a superset of some <math>A</math> within a set system <math>\mathcal{C}</math> has more volume than the set <math>A</math> itself. This makes sense for extensive quantities. We recall the definition: {{:Math for Non-Geeks/Template:Definition |titel=Sub-additivity of a function on sets |definition=A function on sets <math>\mu:\mathcal{P}(\Omega)\supseteq\mathcal{C}\to[0,\infty]</math> is called (finitely) sub-additive (or subadditive), if for all <math>n\in\N</math> and <math>A, A_1,\dots,A_n\in\mathcal{C}</math> with <math>A\subseteq\bigcup_{i=1}^n A_i</math> it holds that: {{Math|<math>\mu(A)\leq\sum_{i=1}^n\mu(A_i)</math>}} }} Only later we supplemented this extensive property by the "exact" property of additivity and in this context described the set ring as a possible domain of definition of volume-measuring functions. On set rings it was sufficient to require only the additivity to infer also subadditivity and monotonicity. But in general these two properties of a function on sets do not follow from additivity if the domain of definition <math>\mathcal{C}</math> has no further structure, as the example above has shown. Therefore, our first goal will be to construct a subadditive continuation of <math>\mu</math> defined on a set system, which is as large as possible. ==Construction of an outer volume== A subadditive set function can be interpreted as an outer approximation: If a set <math>A</math> of sets <math>A_1,\dots,A_n</math> is covered, then its volume is less than or equal to the volume of the covering sets. It does not matter whether the sets <math>A_1,\dots,A_n</math> are disjoint with respect to the set <math>A</math> or whether they cover <math>A</math> only "roughly": <gallery widths=400 heights = 300> File:Set covering.svg|300px|A set <math>A</math> is split into sets <math>A_1,\dots,A_n</math>. File:Set almost covering.svg|300px|The sets <math>A_1,\dots,A_n</math> cover <math>A</math> , but are not disjoint. </gallery> In some cases, the sum of the volumes of a disjoint partition might be larger than the union. This is indeed allowed for an outer approximation. We admit "upward deviations" for the volume. This makes subadditivity easier to control under continuations, compared to additivity, and it is even possible to have a subadditive continuation on all of <math>\mathcal{P}(\Omega)</math>. On the other hand, an additive (instead of just subadditive) set function cannot generally be defined on the entire power set <math>\mathcal{P}(\Omega)</math>, as we saw in the Example of Banach-Tarski. This means that not every subset of the basic set <math>\Omega</math> is "exactly" measurable. However, every arbitrary set <math>A\in\mathcal{P}(\Omega)</math> can be outer-approximated. So let us use this connection between subadditivity and the approximation of sets by covers in the construction of a subadditive continuation. Let <math>\mu</math> be a subadditive function defined on the set system <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math>. Of course, <math>\mu(\emptyset)=0</math> must also hold. Therefore, we can assume without restriction <math>\emptyset\in\mathcal{C}</math> by defining <math>\mu(\emptyset):=0</math> (even if <math>\emptyset\notin\mathcal{C}</math> should hold). Using approximating covers, we now construct a subadditive continuation <math>\eta</math> defined on the power set: for a set <math>A\in\mathcal{P}(\Omega)</math> covered by sets <math>C_1,\dots,C_n\in\mathcal{C}</math> (i.e., <math>A\subseteq\bigcup_{i=1}^nC_i</math>), we define {{Math|<math>\eta(A):=\sum_{i=1}^n\mu(C_i)</math>}} Problem: The value of <math>\eta(A)</math> depends on the selected cover! {{:Math for Non-Geeks/Template:Beispiel |titel= |beispiel= Consider the set system <math>\mathcal{C}=\{(a,b]:a,b\in\R\}</math> and the function on it <math>\mu:\mathcal{C}\rightarrow[0,\infty],\;\mu((a,b]):=b-a</math>. For the set <math>A:=(1,2]\cup(3,4]</math>, both <math>(-5,5]</math> and <math>(1,2]\cup(3,4]</math> are supersets (=outer approximations) from <math>\mathcal{C}</math>. The value <math>\eta(A)</math> is then correspondingly <math>5-(-5)=10</math> or <math>(2-1)+(4-3)=2</math>. Intuitively, the second variant is better, as it reproduces the measure exactly and the first is just an approximation.}} So for <math>\eta</math> to be well-defined, we must choose among all possible supersets from <math>\mathcal{C}</math>. We choose for every set <math>A\in\mathcal{P}(\Omega)</math> the value for <math>\eta(A)</math> that belongs to that superset (=covering) of <math>A</math>, which approximates <math>A</math> the best. Because we approximate from above (outer approximation), this is just the covering that gives the smallest value for <math>\sum_{i=1}^n\mu(C_i)</math>. There may be infinitely many possible coverings, so a minimum might not exist, and we generalize to taking the infimum: {{Math|<math>\eta(A):=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}</math>}} {{:Math for Non-Geeks/Template:Hinweis|The infimum of the empty set is defined by <math>\inf\emptyset := \infty</math> (the empty set has no largest lower bound). This corresponds to the case where <math>A</math> is too "large" and it cannot be covered by sets from <math>\mathcal{C}</math>. Possibly there is no covering that gives exactly the value <math>\eta(A)</math> (only values that are slightly too large will come out), but by definition of the infimum one can approximate the value arbitrarily close.}} Following the construction with the infimum we have for every <math>A\subseteq\Omega</math> and every arbitrary covering with sets <math>\tilde C_1,\dots,\tilde C_m\in\mathcal{C}</math> that: {{Math|<math>\eta(A)=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}\leq\sum_{i=1}^m\mu(\tilde C_i)</math>}} In the estimate above, we used that the <math>\tilde C_i</math> are contained in the set of covers of <math>A</math> which is used to for the infimum. This inequality is already very similar to our goal: we want to obtain subadditivity for the outer approximations. However, we still have an <math>\eta</math> on the left-hand side and a <math>\mu</math> on the right-hand side. It remains to establish a similar inequality with <math>\eta</math> on both sides, which will be out subadditivity for <math>\eta</math>. {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\to[0,\infty]</math> a function on it with <math>\mu(\emptyset)=0</math>. Then the function defined on the power set: {{Math|<math>\eta:\mathcal{P}(\Omega)\to[0,\infty],\quad\eta(A):=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}</math>}} is then subadditive and further we have <math>\eta(\emptyset)=0</math>. |beweis= We first prove that <math>\eta(\emptyset)=0</math>. Since <math>\emptyset</math> is a covering of the empty set with sets from <math>\mathcal{C}</math> , we know that the <math>\eta</math>-value is smaller than the <math>\mu</math>-value <math>\eta(\emptyset)\leq\mu(\emptyset)=0</math>. But <math>\eta</math>-values are always positive, i.e., <math>\eta(A)\geq 0</math> for all <math>A\in\mathcal{P}(\Omega)</math>. So <math>\eta(\emptyset)\geq 0</math> which means <math>\eta(\emptyset)=0</math>. Now we turn to subadditivity. Let <math>A,A_1,\dots,A_n\in\mathcal{P}(\Omega)</math> be arbitrary with <math>A\subseteq\bigcup_{i=1}^n A_i</math>. We have to show that <math>\eta(A)\leq\sum_{i=1}^n\eta(A_i)</math> holds. Let without restriction <math>\eta(A_i)<\infty</math> for all <math>i=1,\dots,n</math>, because otherwise the inequality will hold anyway. The idea now is to trace the covering <math>\{A_1,\dots,A_n\}</math> of <math>A</math> back to a covering with sets from <math>\mathcal{C}</math>. For this we can exploit that it is contained in the set of coverings over which the infimum is formed, and thus obtain an upper bound. For this we choose for every single <math>A_i</math> a covering <math>\mathcal{U}_i\subseteq\mathcal{C}</math> with sets from <math>\mathcal{C}</math> (which exists because <math>\eta(A_i)<\infty</math>). Then {{Math|<math> \mathcal{U}:=\bigcup_{i=1}^n\mathcal{U}_i</math>}} is a covering of <math>A</math>. After construction of <math>\eta</math> we thus have {{Math|<math> \eta(A)\leq\sum_{C\in\mathcal{U}}\mu(C)\leq\sum_{i=1}^n\sum_{C\in\mathcal{U}_i}\mu(C)</math>}} The second inequality involves summing over the sets from <math>\mathcal{U}</math>, as in the sum before, with the difference that some sets may be counted twice. (Here we used that <math>\mu</math> is non-negative!) Now we want to obtain something of the form {{Math|<math> \eta(A)\leq\sum_{i=1}^n\eta(A_i) </math>}} To do this, we need to reduce the coverings <math>\mathcal{U}_i</math> of the <math>A_i</math> to the <math>A_i</math> while sustaining the inequality. In other words, we need {{Math|<math> \sum_{C\in\mathcal{U}_i}\mu(C)\leq\eta(A_i) </math>}} However, the construction of <math>\eta</math> only guarantees {{Math|<math> \sum_{C\in\mathcal{U}_i}\mu(C)\geq\eta(A_i) </math>}} But since we can arbitrarily approximate the value of the infimum in the defining equation of <math>\eta</math>, we can choose the coverings <math>\mathcal{U}_i</math> to be only slightly larger than <math>A_i</math>. So let <math>\varepsilon>0</math>. To every <math>i=1,\dots,n</math> we choose <math>\mathcal{U}_i</math> such that: {{Math|<math> \sum_{C\in\mathcal{U}_i}\mu(C)\leq\eta(A_i) + \frac{\varepsilon}{n} </math>}} Then we obtain from the above estimate {{Math|<math> \eta(A)\leq\sum_{i=1}^n\sum_{C\in\mathcal{U}_i}\mu(C)\leq \sum_{i=1}^n\eta(A_i)+\varepsilon</math>}} and since <math>\varepsilon>0</math> was arbitrary, we get {{Math|<math> \eta(A)\leq\sum_{i=1}^n\eta(A_i) </math>}} }} {{:Math for Non-Geeks/Template:Hinweis|Note that in the theorem we did not require the subadditivity of <math>\mu</math>. For <math>\eta</math> to be subadditive, <math>\mu</math> need not itself be subadditive. To show the theorem, it suffices that <math>\mu</math> is a nonnegative function on sets with <math>\mu(\emptyset)=0</math>. We will nevertheless need the subadditivity of <math>\mu</math> in a moment, namely to prove that <math>\eta</math> is indeed a continuation of <math>\mu</math>.}} We now have a subadditive function defined on all of <math>\mathcal{P}(\Omega)</math> , namely <math>\eta: \mathcal{P}(\Omega)\to[0,\infty]</math> with <math>\eta(\emptyset)=0</math>. Following the considerations on outer approximation, we call a set function defined on the power set with these properties an ''outer volume''. {{:Math for Non-Geeks/Template:Definition |titel=Outer volume |definition= A function <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> is called an outer volume, if: # <math>\eta(\emptyset)=0</math>, # <math>\eta</math> is subadditive. }} {{:Math for Non-Geeks/Template:Warnung|This term is not used in the literature. Note also: What we call here "outer volume" is not a volume in the proper sense, because it is in general not additive.}} There still remains the question whether <math>\mu</math> is continued by <math>\eta</math>, i.e. whether <math>\eta(C)=\mu(C)</math> for all <math>C\in\mathcal{C}</math>. So far, we know <math>\eta(C)\leq\mu(C)</math>, because <math>C</math> one of many coverings of <math>C</math>. But we don't know yet if there is no "lower" approximation and that the infimum over all possible covers does not yield a smaller value. Intuitively, this should be true, but we have to prove it. So what we want is: <math>\mu(C)\leq\eta(C)</math> for all <math>C\in\mathcal{C}</math>. This is the case if for all finite coverings of <math>C</math> with sets <math>C_1,C_2,\dots\in\mathcal{C}</math> we have that <math>\mu(C)\leq\sum_{i=1}^{\infty}\mu(C_i)</math>. In other words, we additionally need the subadditivity of <math>\mu</math> on <math>\mathcal{C}</math>. {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math>, let <math>\mu:\mathcal{C}\to[0,\infty]</math> be a subadditive function on it with <math>\mu(\emptyset)=0</math> and let <math>\eta</math> be defined as above. Then <math>\eta</math> is a continuation of <math>\mu</math>. |beweis= We have to show that <math>\eta(C)=\mu(C)</math> for all <math>C\in\mathcal{C}</math>. Since <math>C</math> is covered by <math>C</math> we have <math>\eta(C)\leq\mu(C)</math> by definition of <math>\eta</math> as being the infimum over all coverings. Conversely, we have that for any <math>A_1,\dots, A_n\in\mathcal{P}(\Omega)</math> with <math>A\subseteq\bigcup_{i=1}^nA_i</math> also <math>\sum_{i=1}^n\mu(A_i)\geq\mu(A)</math>, which follows from the subadditivity of <math>\mu</math> . Since this is satisfied for all coverings of <math>A</math>, we have that the inequality also holds for the infimum over all possible coverings and finally, we obtain <math>\eta(A)\geq\mu(A)</math>. }} To make clear that the outer volume <math>\eta</math> defined as above is a continuation of <math>\mu</math>, we write <math>\mu^* = \eta</math> for it. In summary, we have proved: {{:Math for Non-Geeks/Template:Satz |titel=about constructing an outer volume |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\to[0,\infty]</math> a subadditive function on it with <math>\mu(\emptyset)=0</math>. Then {{Math|<math>\mu^*:\mathcal{P}(\Omega)\to[0,\infty],\quad\mu^*(A):=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}</math>}} is an outer volume and a continuation of <math>\mu</math>. }} {{:Math for Non-Geeks/Template:Warnung|In general, the set function <math>\mu^*</math> defined in the theorem is ''one'' possible continuation of <math>\mu</math> to an outer volume. There may be many others. We will deal with the question of the uniqueness of a continuation later on.}} Finally, let us consider a short example. The outer Jordan volume is defined starting from the geometric volume in <math>\R^n</math>: {{:Math for Non-Geeks/Template:Beispiel |titel=Outer Jordan-volume |beispiel= A (half-open) cuboid aggregates is a finite union of half-open cuboids of the form <math>(a_1,b_1]\times\dots\times(a_n,b_n]\subseteq\R^n</math>. [[File:Ringe.svg|center|250 px|Overlaps reduce the volume]] We consider the set system {{Math|<math>\mathcal{C}=\left\{ \bigcup_{i=1}^mQ_i\subseteq\R^n: m\in\N, Q_j= (a_1^{(j)},b_1^{(j)}]\times\dots\times(a_n^{(j)},b_n^{(j)}], j=1,\dots,m\right\}</math>}} of the cuboid aggregates in <math>\R^n</math>. This set system is a ring. On the ring of cuboid aggregates we consider the ''geometric volume'' <math>\mu</math>, which assigns to a cuboid <math>Q=(a_1,b_1]\times\dots\times(a_n,b_n]</math> its volume {{Math|<math>\mu(Q)=\prod_{i=1}^n(b_i-a_i)</math>}} Every cuboid aggregate <math>A</math> can also be written as a ''disjoint'' union of finitely many cuboids, and its volume <math>\mu(A)</math> is the sum of the individual cuboid volumes. (Note that it is always possible to write <math>A</math> as a disjoint union of half-open cuboids, and that the value <math>\mu(A)</math> does not depend on the choice of the decomposition). The set function <math>\mu:\mathcal{C}\to[0,\infty]</math> defined in this way is called ''Jordan volume''. One can show that <math>\mu</math> on the set system <math>\mathcal{C}</math> is indeed additive, that is, a volume. In particular, we have that <math>\mu(\emptyset)=0</math> and since <math>\mathcal{C}</math> is a ring, the additivity of <math>\mu</math> also implies subadditivity. We can construct the ''outer Jordan volume'' <math>\mu^*:\mathcal{P}(\R^n)\to[0,\infty]</math> by defining <math>A\in\mathcal{P}(\R^n)</math> for any subset: {{Math|<math> \mu^*(A):=\inf\left\{ \mu(F):F\in\mathcal{C}, A\subseteq F \right\} </math>}} According to what we just proved, <math>\mu^*</math> is indeed an outer volume (subadditive) and a continuation of <math>\mu</math>. This approximates the volume of arbitrary subsets of <math>\R^n</math> by covering them with cuboid aggregates. [[File:ÜberdeckungeneinesKreises.svg|center|400px|Covering of a circle with rectangles]] }} ==From outer volumes to volumes== We have identified subadditivity as an essential property in the previous section and put it in the focus of the construction of a continuation. But do our considerations about subadditivity (constructing outer volumes) lead us to the final goal (constructing volumes) and if so, how can we reach it? We are still interested in an "exact" (additive) or additionally continuous (<math>\sigma</math>-additive) extension of the measure - on a domain which shall be as large as possible. A subadditive continuation to the whole power set <math>\mathcal{P}(\Omega)</math> (what we have) is of course fine, but we are interested an additive or <math>\sigma</math>-additive continuation, which might only be possible on a smaller set system than <math>\mathcal{P}(\Omega)</math> . Let's go step by step and take care of the additivity first. If we can find out the sets on which a subadditive set function behaves additively, we have already taken a good step: By simply restricting the domain of definition to those sets, we already get a volume. And from that point, it is not far to a measure (hopefully only taking a limit <math>n\to\infty</math>, but let's see). So the goal now is to restrict the domain of definition and thus make <math>\eta</math> additive on it - so it is a volume. Now, how do we find out on which sets, <math>\eta</math> is additive? ===Carathéodory measurability condition=== We are looking for those <math>A,B\in\mathcal{P}(\Omega)</math> where the <math>\eta</math> is "exact", i.e.: {{Math|<math>\eta(A\uplus B)=\eta(A)+\eta(B)</math>}} These are two unknown variables (<math>A</math> and <math>B</math>) in one expression, so it is difficult to handle. We keep only <math>A</math> as the unknown quantity and consider <math>B</math> (and thus also <math>A\uplus B</math>) as arbitrarily given and known. We cannot simplify anything on the left side of the equation. So let's try to express on the right side all expressions with <math>B</math> by <math>A</math> and <math>A\uplus B</math>: {{Math|<math>\eta(A)+\eta(B)=\eta((A\uplus B)\cap A)+\eta((A\uplus B)\cap B)=\eta((A\uplus B)\cap A)+\eta((A\uplus B)\setminus A)</math>}} Since we know nothing about <math>B</math>, we must allow for <math>A\uplus B</math> all sets <math>Q\in\mathcal{P}(\Omega)</math> with <math>A\subseteq Q</math>. Thus, for the sets <math>A\in\mathcal{P}(\Omega)</math> on which <math>\eta</math> is additive, we would like: {{Math|<math>\forall Q\in\mathcal{P}(\Omega), A\subseteq Q: \eta(Q)=\eta(Q\cap A)+\eta(Q\setminus A)</math>}} Let's recall the considerations about the approximation with coverings and the additivity as a property to have an "exact" statement of the volume. Then intuitively the sets <math>A\in\mathcal{P}(\Omega)</math> for which the condition is fulfilled can be approximated. Approximability of a set can be interpreted as the property that approximation of outside and of inside coincide, just as for integrable functions the values for upper and lower approximation should converge to the same limit. If we understand the inner approximation of a set as an outer approximation of the complement (see picture), it follows from this consideration that if a set <math>A</math> is measurable, then also its complement <math>A^\complement</math> should be measurable. <gallery widths=400 heights = 300> File:Exhaustion.svg|300px|Inner approximation of the set <math>A</math> by <math>A_1,A_2,\ldots</math>. File:Exhaustion inv.svg|300px|Outer approximation of the set <math>A^\complement</math> by <math>A^\complement_1,A^\complement_2,\ldots</math>. </gallery> This equivalence is already expressed in the above formula, because due to <math>Q\setminus A=Q\cap A^\complement</math> it is symmetric in <math>A</math> and <math>A^\complement</math>: {{Math|<math>\forall Q\in\mathcal{P}(\Omega), A\subseteq Q: \eta(Q)=\eta(Q\cap A)+\eta(Q\setminus A)</math>}} But now we have required that the equation be satisfied only for those <math>Q</math> with <math>A\subseteq Q</math>. If a set <math>A\in\mathcal{P}(\Omega)</math> is measurable, then because of <math>A\subseteq Q\implies A^\complement \nsubseteq Q</math> we cannot yet infer the measurability of the complement <math>A^\complement</math>. To establish the desired symmetry between the approximability of a set <math>A</math> and its complement <math>A^\complement</math>, the defining equation of measurability must be satisfied for any <math>Q\in\mathcal{P}(\Omega)</math>. The sets <math>A</math> for which the equation holds for all <math>Q\in\mathcal{P}(\Omega)</math>, are the sets "exactly" approximated by <math>\eta</math>, therefore these are also called ''<math>\eta</math>-measurable sets''. This condition of measurability was introduced by the mathematician Constantin Carathéodory and is named after him. {{:Math for Non-Geeks/Template:Definition |titel=Measurability condition of C. Carathéodory |definition= Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer volume. A set <math>A\in\mathcal{P}(\Omega)</math> is called <math>\eta</math>-measurable, if for all <math>Q\in\mathcal{P}(\Omega)</math> it holds that: {{Math|<math>\eta(Q)=\eta(Q\cap A)+\eta(Q\setminus A)</math>}} The set <math>\mathcal{M}(\eta):=\{A\subseteq\Omega:A \text{ is }\eta\text{-measurable}\}</math> is called set system of all <math>\eta</math>-measurable sets. }} {{:Math for Non-Geeks/Template:Hinweis|Often the equation in the measurability condition is formulated equivalently as: {{Math|<math>\eta(Q)=\eta(Q\cap A)+\eta(Q\cap A^c)</math>}} Sometimes you may find "<math>\geq</math>" instead of "<math>=</math>", i.e., {{Math|<math>\eta(Q)\geq\eta(Q\cap A)+\eta(Q\setminus A)</math>}} By subadditivity, we have that "<math>\leq</math>" holds anyway. }} {{:Math for Non-Geeks/Template:Warnung|In the literature, the measurability condition is defined for so-called ''outer measures'' instead of outer volumes. We will get to know outer measures later, and our definition of measurability carries over to them without changes.}} ===Application of the measurability criterion=== We invented a condition which is intended to allow us to find the sets on which an outer volume <math>\eta</math> is additive. And indeed this works. The proof is not difficult: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer volume. Then <math>\eta</math> is additive on <math>\mathcal{M}(\eta)</math>. |beweis= We prove the statement for two disjoint sets. Then, additivity for arbitrarily finitely many pairwise disjoint sets follows by induction. Let <math>A,B\in\mathcal{M}(\eta)</math> be disjoint. Because of the measurability of <math>A</math>, we have: {{Math|<math>\eta(A\uplus B)=\eta((A\uplus B)\cap A)+\eta((A\uplus B)\setminus A)=\eta(A)+\eta(B)</math>}} Just as well, of course, one can argue with the measurability of <math>B</math>. }} We can even already say something about the structure of <math>\mathcal{M}(\eta)</math>: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer volume. Then, we have: # <math>\Omega\in\mathcal{M}(\eta)</math> # <math>A\in\mathcal{M}(\eta)\implies A^c\in\mathcal{M}(\eta)</math> # <math>A,B\in\mathcal{M}(\eta)\implies A\cup B\in\mathcal{M}(\eta)</math> |beweis= The first two properties follow almost immediately from the measurability definition: Let <math>Q\in\mathcal{P}(\Omega)</math> be arbitrary. Because of <math>\eta(\emptyset)=0</math> and <math>Q\subseteq \Omega</math> we have that: {{Math|<math>\eta(Q)=\eta(Q)+\eta(\emptyset)=\eta(Q\cap\Omega)+\eta(Q\setminus\Omega)</math>}} Let now <math>A\in\mathcal{M}(\eta)</math>. Using the equivalent measurability condition <math>\eta(Q)=\eta(Q\cap A)+\eta(Q\cap A^c)</math>, we see that for symmetry reasons <math>A\in\mathcal{M}(\eta)\iff A^c\in\mathcal{M}(\eta)</math>. Finally, let <math>A,B\in\mathcal{M}(\eta)</math> and <math>Q\in\mathcal{P}(\Omega)</math> be arbitrary. Multiple application of the property "<math>\eta</math>-measurable subset" yields: {{Math|<math>\begin{align} \eta(Q) &= \eta(Q\cap A)+\eta(Q\cap A^c)\\[0.3em] &= \eta(Q\cap A)+\eta(Q\cap A^c\cap B)+\eta(Q\cap A^c\cap B^c)\\[0.3em] &= \eta(Q\cap(A\cup B)\cap A)+\eta(Q\cap(A\cup B)\cap A^c)+\eta(Q\cap(A\cup B)^c)\\[0.3em] &= \eta(Q\cap(A\cup B))+\eta(Q\cap (A\cup B)^c) \end{align} </math>}} }} So we already have a <math>\sigma</math>-algebra without "<math>\sigma</math>": all that is missing is the closedness with respect to countably infinite unions. A set system with these properties is accordingly called an ''algebra'': [[File:Setsystems5.svg|thumb|An algebra relates to a <math>\sigma</math>-algebra like a ring relates to a <math>\sigma</math>-ring. The "<math>\sigma</math>" means "countably infinite instead of finite operations are allowed".]] {{:Math for Non-Geeks/Template:Definition |titel=Algebra |definition= A set system <math>\mathcal{A}\subseteq\mathcal{P}(\Omega)</math> is called an algebra, if: # <math>\Omega\in\mathcal{M}(\eta)</math> # <math>A\in\mathcal{M}(\eta)\implies A^c\in\mathcal{M}(\eta)</math> # <math>A,B\in\mathcal{M}(\eta)\implies A\cup B\in\mathcal{M}(\eta)</math> }} Inductively, from <math>A,B\in\mathcal{M}(\eta)\implies A\cup B\in\mathcal{M}(\eta)</math> follows naturally the closedness with respect to any finite union. Remember: every algebra is a ring. Every ring <math>\mathcal{R}</math> with <math>\Omega\in\mathcal{R}</math> is an algebra. In summary, we found that: {{:Math for Non-Geeks/Template:Satz |titel=Intermediate result |satz= Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer content. Then <math>\mathcal{M}(\eta)</math> is an algebra and <math>\eta</math> is finitely additive, so it is a volume on it. }} <gallery widths="320" heights="250"> File:Sigma algebra ellipse en.svg|300px|Recall: A '''<math>\sigma</math>-algebra''' contains the basic set <math>\Omega</math> and all limiting sets within it. File:Algebra ellipse en.svg|300px|Recall: An '''algebra''' (of sets) also must contain <math>\Omega</math>. But limits of sets need not be included. </gallery> ==<math>\sigma</math>-sub-additivity and outer volumes== At this point, we have come quite far. Only the <math>\sigma</math>-additivity and closure with respect to countable unions is missing in order to get a measure. It is tempting to just take the limit <math>n\to\infty</math> and conclude that we have the same properties for countably infinite sets. But it is not clear whether subadditivity (as generalized monotonicity) is preserved when going over to limit values! {{:Math for Non-Geeks/Template:Beispiel |titel=Outer Jordan-volume |beispiel= Let <math>\eta</math> be the outer Jordan volume on <math>\R</math>, which we already met in a more general form for <math>\R^n</math> in an example above. The set system <math>\mathcal{C}</math> of cuboid aggregates in <math>\R^n</math> considered there corresponds here to the set of all finite unions of half-open intervals of the form <math>(a,b]</math>. From the above example we know that <math>\eta</math> is indeed an outer volume, that is, finitely subadditive. Furthermore, if we consider sets of the form <math>A_n:=(x-1/n,x]</math> as approximating coverings for one-point sets <math>\{x\}\subseteq\R</math>, we see that {{Math|<math>\eta(\{x\})=\inf\left\{ \eta(F):F\in\mathcal{C},\{x\}\subseteq F \right\}=0</math>}} It follows that <math>\eta</math> assigns the geometric length not only to half-open but also to arbitrary intervals (because the boundary points have length 0). We now consider the set <math>\Q\cap[0,1]</math>. Since <math>\eta</math> is subadditive (cf. the Example above), we have that for every finite covering of <math>\Q\cap[0,1]</math> with sets <math>A_1,\dots,A_n\subseteq\R</math>: {{Math|<math>\eta(\Q\cap[0,1])\leq\sum_{i=1}^n\eta(A_i)</math>}} However, this inequality is no longer true, when taking countably infinite coverings. It is easy to see that every ''finite'' covering of <math>\Q\cap[0,1]</math> with sets <math>A_1,\dots,A_n\subseteq\R</math> must cover all of <math>[0,1]</math> since <math>\Q</math> is dense in <math>\R</math>. So the most exact possible covering of <math>\Q\cap[0,1]</math> is obviously the interval <math>[0,1]</math> itself, and thus we have that <math>\eta(\Q\cap[0,1])=1</math>. Let now <math>q_0,q_1,\dots</math> be an enumeration of the elements of <math>\Q\cap[0,1]</math> (this set is countable). Then <math>\Q\cap[0,1]\subseteq\bigcup_{i=1}^{\infty}\{q_i\}</math>. However, {{Math|<math>\eta(\Q\cap[0,1])=1>0=\sum_{i=1}^{\infty}\eta(\{q_i\})</math>}} Thus, the subadditivity is not preserved in the transition to infinite covers! Historical note: To consider countably infinite covers instead of finite ones in the definition of the outer Jordan volume was the decisive idea in the development of the integration theory by Lebesgue. We will see shortly why.}} So the reasoning we used in the previous section for ''finite'' additivity may not work if we want additivity for ''infinitely'' many disjoint sets. This is because in order for us to infer <math>\sigma</math>-additivity and stability under countable unions, it is necessary that subadditivity is also preserved under limit values. In other words, the inequality in the definition of subadditivity should also hold for coverings with (countably) infinite sets. The example shows that this is not true in general and has to be required separately. So we extend the notion of subadditivity to coverings with countably many sets and call this new property <math>\sigma</math>''-subadditivity'': {{:Math for Non-Geeks/Template:Definition |titel=<math>\sigma</math>-sub-additivity of a function on sets |definition=A function <math>\mu:\mathcal{P}(\Omega)\supseteq\mathcal{C}\to[0,\infty]</math> is called <math>\sigma</math>-subadditive, if for all <math>A, A_1, A_2,\dots\in\mathcal{C}</math> with <math>A\subseteq\bigcup_{i=1}^{\infty} A_i</math> it holds that: {{Math|<math>\mu(A)\leq\sum_{i=1}^{\infty}\mu(A_i)</math>}} }} Before we investigate whether we reach our goal for a <math>\sigma</math>-additive set function on <math>\mathcal{M}(\eta)</math> , we introduce a new name for outer volumes with this property. We called subadditive set functions defined on the power set with <math>\eta(\emptyset)=0</math> ''outer volumes'' earlier. The <math>\sigma</math> turns a "volume" into a "measure". So it is natural to call a <math>\sigma</math>-subadditive set function with <math>\eta(\emptyset)=0</math> an ''outer measure''. {{:Math for Non-Geeks/Template:Definition |titel=Outer measure |definition= A function <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> is called an outer measure, if it holds that # <math>\eta(\emptyset)=0</math>, # <math>\eta</math> is <math>\sigma</math>-subadditive. }} {{:Math for Non-Geeks/Template:Warnung|Again an outer measure is ''not'' a measure in the proper sense, for it is generally not <math>\sigma</math>-additive on <math>\mathcal{P}(\Omega)</math>.}} Because <math>\eta(\emptyset)=0</math>, every outer measure is also finitely subadditive (and hence monotonic). We can just choose <math>A_1,\dots,A_n,\emptyset,\emptyset,\dots\in\mathcal{P}(\Omega)</math> as covering sets. ==Construction of an outer measure== Let us recall the extension "without the <math>\sigma</math>" we constructed above. Maybe, it is possible to copy some useful ideas from it. We started from a function <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> defined on any set system <math>\emptyset\in\mathcal{C}</math> with <math>\mu: \mathcal{C}\to[0,\infty]</math> and <math>\mu(\emptyset)=0</math> . Then we constructed an outer volume <math>\eta</math>, which we did using finite coverings that approximate <math>A\in\mathcal{P}(\Omega)</math> by sets from <math>\mathcal{C}</math>: {{Math|<math>\eta(A):=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}</math>}} The set function <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> defined this way is actually subadditive on the entire power set with <math>\eta(\emptyset)=0</math>, so it is an outer volume. We have seen that it is a continuation of <math>\mu</math>, meaning that it coincides with <math>\mu</math> on the set system <math>\mathcal{C}</math>, provided that <math>\mu</math> also has the properties of an outer volume, i.e. it is subadditive on <math>\mu(\emptyset)=0</math> in addition to <math>\mathcal{C}</math>. Now we want to construct a <math>\sigma</math>-subadditive set function <math>\eta</math> defined on the power set with <math>\eta(\emptyset)=0</math>. We call a set function with these properties an outer measure. Thus, it should also hold for countably infinite covers of a set <math>A\subseteq\bigcup_{i=1}^{\infty}A_i</math>, <math>A,A_1,\dots\in\mathcal{P}(\Omega)</math>, that {{Math|<math>\eta(A)\leq\sum_{i=1}^{\infty}\eta(A_i)</math>}} When proving the subadditivity of the outer volume constructed above, we exploited that the value <math>\eta(A)</math> is given by the infimum over all possible finite coverings of a set <math>A</math>. From the definition we immediately obtained an inequality very similar to subadditivity {{Math|<math>\eta(A)=\inf\left\{\sum_{i=1}^n\mu(C_i):n\in\N, C_1,\dots,C_n\in\mathcal{C}, A\subseteq\bigcup_{i=1}^nC_i\right\}\leq\sum_{i=1}^m\mu(\tilde C_i)</math>}} for a set <math>C_1,\dots,C_n\in\mathcal{C}</math> covered by sets <math>A\subseteq\bigcup_{i=1}^nC_i</math>. However, we cannot expect from the above <math>\eta</math> that it is also <math>\sigma</math>-subadditive: The infimum is formed only over finite coverings, and it is not guaranteed that the inequality is preserved when moving to countably infinite coverings. With the Jordan volume on <math>\R</math> and the set <math>A=\Q\cap[0,1]</math> we have already seen an example for this. So to be able to infer the <math>\sigma</math>-subadditivity of <math>\eta</math> and to get the inequality also for infinite covers, we must form the infimum also over these and correspondingly tweak the definition, such that it becomes: {{Math|<math>\eta(A):=\inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots,\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\}</math>}} Note that since <math>\mu(\emptyset)=0</math> we have also included finite covers: choose <math>C_1,\dots,C_n,\emptyset,\dots\in\mathcal{C}</math>. The set function <math>\eta</math> thus constructed is in fact <math>\sigma</math>-subadditive, and the proof is analogous to the proof of subadditivity of the outer volume constructed above: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\to[0,\infty]</math> a function on it with <math>\mu(\emptyset)=0</math>. Then the functio defined on the power set: {{Math|<math>\eta:\mathcal{P}(\Omega)\to[0,\infty],\quad\eta(A):=\inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\}</math>}} is an outer measure. |beweis= We establish the two properties of an outer measure. First that <math>\eta(\emptyset) = 0</math> and then the <math>\sigma</math> subadditivity. For this we note the following: let <math>(A_n)_{n\in \N} \subseteq \mathcal{C}</math> be a covering of <math>A</math>, i.e. let <math>A\subseteq\bigcup_{n\in\N}A_n</math>. Then, we have because of {{Math|<math>\sum_{i=1}^{\infty} \mu(A_i) \in \left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i \right\}</math>}} that, by definition of <math>\eta</math>, {{Math|<math>\eta(A) = \inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i \right\} \leq \sum_{i=1}^{\infty} \mu(A_i).</math>}} Since, moreover, because of the nonnegativity of <math>\mu</math> for any <math>A \in \mathcal{P}(\Omega)</math> all elements in <math>\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\}</math> are nonnegative, we have <math>\eta(A) \geq 0</math>. By considering the covering <math>(\emptyset)_{n\in\N}\subseteq\mathcal{C}</math> of <math>\emptyset</math>, it follows with these two statements directly, that {{Math|<math>0\leq \eta(\emptyset)\leq \sum_{i=1}^{\infty}\mu(\emptyset)=0.</math>}} Now we turn to <math>\sigma</math>-subadditivity. Let for this <math>(A_n)_{n\in \N} \subseteq \mathcal{P}(\Omega)</math> be any set sequence <math>A = \bigcup_{n\in \N} A_n</math>. We will show that <math>\eta(A) \leq \sum_{n=1}^{\infty} \eta(A_n)</math>. W.l.o.g, let <math>\eta(A_k) < \infty</math> for all <math>k \in \N</math>. Now if <math>\eta(A_k)=\infty</math> for any <math>k \in \N</math>, then because <math>A_k \subseteq A</math> it follows also that <math>\eta(A)=\infty</math>. So we get {{Math|<math> \eta(A) = \infty = \eta(A_k) = \sum_{n=1}^{\infty} \eta(A_n).</math>}} Let now <math>\varepsilon > 0</math> be arbitrary. From the definition of <math>\eta</math> using the infimum it follows for every <math>n\in\N</math> that there is a covering of <math>A_n</math> with sets <math>(E_{n,k})_{k \in \N}\subseteq\mathcal{C}</math>, such that {{Math|<math>\sum_{k=1}^{\infty} \mu(E_{n,k}) \leq \eta(A_n) +\varepsilon\cdot 2^{-n}.</math>}} Since every single one of the sequences <math>(E_{n,k})_{k \in \N}</math> covers the set <math>A_n</math>. {{Math|<math>\bigcup_{n,k \in \N} (E_{n,k}) \supseteq \bigcup_{n \in \N} A_n = A. </math>}} That is, <math>(E_{n,k})_{n,k \in \N}</math> is a countable covering of <math>A</math> consisting of sets in <math>\mathcal{C}</math>. From this follows {{Math|<math>\begin{align}\eta(A) &\leq \sum_{n,k \in \N} \mu(E_{n,k}) = \sum_{n=1}^{\infty} \sum_{k=1}^{\infty} \mu(E_{n,k}) \leq \sum_{n=1}^{\infty} (\eta(A_n) +\varepsilon \cdot 2^{-n})\\[0,3em] &= \sum_{n=1}^{\infty} \eta(A_n) + \varepsilon \cdot \sum_{n=1}^{\infty} 2^{-n} = \sum_{n=1}^{\infty} \eta(A_n) + \varepsilon. \end{align}</math>}} Since this inequality holds for all <math>\varepsilon > 0</math>, a limit transition <math>\varepsilon\to0</math> implies the assertion {{Math|<math>\eta(A) \leq \sum_{n=1}^{\infty} \eta(A_n).</math>}} }} For the same reasons as for the construction of an outer volume, <math>\mu</math> must have the properties of an outer measure on <math>\mathcal{C}</math> to be continued by <math>\eta</math>: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math>, let <math>\mu:\mathcal{C}\to[0,\infty]</math> be a <math>\sigma</math>-subadditive function on it with <math>\mu(\emptyset)=0</math> and let <math>\eta</math> be defined as above. Then, <math>\eta</math> is a continuation of <math>\mu</math>. |beweis= Let <math>A \in \mathcal{C}</math>. We now prove <math>\mu(A)=\eta(A)</math>. Since <math>A</math> is covered by <math>\{A\} \subseteq \mathcal{C}</math> , we have <math>\eta(A) \leq \mu(A)</math>. We show the other inequality. Let <math>(A_n)_{n \in \N} \subseteq \mathcal{C}</math> be any cover of <math>A</math>. Then, from the <math>\sigma</math>-subadditivity of <math>\mu</math> we obtain {{Math|<math>\mu(A) \leq \sum_{n=1}^{\infty} \mu(A_n).</math>}} Since this holds for all coverings <math>(A_n)_{n \in \N}</math> there is also {{Math|<math>\mu(A) \leq \inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\} = \eta(A).</math>}} }} To denote that the outer measure <math>\eta</math> defined above is a continuation of <math>\mu</math>, we write <math>\mu^*</math> for it. In summary, we have proved: {{:Math for Non-Geeks/Template:Satz |titel=Constructing an outer measure |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\to[0,\infty]</math> a <math>\sigma</math>-subadditive function on it with <math>\mu(\emptyset)=0</math>. Then, {{Math|<math>\mu^*:\mathcal{P}(\Omega)\to[0,\infty],\quad\eta(A):=\inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\}</math>}} is an outer measure continuing <math>\mu</math>. }} {{:Math for Non-Geeks/Template:Warnung|Note that the function constructed in the theorem is ''one'' continuation of <math>\mu</math> to an outer measure. It does not need to be the only one.}} ==From an outer measure to a measure== Equipped with the additional property of <math>\sigma</math>-additivity, we can now also show that <math>\mathcal{M}(\eta)</math> is a <math>\sigma</math>-algebra and <math>\eta</math> is even <math>\sigma</math>-additive on it. The proof is based on taking a limit starting from the intermediate result to finite additivity and going to countably infinite additivity: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer measure. Then <math>\mathcal{M}(\eta)</math> is a <math>\sigma</math>-algebra. |beweis= Since every outer measure is in particular an outer volume, the intermediate result above holds, and we know that <math>\mathcal{M}(\eta)</math> is an algebra. So we only have to prove the closure of <math>\mathcal{M}(\eta)</math> with respect to countably infinite unions, i.e. that unions of measurable sets are measurable again. So what we want for all <math>A_1,A_2,\dots\in\mathcal{M}(\eta)</math> and all <math>Q\in\mathcal{P}(\Omega)</math> is: {{Math|<math>\eta(Q)=\eta\left(Q\cap\bigcup_{i=1}^{\infty}A_i\right)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty}A_i\right)^\complement\right)</math>}} The main work is to prove "<math>\geq</math>", because "<math>\leq</math>" follows already from finite subadditivity. We first show the statement for infinite unions of pairwise disjoint sets from <math>\mathcal{M}(\eta)</math>. For this, let <math>A_1,A_2,\dots\in\mathcal{M}(\eta)</math> be pairwise disjoint. Then, for all <math>Q\in\mathcal{P}(\Omega)</math>: {{Math|<math>\begin{align} \eta(Q)& = \eta\left(Q\cap\bigcup_{i=1}^n A_i\right)+\eta\left(Q\cap\left(\bigcup_{i=1}^n A_i \right)^\complement\right) \\ &= \sum_{i=1}^n\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^n A_i\right)^\complement\right)\\ &\geq \sum_{i=1}^n\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right) \end{align}</math>}} In the first two equations we used that finite unions of sets from <math>\mathcal{M}(\eta)</math> lie again in <math>\mathcal{M}(\eta)</math> and that <math>\eta</math> behaves finitely additively on <math>\mathcal{M}(\eta)</math>. The last estimate comes from the monotonicity of <math>\eta</math>, as {{Math| <math>\left(\bigcup_{i=1}^n A_i \right)^\complement \supseteq \left(\bigcup_{i=1}^{\infty} A_i \right)^\complement</math>}} Since the inequality above holds for all <math>n\in\N</math>, it is preserved in the limit <math>n\to\infty</math>: {{Math|<math>\eta(Q)\geq\sum_{i=1}^{\infty}\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)</math>}} Note that it was really necessary to exploit finite additivity before taking the limit, to make it clear that the inequality is preserved! Now <math>\eta</math> is an outer measure, so it is <math>\sigma</math>-subadditive, and we get from a further estimate of the first summand {{Math|<math>\begin{align} \eta(Q)&\geq\sum_{i=1}^{\infty}\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)\\ &\geq\eta\left(Q\cap \bigcup_{i=1}^{\infty}A_i\right)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)\\ &\geq \eta(Q) \end{align}</math>}} where the last inequality follows from finite subadditivity. So we have equality everywhere. Hence, we proved measurability of <math>\bigcup_{i=1}^{\infty}A_i</math> for pairwise disjoint <math>A_1,A_2,\dots\in\mathcal{M}(\eta)</math>. [[File:Set cutting.svg|thumb|300px|Overlapping sets <math>A_n</math> are transformed into disjoint sets <math>A'_n</math> by "cutting out" patches]] To obtain the statement for arbitrary countably infinite unions, we again use the intermediate result already proved, according to which <math>\mathcal{M}(\eta)</math> is an algebra. To make a union "artificially" disjoint, we take, one after another, each set <math>A_n</math> and "cut out" the part which is already contained in the union of the first sets <math>A_1,...,A_{n-1}</math>. For this we use the relation <math>B\setminus A=B\cap A^\complement</math>. Now, an algebra is intersection-, union- and complement-stable, so: {{Math|<math>A_n':=A_n\cap\left(\bigcup_{i=1}^{n-1}A_i\right)^\complement\in\mathcal{M}(\eta)</math>}} Then <math>\biguplus_{i=1}^{\infty}A_i'</math> is a union of pairwise disjoint sets from <math>\mathcal{M}(\eta)</math> and lies in <math>\mathcal{M}(\eta)</math> , as well. So for non-disjoint <math>A_1,A_2,\dots\in\mathcal{M}(\eta)</math> it also holds that {{Math|<math>\bigcup_{i=1}^{\infty}A_i = \biguplus_{i=1}^{\infty}A_i'\in\mathcal{M}(\eta)</math>}} which concludes the proof. }} From the above estimate, by appropriate choice of <math>Q</math>, the <math>\sigma</math>-additivity of <math>\eta</math> on <math>\mathcal{M}(\eta)</math> directly follows: {{:Math for Non-Geeks/Template:Satz |satz=Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer measure. Then <math>\eta</math> is <math>\sigma</math>-additive on <math>\mathcal{M}(\eta)</math>. |beweis= Let <math>A_1,A_2,\dots\in\mathcal{M}(\eta)</math> be pairwise disjoint. In the proof above, using <math>\sigma</math>-subadditivity for disjoint sets, we obtained the following estimate: {{Math|<math>\begin{align} \eta(Q)&\geq\sum_{i=1}^{\infty}\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)\\ &\geq\eta\left(Q\cap \bigcup_{i=1}^{\infty}A_i\right)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)\\ &\geq \eta(Q) \end{align}</math>}} so equality holds everywhere and {{Math|<math>\eta(Q)=\sum_{i=1}^{\infty}\eta(Q\cap A_i)+\eta\left(Q\cap\left(\bigcup_{i=1}^{\infty} A_i \right)^\complement\right)</math>}} for all <math>Q\in\mathcal{P}(\Omega)</math>. The choice of <math>Q=\biguplus_{i=1}^{\infty} A_i</math> establishes the claim. }} So, in summary, we have proved the following theorem, named after the mathematician Constantin Carathéodory: {{:Math for Non-Geeks/Template:Satz |titel=by C. Carathéodory, 1914 |satz= Let <math>\eta:\mathcal{P}(\Omega)\rightarrow[0,\infty]</math> be an outer measure. Then <math>\mathcal{M}(\eta)</math> is a <math>\sigma</math>-algebra and <math>\eta</math> a measure on it. }} ==Intermediate conclusion of results== Let us conclude the above definitions and results: ===Construction of an outer measure=== We have learned the property of <math>\sigma</math>-subadditivity. It generalizes subadditivity to coverings (approximations) of a set with countably infinite sets and can be understood as a form of subadditivity which is preserved when passing to limits. {{:Math for Non-Geeks/Template:Definition |titel=<math>\sigma</math>-sub-additivity of a function on sets |definition=A function <math>\mu:\mathcal{P}(\Omega)\supseteq\mathcal{C}\to[0,\infty]</math> is called <math>\sigma</math>-subadditive, if for all <math>A, A_1, A_2,\dots\in\mathcal{C}</math> with <math>A\subseteq\bigcup_{i=1}^{\infty} A_i</math> it holds that: {{Math|<math>\mu(A)\leq\sum_{i=1}^{\infty}\mu(A_i)</math>}} }} An outer measure is a <math>\sigma</math>-subadditive function defined on the entire power set. It can be interpreted as an approximation of the volume of the subsets of <math>\Omega</math>, but is in general not a measure (not <math>\sigma</math>-additive) on the power set. {{:Math for Non-Geeks/Template:Definition |titel=Outer measure |definition= A function <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> is called an outer measure, if: # <math>\eta(\emptyset)=0</math>, # <math>\eta</math> is <math>\sigma</math>-subadditive. }} One can construct an outer measure out of nearly every set function <math>\mu</math> defined on some set system. The idea of construction is to understand the property of an outer measure as an outer approximation by coverings that should be as precise as possible. If <math>\mu</math> itself has the properties of an outer measure (<math>\sigma</math>-subadditivity), then the outer measure constructed out of it is a continuation of <math>\mu</math>. {{:Math for Non-Geeks/Template:Satz |titel=Construction of an outer measure |satz=Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\to[0,\infty]</math> a function on it with <math>\mu(\emptyset)=0</math>. Then the set function defined on the power set {{Math|<math>\eta:\mathcal{P}(\Omega)\to[0,\infty],\quad\eta(A):=\inf\left\{\sum_{i=1}^{\infty}\mu(C_i): C_1,C_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}C_i\right\}</math>}} is an outer measure. If <math>\mu</math> is additionally <math>\sigma</math>-subadditive on <math>\mathcal{C}</math>, then this outer measure is a continuation of <math>\mu</math> and we also write <math>\mu^*</math> for it. }} ===Theorem of Carathéodory=== Using the measurability condition of Carathéodory one can find those sets on which an external measure is even additive. The sets for which the condition is fulfilled can be understood as sets which can be exactly approximated (or measured) by the outer measure. {{:Math for Non-Geeks/Template:Definition |titel=Measurability condition of C. Carathéodory |definition= Let <math>\eta:\mathcal{P}(\Omega)\to[0,\infty]</math> be an outer measure. A set <math>A\in\mathcal{P}(\Omega)</math> is called <math>\eta</math>-measurable, if for all <math>Q\in\mathcal{P}(\Omega)</math> it holds that: {{Math|<math>\eta(Q)=\eta(Q\cap A)+\eta(Q\setminus A)</math>}} The set <math>\mathcal{M}(\eta):=\{A\subseteq\Omega:A \text{ is }\eta\text{-measurable}\}</math> is called the set of <math>\eta</math>-measurable sets. }} The set of measurable sets with respect to an outer measure is a <math>\sigma</math>-algebra. Further, an outer measure <math>\eta</math> on the set of measurable sets is a measure: By definition of the measurability condition, a subadditive set function on the measurable sets behaves additively. If the subadditivity is preserved even in the transition to the limit, then from <math>\sigma</math>-subadditivity before taking the limit, we can infer <math>\sigma</math>-additivity after taking the limit. {{:Math for Non-Geeks/Template:Satz |titel=C. Carathéodory, 1914 |satz= Let <math>\eta:\mathcal{P}(\Omega)\rightarrow[0,\infty]</math> Be an outer measure. Then <math>\mathcal{M}(\eta)</math> is a <math>\sigma</math>-algebra and <math>\eta</math> a measure on it. }} ==The continuation theorem== We now know: If <math>\mu</math> is a <math>\mathcal{C}</math>-subadditive function defined on a set system <math>\emptyset\in\mathcal{C}</math> with <math>\mu(\emptyset)=0</math>, then we can use it to construct an outer measure <math>\mu^*</math> on the power set which continues <math>\mu</math>. For this we define for any <math>A\in\mathcal{P}(\Omega)</math>: {{Math|<math>\mu^*(A)=\inf\left\{ \sum_{i=1}^{\infty} \mu(A_i):A_1,A_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}A_i \right\}</math>}} We can define the sets measurable with respect to an outer measure. These form a <math>\sigma</math>-algebra and the outer measure is <math>\sigma</math>-additive (a measure) to it. In what follows we keep the names <math>\mu</math>, <math>\mu^*</math> and <math>\mathcal{C}</math> and use them in the same sense. The goal now is to apply these results to construct the continuation. For this we want to restrict <math>\mu^*</math> to the <math>\sigma</math>-algebra generated by <math>\mathcal{C}</math> and finally get a measure on <math>\sigma(\mathcal{C})</math>. What still has to be done is to prove that the original set system <math>\mathcal{C}</math> is really contained in the <math>\sigma</math>-algebra <math>\mathcal{M}(\mu^*)</math> of the <math>\mu^*</math>-measurable sets. So each original set in <math>\mathcal{C}</math> is indeed <math>\mu^*</math>-measurable. If this was not the case, we would be in serious trouble: Just restricting the <math>\mathcal{C}</math> to <math>\mu^*</math>-measurable sets would then not work, since <math>\mathcal{C}\nsubseteq\mathcal{M}(\mu^*)</math>, implies <math>\sigma(\mathcal{C})\nsubseteq\mathcal{M}(\mu^*)</math>. So the <math>\sigma</math>-algebra would be "too small", then. Conversely, if <math>\mathcal{C}\subseteq\mathcal{M}(\mu^*)</math>, then <math>\sigma(\mathcal{C})\subseteq\sigma\left(\mathcal{M}(\mu^*)\right)=\mathcal{M}(\mu^*)</math>, because the <math>\sigma</math>-operator just picks the smallest <math>\sigma</math>-algebra larger than <math>\mathcal{C}</math> and <math>\mathcal{M}(\mu^*)</math> is such a <math>\sigma</math>-algebra. So what we need to continue <math>\mu</math> to a measure on <math>\sigma(\mathcal{C})</math> is the measurability of sets in <math>\mathcal{C}</math>. In other words, {{Math|<math>\mu^*(Q)=\mu^*(Q\cap C)+\mu^*(Q\setminus C)</math>}} should hold for all <math>C\in\mathcal{C}</math> and all <math>Q\in\mathcal{P}(\Omega)</math>. So we need a further condition on <math>\mathcal{C}</math>. However, instead of simply requiring the above equation as a condition, we will use a slightly weaker condition of measurability of the sets from <math>\mathcal{C}</math>, which is still sufficient. For this we approximate an arbitrary set <math>Q</math> by sets <math>C_1,C_2,\dots\in\mathcal{C}</math>. Then it suffices for the measurability of a set <math>C\in\mathcal{C}</math> to require that the above equality holds only for all sets <math>Q\in\mathcal{C}</math>, rather than for any <math>Q\in\mathcal{P}(\Omega)</math>. So let <math>C\in\mathcal{C}</math> be any set, for which we want to show measurability. Let further <math>Q\in\mathcal{P}(\Omega)</math> be arbitrary and let <math>A_1,A_2,\dots\in\mathcal{C}</math> such that {{Math|<math>Q\subseteq\bigcup_{i=1}^{\infty}A_i</math>}} The aim is to show {{Math|<math> \mu^*(Q)= \mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement})</math>}} by exploiting that the equation is satisfied for the <math>A_i\in\mathcal{C}</math> in place of <math>Q</math>. From subadditivity and <math>\sigma</math>-subadditivity of the external measure <math>\mu^*</math>, we conclude: {{Math|<math> \mu^*(Q)\leq\mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement}) \leq \sum_{i=1}^{\infty} \mu^*(A_i\cap C) + \sum_{i=1}^{\infty}\mu^*(A_i\cap C^{\complement})</math>}} Now we have assumed that the measurability equation is satisfied for sets in <math>\mathcal{C}</math>. This holds for all <math>i\in\N</math> as the <math>A_i</math> are from <math>\mathcal{C}</math>: {{Math|<math> \mu^*(A_i\cap C) + \mu^*(A_i\cap C^{\complement}) \leq \mu^*(A_i) =\mu(A_i)</math>}} The last equality holds, since the outer measure <math>\mu^*</math> was constructed as a continuation of <math>\mu</math> (see above) and on <math>\mathcal{C}</math> it agrees with <math>\mu</math>. It follows that {{Math|<math> \mu^*(Q)\leq\mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement}) \leq \sum_{i=1}^{\infty} \mu(A_i) </math>}} Now note that by definition of <math>\mu^*</math> we can approximate the value <math>\mu^*(Q)</math> by appropriate choice of covers of <math>Q</math> to arbitrary precision. Let thus <math>\varepsilon>0</math> and let <math>A_1,A_2,\dots\in\mathcal{C}</math> be chosen such that {{Math|<math>\sum_{i=1}^{\infty} \mu(A_i)\leq\mu^*(Q) + \varepsilon</math>}} It follows together with the estimates made above that {{Math|<math> \mu^*(Q)\leq\mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement}) \leq \mu^*(Q) + \varepsilon </math>}} and taking the limit <math>\varepsilon\to 0</math> we get measurability of <math>C</math>. Thus, we have finally shown this result for the measurability of the sets from <math>\mathcal{C}</math>: {{:Math for Non-Geeks/Template:Satz |titel= |satz= Let <math>\mu:\mathcal{C}\to[0,\infty]</math> be a function which is continued by an outer measure <math>\mu^*:\mathcal{P}(\Omega)\to[0,\infty]</math>, {{Math|<math>\mu^*(A)=\inf\left\{ \sum_{i=1}^{\infty} \mu(A_i):A_1,A_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}A_i \right\}</math>}} If for every <math>C\in\mathcal{C}</math> {{Math|<math> \mu^*(Q)= \mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement})</math>}} holds for any <math>Q\in\mathcal{C}</math> , then the sets from <math>\mathcal{C}</math> are <math>\mu^*</math>-measurable. }} Finding a suitable condition for the measurability of the sets from <math>\mathcal{C}</math> was the last step to construct a continuation of <math>\mu</math> to a measure on the <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> generated by the set system <math>\mathcal{C}</math>. This finally allows us to write down the main theorem about measure continuation: {{:Math for Non-Geeks/Template:Satz |titel=Continuation to a measure |satz= Let <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system with <math>\emptyset\in\mathcal{C}</math> and <math>\mu:\mathcal{C}\rightarrow[0,\infty]</math> a <math>\sigma</math>-subadditive function defined on it with <math>\mu(\emptyset)=0</math>. Let further {{Math|<math>\mu^*:\mathcal{P}(\Omega)\to[0,\infty],\quad\mu^*(A)=\inf\left\{ \sum_{i=1}^{\infty} \mu(A_i):A_1,A_2,\dots\in\mathcal{C}, A\subseteq\bigcup_{i=1}^{\infty}A_i \right\}</math>}} the canonical continuation of <math>\mu</math> to an outer measure. If for every <math>C\mu</math> is the equation {{Math|<math> \mu^*(Q)= \mu^*(Q\cap C)+\mu^*(Q\cap C^{\complement})</math>}} is satisfied for any <math>Q\in\mathcal{C}</math>, then <math>\mu^*</math>, restricted to the generated <math>\sigma</math> algebra <math>\sigma(\mathcal{C})</math>, defines a measure that continues <math>\mu</math>. }} == Alternative versions of the continuation theorem == Often, the literature states the measure continuation theorem in other versions than the one formulated by us. Often not of an arbitrary set system <math>\mathcal{C}</math> (with <math>\emptyset\in\mathcal{C}</math>) is assumed, but additionally a certain structure is presupposed. This is especially useful with respect to the uniqueness of a continuation, because only for sufficiently "large" set systems <math>\mathcal{C}</math> , the measure which continues a set function is uniquely determined by the values on <math>\mathcal{C}</math>. This question will concern us in detail in the next chapter "[[Math for Non-Geeks: Uniqueness of a continuation|Uniqueness of a continuation]]". Here we will only briefly consider alternative formulations of the continuation theorem. If the set system <math>\mathcal{C}</math> is stable when taking differences, then the condition formulated by us in the continuation theorem for the measurability of the sets from <math>\mathcal{C}</math> is equivalent to <math>\mu^*</math> (and hence also <math>\mu</math>) being additive on <math>\mathcal{C}</math>. This is the content of the following little theorem. {{:Math for Non-Geeks/Template:Satz |satz= Let <math>\mathcal{C}</math> denote a set system stable when taking differences (e.g. a ring). As before, let <math>\mu</math> denote a function defined on <math>\mathcal{C}</math> and <math>\mu^*</math> denote the continuation of <math>\mu</math> to a measure. Then the following are equivalent: * <math>\mu</math> is additive on <math>\mathcal{C}</math>. * <math>\forall Q,C\in\mathcal{C}:\mu^*(Q)=\mu^*(Q\cap C)+\mu^*(Q\setminus C)</math> |beweis= First "<math>\Rightarrow</math>": let <math>\mu</math> be additive on <math>\mathcal{C}</math> and let <math>Q,C\in\mathcal{C}</math> be arbitrary. Since <math>\mu^*</math> is additive on <math>\mathcal{C}</math> with <math>\mu</math>, also <math>\mu^*</math> is additive on <math>\mathcal{C}</math> and we have that: {{Math|<math>\mu^*(Q)=\mu^*(\underbrace{Q\cap C}_{\in\mathcal{C}} \uplus \underbrace{Q\setminus C}_{\in\mathcal{C}})\overset{\text{assumption}}{=} \mu^*(Q\cap C)+\mu^*(Q\setminus C)</math>}} Now to "<math>\Leftarrow</math>". This direction follows directly from the measurability condition as characterization of the additivity. Let <math>A,B\in\mathcal{C}</math> be disjoint and set <math>Q:=A\uplus B\in\mathcal{C}</math>. Then, we have by assumption: {{Math|<math>\mu^*(Q)\overset{\text{assumption}}{=} \mu^*(Q\cap A)+\mu^*(Q\setminus A)=\mu^*(A)+\mu^*(B)</math>}} }} Thus, if we assume that <math>\mathcal{C}</math> is a ring, we can replace the somewhat unwieldy condition for measurability of sets from <math>\mathcal{C}</math> with additivity in our version of the continuation theorem. (Instead of a ring, one can of course substitute any set system stable under differences (e.g. an algebra)). In fact, even a "restricted" stability under differences, as in the case of ''semi-rings'' is sufficient. Semi-rings are set systems which have somewhat less structure than rings. In particular, the difference of two sets does not necessarily lie in the semi-ring again, but can always be written as a disjoint union of finitely many sets from the set system. {{:Math for Non-Geeks/Template:Beispiel |titel=Semi-ring |beispiel= The set of half-open rectangles <math>(a_1,b_1]\times\dots\times(a_n,b_n]</math> is a semi-ring on <math>\R^n</math>. [[File:HalboffenesRechteck.svg|center|230px|half open rectangle]] From this semi-ring, the ring of cuboid aggregates is generated, which we already encountered in an example above. This ring contains all figures aggregates of finitely many half-open rectangles. [[File:Ringe.svg|center|250 px|overlaps reduce the volume]] }} One can show that the continuation of a (<math>\sigma</math>-)additive set function of a semi-ring on the ring generated by it is always possible while preserving the (<math>\sigma</math>-)additivity. This justifies the following variant of the continuation theorem: {{:Math for Non-Geeks/Template:Satz |titel=Continuation theorem, alternative version |satz= Let <math>\mathcal{C}</math> be a semi-ring and <math>\mu:\mathcal{C}\to[0,\infty]</math> an additive, <math>\sigma</math>-subadditive set function with <math>\mu(\emptyset)=0</math>. Then there exists a continuation of <math>\mu</math> to a measure on <math>\sigma(\mathcal{C})</math>. }} (A German reference, where this version can be found, is {{Cite book |author=Achim Klenke |title=Wahrscheinlichkeitstheorie |edition=2., korrigierte }}) We can also show that a volume on a ring is <math>\sigma</math>-subadditive if and only if it is <math>\sigma</math>-additive (a premeasure). So if <math>\mathcal{C}</math> is a ring (or an algebra, because every algebra is a ring), then we can summarize additivity and <math>\sigma</math>-subadditivity in our version of the continuation theorem as follows: {{:Math for Non-Geeks/Template:Satz |titel=Continuation theorem, alternative version |satz= Let <math>\mathcal{C}</math> be a ring/algebra and <math>\mu:\mathcal{C}\to[0,\infty]</math> a premeasure (definition right above the theorem). Then there exists a continuation of <math>\mu</math> to a measure on <math>\sigma(\mathcal{C})</math>. }} However, the assumptions made here are relatively strong. Set rings can be large (for example, the ring of cuboid aggregates), so it may be difficult to prescribe all values of a premeasure on it. Here the following, also often used variant of the continuation theorem helps, which gets along with somewhat weaker assumptions. Also, here the reason lies in the fact that a continuation of a semi-ring on the ring generated by it is possible under preservation of the <math>\sigma</math>-additivity. {{:Math for Non-Geeks/Template:Satz |titel=Continuation theorem, alternative Version |satz= Let <math>\mathcal{C}</math> be a semi-ring and <math>\mu:\mathcal{C}\to[0,\infty]</math> a premeasure. Then there exists a continuation of <math>\mu</math> to a measure on <math>\sigma(\mathcal{C})</math>. }} (A German reference, where this version can be found, is {{Cite book |author=Jürgen Elstrodt |title=Maß- and Integrationstheorie |edition=8. }}) {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} mmj53xt1iqwp7c193e3w6ejje68h6q4 Math for Non-Geeks/Uniqueness of a continuation 0 473526 4635271 4623482 2026-05-11T16:37:06Z Sascha Lill 95 3167325 adjust equation format 4635271 wikitext text/x-wiki '''Bold text'''{{#invoke:Math for Non-Geeks/Seite|oben |info={{:Math for Non-Geeks: Template:Banner/Maßtheorie Autorenwerbung}} }} We derive conditions under which a measure on a <math>\sigma</math>-algebra is uniquely determined by the values on a generator. On our way, we will learn about Dynkin systems and their relation to <math>\sigma</math>-algebras. Finally, we will prove the uniqueness theorem for measure continuation. == Problem == Continuation of functions on sets to measures are usually done in a way that the as many subsets of a basic set <math>\Omega</math> enter the <math>\sigma</math>-algebra, as possible (while sustaining some nice properties). Often, one requires additional conditions, for instance when constructing a geometric volume, that cuboids in <math>\R^n</math> get assigned their geometric volume. In general, it is not clear whether such a measure with the desired properties even exists. If it does, we might have several <math>\sigma</math>-algebras where it can be defined on. The general construction of a measure is as follows: we start with a small set system <math>\mathcal{C}</math>, such that the function on sets restricted to it fulfills the desired properties. For example, for defining a geometric volume, we choose <math>\mathcal{C}</math> as the set system of cuboids and <math>\mu</math> as the set function that assigns to each cuboid its geometric volume. Using the [[Math for Non-Geeks: Existence of a measure continuation#Satz:Fortsetzungssatz|existence of a continuation - theorem]] we know when a function <math>\mu\colon\mathcal{C}\to[0,\infty]</math> can be continued to a measure on the <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> generated by <math>\sigma</math>. For the proof of the continuation theorem, ''one'' possible continuation has been explicitly stated via [[Math for Non-Geeks: Existence of a measure continuation#Satz:Von der Konstruktion eines äußeren Maßes|outer measures]]. But can there also be other ways to continue <math>\mu</math> to a measure on <math>\sigma(\mathcal{C})</math>? In other words, we are interested in whether a measure <math>\mu</math> on the <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> is already uniquely determined by its values on the smaller set system <math>\mathcal{C}</math>. To make them easier to check, uniqueness statements are often re-formulated in mathematics: Suppose, <math>\mu</math> and <math>\nu</math> are measures on the <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> generated by a set system <math>\mathcal{C}</math>. Further, let <math>\mu</math> and <math>\nu</math> coincide on <math>\mathcal{C}</math>, which means <math>\mu(A)=\nu(A)</math> for all <math>A\in\mathcal{C}</math>. Then uniqueness just means <math>\mu=\nu</math> on the whole <math>\sigma</math> algebra <math>\sigma(\mathcal{C})</math>. In the following, we derive conditions for when this is the case. == The principle of good sets == We will proceed step by step to find conditions on the generator <math>\mathcal{C}</math> and the two measures <math>\mu</math> and <math>\nu</math> under which uniqueness holds. For this we consider the system of "good sets" {{Math|<math>\mathcal{G}:=\{A\in\sigma(\mathcal{C})\colon\mu(A)=\nu(A)\}.</math>}} It contains all sets from <math>\sigma(\mathcal{C})</math> on which <math>\mu</math> and <math>\nu</math> coincide. Uniqueness would mean that all sets in <math>\sigma(\mathcal{C})</math> are good, i.e. <math>\mathcal{G}=\sigma(\mathcal{C})</math>. Actually, this is equivalent to saying that <math>\mathcal{G}</math> is a <math>\sigma</math>-algebra: Since by assumption, <math>\mu(C)=\nu(C)</math> is satisfied for all <math>C\in\mathcal{C}</math>, we have <math>\mathcal{C}\subseteq\mathcal{G}</math> holds. But <math>\mathcal{C}</math> already generates <math>\sigma(\mathcal{C})</math>, i.e. there is no smaller <math>\sigma</math>-algebra which contains <math>\mathcal{C}</math>. So if <math>\mathcal{G}</math> is a <math>\sigma</math>-algebra, then <math>\mathcal{G}</math> (which was contained in <math>\sigma(\mathcal{C})</math>) must be the entire <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> (see: [[Math for Non-Geeks: Generated sigma-algebras#Anchor:Eigenschaften|monotonicity and idempotence]] of the <math>\sigma</math>-operator). This type of approach is often used to show that a given property is satisfied for all sets of a set system <math>\mathcal{M}</math> (like a <math>\sigma</math>-algebra). It is called the "principle of good sets" and it works like this: Suppose one can only make statements about a generator of <math>\mathcal{M}</math>, perhaps because <math>\mathcal{M}</math> can only be characterized in terms of the generator. An example is the [[Math for Non-Geeks: Generated sigma-algebras#Anchor:Erzeuger der Borelschen sigma-Algebra|Borel <math>\sigma</math>-algebra]], which is extremely large and can only be written down by means of generators and relations. Then it might be smart to proceed indirectly when showing a property of all sets in <math>\mathcal{M}</math>. We define the set system <math>\mathcal{G}=\{A\in\mathcal{M}\mid A\text{ has the given property}\}</math> of "good sets". Then we show: *<math>\mathcal{G}</math> is a <math>\sigma</math>-algebra. *<math>\mathcal{G}</math> contains a generator <math>\mathcal{C}</math> of <math>\mathcal{M}</math>. It follows that <math>\mathcal{M}=\mathcal{G}</math>, i.e. all sets in <math>\mathcal{M}</math> are "good". Hence, we gained control over the extremely tedious set <math>\mathcal{M}</math> by only using properties of the simple sets in <math>\mathcal{C}</math>. {{:Math for Non-Geeks: Template:Satz |titel=The principle of good sets |satz= Let <math>\mathcal{M}</math> be a <math>\sigma</math>-algebra and let <math>\mathcal{G}</math> be the system of all sets from <math>\mathcal{M}</math> for which a given property holds. Assume that *<math>\mathcal{G}</math> is a <math>\sigma</math>-algebra. *<math>\mathcal{G}</math> contains a generator <math>\mathcal{C}</math> of <math>\mathcal{M}</math>. Then the property holds for all sets from <math>\mathcal{M}</math>, i.e., we have that <math>\mathcal{M}=\mathcal{G}</math>. |proof= We have <math>\mathcal{C} \subseteq \mathcal{G}</math>. Since <math>\mathcal{C}</math> is a generator of <math>\mathcal{M}</math>, it follows from the monotonicity and idempotence of the <math>\sigma</math>-operator that <math>\mathcal{M}=\sigma(\mathcal{C}) \subseteq \sigma(\mathcal{G})=\mathcal{G}\subseteq\mathcal{M}</math>. }} {{:Math for Non-Geeks: Template:Hinweis|The principle of good sets is very powerful. It can also be applied to other kinds of set systems (not only for <math>\sigma</math>-algebras). For instance, it can also be applied to the ring or <math>\sigma</math>-ring generated by a set system.}} In our case, the sets of good sets <math>\mathcal{G}=\{A\in\sigma(\mathcal{C})\colon\mu(A)=\nu(A)\}</math> contains all the sets <math>A\in\sigma(\mathcal{C})</math> on which the measures <math>\mu</math> and <math>\nu</math> coincide. The equality of the measures on the generator <math>\mathcal{C}</math> is known, so <math>\mathcal{C}\subseteq\mathcal{G}</math> holds. Now we are still looking for conditions so that <math>\mathcal{G}</math> becomes a <math>\sigma</math>-algebra. So we want to find conditions on the generator <math>\mathcal{C}</math> and the two measures <math>\mu,\nu</math> such that: * The basic set <math>\Omega</math> is contained in <math>\mathcal{G}</math>. * <math>\mathcal{G}</math> is complement stable. * <math>\mathcal{G}</math> is union stable with respect to countable unions. == Existence of an inner approximation == Every <math>\sigma</math>-algebra contains the basic set <math>\Omega</math>, so <math>\Omega</math> should be in the set of good sets <math>\mathcal{G}</math>. That is, it should hold that <math>\mu(\Omega)=\nu(\Omega)</math> for both measures <math>\mu</math> and <math>\nu</math>. In general, this need not be the case even if the two measures agree on <math>\mathcal{C}</math>: {{:Math for Non-Geeks: Template:Beispiel |titel=Measure of the basic set is not uniquely determined |beispiel= Let <math>\mathcal{C}</math> be the set system of all one-element subsets of <math>\R</math>: {{Math|<math>\mathcal{C}=\{\{x\}\mid x\in\R\}</math>}} The <math>\sigma</math>-algebra generated by this is {{Math|<math>\sigma(\mathcal{C})=\{A\subseteq\R:A\text{ countable or }A^\complement\text{ countable}\}</math>}} (This is proved in the article on [[Math for Non-Geeks: Generated sigma-algebras#Satz:einelementige-Mengen-erzeugte-sigma-Algebra|generated <math>\sigma</math>-algebras]]). We define on <math>\sigma(\mathcal{C})</math> the two measures <math>\mu=0</math> and <math>\nu</math> via {{Math|<math>\nu(A) := \begin{cases} 0,\text{ if } A \text{ countable}\\ \infty \text{ else.}\end{cases}</math>}} Then <math>\mu</math> and <math>\nu</math> are equal on the generator, but not on all of <math>\sigma(\mathcal{C})</math>. Thus, they are not yet uniquely determined by specifying the values on <math>\mathcal{C}</math>. In particular <math>\mu(\R)=0\neq\infty=\nu(\R)</math>. We can still generalize this example: Let <math>\Omega\neq\emptyset</math> be a set and let <math>\mathcal{C}=\{\emptyset\}</math>. The <math>\sigma</math>-algebra generated by <math>\mathcal{C}</math> is <math>\sigma(\mathcal{C})=\{\emptyset,\Omega\}</math>. Let <math>\mu=0</math> be the zero measure on it, and for a <math>r>0</math> let the measure <math>\nu</math> be defined by <math>\nu(\emptyset)=0, \nu(\Omega)=r</math>. Then, we have <math>\mu(\emptyset)=\nu(\emptyset)</math>, so <math>\mu</math> and <math>\nu</math> agree on <math>\mathcal{C}</math>. However, <math>\mu(\Omega)=0\neq r=\nu(\Omega)</math>. }} So with which conditions on the generator <math>\mathcal{C}</math> or the two measures <math>\mu,\nu</math> can we enforce <math>\mu(\Omega)=\nu(\Omega)</math>? === Idea and definition of an inner approximation === We know that the measures <math>\mu</math> and <math>\nu</math> coincide on the sets in <math>\mathcal{C}</math>. The idea is to cover the basic set with at most countably many sets from <math>E_1,E_2,\ldots\in\mathcal{C}</math>, i.e. their union should be <math>\bigcup_{n=1}^\infty E_n=\Omega</math>. {{:Math for Non-Geeks: Template:Beispiel |titel=Coverings of <math>\Omega=[0,\infty)</math> |beispiel= * The sets <math>E_n=[n,n+2]</math> are neither pairwise disjoint nor contained in each other. * The sets <math>E_n=[n,n+1)</math> are pairwise disjoint. * The sets <math>E_n=[0,n)</math> are contained in each other in ascending order. }} Now we want to infer from <math>\mu(E_n)=\nu(E_n)</math> for all <math>n\in\N</math> (which holds since these sets are from <math>\mathcal{C}</math>), that <math>\mu(\Omega)=\nu(\Omega)</math> holds as well. For this the <math>E_n</math> should be either pairwise disjoint or contained in each other in ascending order: * If the <math>E_n</math> are pairwise disjoint, we can use the <math>\sigma</math>-additivity of measures: <math>\mu(\Omega)=\mu\left(\biguplus_{i=1}^\infty E_i\right)=\sum_{n=1}^\infty \mu(E_i)=\sum_{n=1}^\infty \nu(E_i)= \nu\left(\biguplus_{i=1}^\infty E_i\right)=\nu(\Omega)</math> * If they are contained in each other in ascending order (i.e. <math>E_1\subseteq E_2\subseteq\ldots</math>), they form a monotonic set sequence with limit <math>\bigcup_{i=1}^\infty E_i=\Omega</math>. Then we can use the continuity of the measures <math>\mu</math> and <math>\nu</math>: <math>\mu(\Omega)=\mu(\lim_{n\to\infty}E_n)=\lim_{n\to\infty} \mu(E_i)=\lim_{n\to\infty} \nu(E_i)=\nu(\lim_{n\to\infty}E_n)=\nu(\Omega)</math> If neither is the case, then we can not necessarily conclude <math>\mu(\Omega)=\nu(\Omega)</math> from <math>\mu(E_n)=\nu(E_n)</math> for all <math>n</math>. We consider the case where the <math>E_n</math> are contained in each other in ascending order and define the notion of ''exhaustion'': {{:Math for Non-Geeks: Template:Definition |titel=Exhaustion |definition= Let <math>\Omega</math> be a set and let <math>E_n\subseteq\Omega</math> be subsets for each <math>n\in\N</math> with <math>E_n\subseteq E_{n+1}</math>. If <math>\Omega=\bigcup_{n\in\N}E_n</math>, then the sequence <math>(E_n)_{n\in\N}</math> is called an ''exhaustion'' of <math>\Omega</math>. }} {{:Math for Non-Geeks: Template:Beispiel |titel=Exhaustion |beispiel= For <math>\Omega:=\R</math> and <math>\cal{C}:=\{(a,b]:a,b\in\R\}</math> there exists an exhaustion <math>(E_n)_n\subseteq\mathcal{C}</math> with <math>E_n:=(-n,n]</math>. }} Since measures are continuous, if <math>\mathcal{C}</math> contains an exhaustion <math>(E_n)_{n\in\N}</math> of <math>\Omega</math>, then we have <math>\mu(\Omega)=\lim_{n\to\infty}\mu(E_n)=\lim_{n\to\infty}\nu(E_n)=\nu(\Omega)</math>. === Intermediate result === To conclude, w have found the following first condition on the set system <math>\mathcal{C}</math>: To ensure that the basic set is in the "set of good sets" <math>\mathcal{G}</math>, that is, that <math>\mu(\Omega)=\nu(\Omega)</math> holds, we require that <math>\mathcal{C}</math> contains an exhaustion of <math>\Omega</math>. {{:Math for Non-Geeks: Template:Hinweis|The condition is automatically satisfied if <math>\Omega\in\mathcal{C}</math> holds, e.g. if <math>\mu</math> and <math>\nu</math> are probability measures: Then one can assume a priori <math>\Omega\in\mathcal{C}</math>.}} == The inner approximating sets have finite measure == By requiring that <math>\Omega</math> has an exhaustion by sets from <math>\mathcal{C}</math>, we ensured that <math>\Omega</math> lies in the "set of good sets" <math>\mathcal{G}=\{A\in\sigma(\mathcal{C})\colon\mu(A)=\nu(A)\}</math>. It remains to investigate under which conditions <math>\mathcal{G}</math> is closed under formation of differences and countable unions. For this purpose let us first examine under which operations <math>\mathcal{G}</math> is already closed with our previous assumptions: ===Unions=== Let <math>A</math> and <math>B</math> be two sets from the set of good sets <math>\mathcal{G}</math>. Thus, we have <math>\mu(A)=\nu(A)</math> and the same for <math>B</math>. Now, we take their union. Things look good if <math>B\subseteq A</math>: in this case <math>A\cup B=A</math> , so <math>\mu(A\cup B)=\mu(A)=\nu(A)=\nu(A\cup B) </math> is definitely also in the set of good sets <math>\mathcal{G}</math>. The same happens for <math>A\subseteq B</math> [[File:Union included.svg|600px|A set <math>A</math> does not change when adding the set <math>B</math>]] Similarly, the measure value of the union of <math>A</math> and <math>B</math> is uniquely determined if the two sets are disjoint: In that case, from additivity of the measures <math>\mu</math> and <math>\nu</math> it follows that {{Math|<math>\mu(A\uplus B)=\mu(A)+\mu(B)=\nu(A)+\nu(B)=\nu(A\uplus B)</math>}} So the disjoint union is also uniquely measurable and lies again in <math>\mathcal{G}</math>. [[File:Union disjoint.svg|600px|Union of the disjoint sets <math>A</math> and <math>B</math>]] If we additionally exploit the <math>\sigma</math>-additivity of measures, then we even know the measure of countably infinite unions of disjoint sets. Given a sequence of pairwise disjoint sets <math>A_1,A_2,\dots\in\mathcal{G}</math>, the <math>\sigma</math>-additivity of measures <math>\mu</math> and <math>\nu</math> implies {{Math|<math> \mu\left(\biguplus_{i=1}^\infty A_i\right)=\sum_{i=1}^\infty\mu(A_i)=\sum_{i=1}^\infty\nu(A_i)=\nu\left(\biguplus_{i=1}^\infty A_i\right).</math>}} ===Set differences=== Let again <math>A</math> and <math>B</math> be two sets from <math>\mathcal{G}</math>, i.e. let <math>\mu(A)=\nu(A)</math>, <math>\mu(B)=\nu(B)</math> hold. As in the case of the union, the difference of the two sets is again in <math>\mathcal{G}</math> if <math>A</math> and <math>B</math> are disjoint. In that case <math>A\setminus B=A</math> and we have that <math>\mu(A\setminus B)=\mu(A)=\nu(A)=\nu(A\setminus B)</math>. (Likewise with the roles on <math>A</math> and <math>B</math> exchanged). [[File:Setminus disjoint.svg|600px|Cutting a disjoint set <math>B</math> from <math>A</math> has no effect]] In the case <math>A\subseteq B</math>, the difference of <math>A</math> and <math>B</math> is equal to <math>A\setminus B=\emptyset</math>. Since <math>\mu(\emptyset)=0=\nu(\emptyset)</math> , it lies again in <math>\mathcal{G}</math>. Moreover, because of the additivity of the measure <math>\mu</math>, we have that {{Math|<math>\mu(B)=\mu((B\setminus A)\uplus A)=\mu(B\setminus A)+\mu(A).</math>}} In the first equation, we used that <math>A</math> is a subset of <math>B</math>. The same is true for the measure <math>\nu</math> instead of <math>\mu</math>. Rearranging the above formula together with <math>\mu(A)=\nu(A)</math> and <math>\mu(B)=\nu(B)</math> yields {{Math|<math>\mu(B\setminus A)=\mu(B)-\mu(A)=\nu(B)-\nu(A)=\nu(B\setminus A).</math>}} [[File:Setminus included.svg|600px|Cutting from <math>A</math> an included set <math>B</math>]] This equation is dangerous! If <math> A</math> and <math>B</math> have infinite measure, we get the ill-defined expression "<math>\infty-\infty</math>", which cannot be sensibly defined: {{:Math for Non-Geeks: Template:Beispiel |titel=<math>\infty-\infty</math> cannot be defined |beispiel= We consider the measure <math>\lambda</math> defined by the geometric length in <math>\R</math>. (We know that such a measure exists by the continuation theorem.) For the two sets <math>A=\R</math> and <math>B=[0,\infty)</math>, we have that <math>A\setminus B=(-\infty,0)</math>. So it follows <math>\lambda(A\setminus B) = \lambda((-\infty,0)) = \infty</math>, and in this case, "<math>\infty-\infty =\infty</math>". By contrast, for the sets <math>A=B=\R</math>, we have that <math>A\setminus B =\emptyset</math>. So <math>\lambda(A\setminus B)=\lambda(\emptyset)=0</math> and we get "<math>\infty-\infty=0</math>". This shows that in general we cannot make sense of the expression <math>\infty-\infty</math>, without further assumptions. }} ===Differences of sets with infinite measure=== A way out of this problem is to approximate <math>A</math> and <math>B</math> by ascending sequences <math>(A_n)_{n \in \N},(B_n)_{n \in \N}</math> of sets of ''finite'' measure and take a limit. For this, the sets of the set sequence should also be good sets. We can then calculate the measure of the differences <math>A_n\setminus B_n</math> as above, since <math>\mu(A_n)</math> and <math>\mu(B_n)</math> are both finite. But we have to be careful: For this to work, the subset relation <math>A_n\subseteq B_n</math> must also hold for the set sequences <math>(A_n)_{n\in\N}, (B_n)_{n\in\N}</math> for all <math>n\in\N</math>. So we cannot just choose the sequences <math>(A_n)_{n \in \N}</math> and <math>(B_n)_{n \in \N}</math> in an arbitrary manner. They need to grow "equally fast" and at the same time approximate <math>A</math> and <math>B</math> equally fast. Recall: we assumed that there is an ''exhaustion'' <math>(E_n)_{n \in \N}</math> of the basic set <math>\Omega</math> with sets from the set system <math>\mathcal{C}</math>, i.e., a monotonically growing set sequence in <math>\mathcal{C}</math> with limit <math>\Omega</math>. (This was to guarantee <math>\mu(\Omega)=\nu(\Omega)</math>.) Then the sets <math>A_n:=A\cap E_n</math> also form an increasing set sequence with limit {{Math|<math>\bigcup_{n=1}^\infty A_n=\bigcup_{n=1}^\infty (A\cap E_n)=A\cap\bigcup_{n=1}^\infty E_n=A\cap\Omega=A</math>.}} [[File:Exhaustion.svg|400px|An exhaustion of <math>A</math> by the sets <math>A_n, \; n \in \N</math>]] The same is true for the sequence <math>B_n:=B\cap E_n</math>. Moreover, because <math>B\subseteq A</math>, we also have <math>B_n=B\cap E_n\subseteq A\cap E_n=A_n</math>, so the subset relation is satisfied for every member of the sequence. Because of <math>B_n\setminus A_n=(B\cap E_n)\setminus(A\cap A_n)=(B\setminus A)\cap E_n</math> the sequence of <math>(B_n\setminus A_n)_{n\in\N}</math> is also monotonically increasing. Let us now use the same calculation as for the differences of sets with finite measure {{Math|<math>\mu(B_n\setminus A_n)=\mu(B_n)-\mu(A_n)=\nu(B_n)-\nu(A_n)=\nu(B_n\setminus A_n)</math>}} and then turn to the limit <math>n\to\infty</math>. For this we need: *<math>\mu(A_n)=\nu(A_n)</math> and <math>\mu(B_n)=\nu(B_n)</math> for all <math>n</math>. That is, intersections <math>C\cap E_n</math> of sets <math>C\in\mathcal{C}</math> with the <math>E_n</math> are said to lie in <math>\mathcal{G}</math>. *Each set of the exhaustion has finite measure, i.e., <math>\mu(E_n)<\infty</math> for all <math>n\in\N</math>. Only then, because of monotonicity, we can be sure that <math>\mu(A_n)=\mu(A\cap E_n)\leq\mu(E_n)<\infty</math> and <math>\mu(B_n)=\mu(B\cap E_n)\leq\mu(E_n)<\infty</math> also holds, ´which is our goal. {{:Math for Non-Geeks: Template:Hinweis|Note that the "finiteness" of an exhaustion depends on the considered measure. For example, the exhaustion <math>((-n,n])_{n\in\N}</math> is finite with respect to <math>\mu\equiv 0</math>, but not with respect to the measure <math>\tilde\mu</math> that assigns the value <math>\infty</math> to every set except <math>\emptyset</math>.}} If <math>(A_n)_{n\in\N}</math> and <math>(B_n)_{n\in\N}</math> satisfy these conditions, we can calculate the original difference <math>B\setminus A</math> (<math>A\subseteq B</math>): {{Math|<math>\mu(B\setminus A)=\lim_{n\to\infty}\mu(B_n\setminus A_n)= \lim_{n\to\infty}(\mu(B_n)-\mu(A_n))=\lim_{n\to\infty}(\nu(B_n)-\nu(A_n))=\lim_{n\to\infty}\nu(B_n\setminus A_n)=\nu(B\setminus A).</math>}} Note that we were only able to swap difference and measure because the sets <math>A_n,B_n</math> had finite measure. We could do that for the sets <math>A,B</math> with infinite measure. For this we had to construct <math>(A_n)_{n\in\N}=(A\cap E_n)_{n\in\N},(B_n)_{n\in\N}=(B\cap E_n)_{n\in\N}</math>. [[File:Setminus infinite.svg|600px|Intersection of two exhaustions of the sets <math>A</math> and <math>B</math>]] The following examples show that the sets <math>E_n</math> of the exhaustion indeed need to have finite measure in order to get uniqueness. {{:Math for Non-Geeks: Template:Beispiel |titel= |beispiel= We consider the set system of half-open intervals in <math>\R</math> {{Math|<math>\mathcal{C}=\{(a,b]:-\infty\leq a\leq b<\infty\}.</math>}} It generates a <math>\sigma</math>-algebra <math>\sigma(\mathcal{C})</math> (the so-called [[Math for Non-Geeks: Generated sigma-algebras #Anchor:Erzeuger der Borelschen sigma-Algebra|''Borel <math>\sigma</math>-algebra'']]), which also contains all one-element subsets of <math>\R</math>. Now consider the two measures <math>\sigma(\mathcal{C})</math> defined on <math>\mu</math> and <math>\nu</math> by {{Math|<math>\mu(A)=\begin{cases}0,\;\text{ if }A=\emptyset,\\ \infty,\; \text{ else.}\end{cases}</math>}} and {{Math|<math>\nu(A)=\#(\Q\cap A)</math>}} for all <math>A\in\sigma(\mathcal{C})</math>. (<math>\mu</math> is thus the trivial measure that takes only the values <math>0</math> and <math>\infty</math>, while <math>\nu</math> counts the number of rational numbers contained in <math>A</math>). Because <math>\Q</math> is dense in <math>\R</math>, the measures <math>\mu</math> and <math>\nu</math> coincide on the set system <math>\mathcal{C}</math>. Furthermore, the exhaustion <math>(E_n)_{n \in \N}\subseteq\mathcal{C}, E_n:=(-n,n]</math> of <math>\R</math> exists with <math>\mu(E_n)=\infty=\nu(E_n)</math> for all <math>n\in\N</math>. The two measures <math>\mu</math> and <math>\nu</math> are not equal on the <math>\sigma</math>-algebra generated by <math>\mathcal{C}</math>: For all one-element sets <math>\{x\}\subseteq\R</math>, we have that <math>\mu(\{x\})=\infty</math> holds, but <math>\nu(\{x\})=1</math> or <math>=0</math>. So the measures <math>\mu</math> or <math>\nu</math> are not yet uniquely determined by their values on <math>\mathcal{C}</math>. }} === Intermediate result === We conclude what has been found out: *The "set of good sets" <math>\mathcal{G}</math> is already closed under (at most countably infinitely many) disjoint unions; unions of sets which are subsets of each other; differences of disjoint sets; and differences of sets which are subsets of each other and have finite measure. *To ensure that the basic set is in <math>\mathcal{G}</math>, that is, <math>\mu(\Omega)=\nu(\Omega)</math>, we require that <math>\mathcal{C}</math> contains an exhaustion <math>(E_n)_{n \in \N}</math> of <math>\Omega</math>. *In order for differences of sets of infinite measure, which are subsets of each other, are in <math>\mathcal{G}</math>, we require, that the exhaustion sets <math>(E_n)_{n \in \N}</math> all have finite measure and that for all <math>A\in\mathcal{G}</math> the intersections <math>A\cap E_n</math> lie again in <math>\mathcal{G}</math>. Apart from these conditions and <math>\mu|_\mathcal{C}=\nu|_\mathcal{C}</math>, we make no requirements on <math>\mu</math>, <math>\nu</math>, and <math>\mathcal{C}</math>. The last condition is somewhat unsatisfactory, because it involves <math>\mathcal{G}</math> (which may include complicated sets). But we want to find conditions that refer only to the a priori given measures <math>\mu,\nu</math> and the generator <math>\mathcal{C}</math>, respectively. We will still work on this and weaken the condition later. {{:Math for Non-Geeks: Template:Hinweis|In particular, the exhaustion requirements are directly satisfied if <math>\mu(\Omega)=\nu(\Omega)<\infty</math> holds This is always the case if <math>\mu</math> and <math>\nu</math> are probability measures. Then <math>(\Omega)_{n \in \N}</math> is a monotonically increasing sequence of sets with finite measure, which obviously converges to <math>\Omega</math>.}} == Dynkin systems == As before, let <math>\mathcal{G}=\{A\in\sigma(\mathcal{C})\mid\mu(A)=\nu(A)\}</math> be the system of good sets on which the two measures <math>\mu</math> and <math>\nu</math> coincide. Assuming that the conditions from the [[Math for Non-Geeks: Uniqueness of a continuation#Zwischenresultat|previous intermediate result]] are satisfied, we now know that the two measures are equal on the following sets: * The basic set <math>\Omega</math>: this is guaranteed by the exhaustion <math>(E_n)_{n\in\N}\subseteq\mathcal{C}</math>. * Unions of finitely or countably infinitely many pairwise disjoint sets in <math>\mathcal{G}</math>: this holds because of <math>\sigma</math>-additivity and continuity of the measures <math>\mu</math> and <math>\nu</math>. * Differences of sets from <math>\mathcal{G}</math>, where one is contained in the other: this is guaranteed by finiteness of the exhaustion and by the condition that intersections of sets from <math>\mathcal{G}</math> with sets of the exhaustion are again in <math>\mathcal{C}</math>. Thus, we can already characterize the set system <math>\mathcal{G}</math> of "good sets" more precisely. It contains the basic set and is closed under the operations "disjoint union" and "difference of sets contained in each other". A set system with these properties is called a "Dynkin system". === Definition === [[File:Setsystems6.svg|thumb|Relationship between different set systems.]] {{:Math for Non-Geeks: Template:Definition |titel=Dynkin system |definition= A set system <math>\mathcal{D}\subseteq\mathcal{P}(\Omega)</math> is called a ''Dynkin system'' if it holds that: # <math>\Omega\in\mathcal{D}</math> # for every two sets <math>A,B\in\mathcal{D}</math> with <math>A\subseteq B</math> we also have <math>B\setminus A\in\mathcal{D}</math>. # for each countably many pairwise disjoint sets <math>A_1,A_2,\dots\in\mathcal{D}</math> we also have <math>\biguplus_{n\in\N}A_n\in\mathcal{D}</math>. }} {{:Math for Non-Geeks: Template:Hinweis|It follows directly from the definition that every <math>\sigma</math>-algebra is a Dynkin system. The converse is not true: A Dynkin system is not always a <math>\sigma</math>-algebra, because it lacks closure under non-disjoint countable unions. }} An equivalent characterization of a Dynkin system is the following. {{:Math for Non-Geeks: Template:Satz |satz= A set system <math>\mathcal{D}\subseteq\mathcal{P}(\Omega)</math> is a Dynkin system if and only if: # <math>\Omega\in\mathcal{D}</math> # for every countably many <math>A\in\mathcal{D}</math>, we also have <math>A^\complement\in\mathcal{D}</math>. # for each countably many pairwise disjoint sets <math>A_1,A_2,\dots\in\mathcal{D}</math> we also have <math>\biguplus_{n\in\N}A_n\in\mathcal{D}</math>. |beweis= Let <math>\mathcal{D}</math> be a Dynkin system in the sense of the definition above. Points 1. and 3. in the theorem are identical to the definition. We only need to show point 2. So let <math>A\in\mathcal{D}</math> be arbitrary. We have that <math>\Omega\in\mathcal{D}</math> and <math>A\subseteq\Omega</math>, so it follows from property 2. of the definition that also <math>A^\complement=\Omega\setminus A\in\mathcal{D}</math>. Conversely, let the three properties from the theorem be satisfied. We show that then <math>\mathcal{D}</math> is a Dynkin system in the sense of the definition above. Again, we only need to show point 2. So let <math>A,B\in\mathcal{D}</math> be arbitrary with <math>A\subseteq B</math>. Let <math>B\setminus A=B\cap A^\complement = (B^\complement\uplus A)^\complement</math>. The union on the right-hand side is disjoint because of <math>A\subseteq B</math>. By assumptions 2. and 3. the set <math>(B^\complement\uplus A)^\complement=B\setminus A</math> thus indeed lies in <math>\mathcal{D}</math>. }} So with the preconditions from the intermediate result of the previous section, <math>\mathcal{G}</math> is already a Dynkin system. All that is still missing for a <math>\sigma</math> algebra is closure under arbitrary countable unions. Moreover, since the two measures <math>\mu</math> and <math>\nu</math> agree on the generator <math>\mathcal{C}</math>, we have that <math>\mathcal{C}\subseteq\mathcal{G}</math> holds. So the Dynkin system ''generated'' by <math>\mathcal{C}</math> also lies in the set of good sets <math>\mathcal{G}</math>, which is defined analogously to the [[Math for Non-Geeks: Generated sigma-algebras#Anchor:erzeugte sigma-Algebra|generated <math>\sigma</math>-algebra]]: {{:Math for Non-Geeks: Template:Definition |titel=Generated Dynkin system |definition= Let <math>\Omega</math> be a set and <math>\mathcal{C}\subseteq\mathcal{P}(\Omega)</math> be a set system. The Dynkin system {{Math|<math> \delta(\mathcal{C}):=\bigcap\{\mathcal{D}:\mathcal{D} \text{ is a Dynkin system with } \mathcal{C}\subseteq\mathcal{D}\} </math>}} is then called the ''Dynkin system generated by <math>\mathcal{C}</math>''. In other words, <math>\delta(\mathcal{C})</math> is the smallest Dynkin system containing <math>\mathcal{C}</math>. }} As with the definition of the generated <math>\sigma</math>-algebra, we need to convince ourselves that <math>\delta(\mathcal{C})</math> is well-defined. This can be done completely analogously to the proof we already gave for [[Math for Non-Geeks: Generated sigma-algebras#Anchor:wohldefiniert|generated <math>\sigma</math>-algebras]]. {{:Math for Non-Geeks: Template:Satz |satz= The intersection in the above definition is not empty. Furthermore, the intersection of any number of Dynkin systems is again a Dynkin system. }} {{:Math for Non-Geeks: Template:Hinweis|Just as for [[Math for Non-Geeks: Generated sigma-algebras#Anchor:Eigenschaften|generated <math>\sigma</math>-algebras]], the following properties hold for the Dynkin system generated by a set system <math>\mathcal{C}</math>: # Extensivity: <math>\mathcal{C}\subseteq\delta(\mathcal{C})</math> # Minimality: <math>\delta(\mathcal{C})</math> is the smallest Dynkin system containing <math>\mathcal{C}</math>. If <math>\mathcal{C}</math> is a Dynkin system, then <math>\delta(\mathcal{C})=\mathcal{C}</math>. # Idempotence: <math>\delta(\mathcal{C}))=\delta(\mathcal{C})</math>. # Monotonicity: <math>\mathcal{C}\subseteq\mathcal{E}\implies\delta(\mathcal{C})\subseteq\delta(\mathcal{E})</math> }} === Examples === Here are a few examples of Dynkin systems: {{:Math for Non-Geeks: Template:Beispiel |titel=<math>\sigma</math>-algebras |beispiel= It follows directly from the definition that any <math>\sigma</math>-algebra is also a Dynkin system. }} However, not every Dynkin system is a <math>\sigma</math>-algebra: {{:Math for Non-Geeks: Template:Beispiel |titel=Subsets with even cardinality |beispiel= Let <math>n>2</math> be an even number and <math>\Omega</math> be a set with exactly <math>n</math> elements. The set system {{Math|<math>\mathcal{D}:=\{A\subseteq\Omega\mid \text{number of elements in }A\text{ is even}\}</math>}} is a Dynkin system: Since <math>|\Omega|=n</math> is even, we have that <math>\Omega\in\mathcal{D}</math>. If <math>A,B\in\mathcal{D}</math> are even with <math>A\subseteq B</math>, then <math>|B\setminus A|=|B|-|A|</math> is even since <math>|A|,|B|</math> are even. Since <math>\Omega</math> is finite, we need only consider unions of finitely many disjoint sets for the third condition. Let <math>A_1,\dots,A_k\in\mathcal{D}</math> be pairwise disjoint sets, each containing an even number of elements. Then, because of disjointness, the union <math>\biguplus_{i=1}^kA_i</math> also contains an even number of elements and so lies in <math>\mathcal{D}</math>. However, <math>\mathcal{D}</math> is not a <math>\sigma</math>-algebra: Let <math>x,y,z\in\Omega</math> be three distinct elements (these exist, since by assumption <math>|\Omega|=n>2</math>). Then <math>\{x,y\},\{y,z\}\in\mathcal{D}</math> holds, but their union <math>\{x,y,z\}</math> contains an odd number of elements, so it is not contained in <math>\mathcal{D}</math>. }} == Motivation for cut-stability == We considered [[Math for Non-Geeks: Uniqueness of a continuation#Zwischenresultat|conditions]] under which the set system <math>\mathcal{G}=\{A\in\sigma(\mathcal{C})\mid\mu(A)=\nu(A)\}</math> of "good" sets is a Dynkin system, i.e. * it contains the basic set, * it is closed under taking complements, * it is closed under taking (countable) disjoint unions. Since we assume that the measures <math>\mu</math> and <math>\nu</math> coincide on the generator <math>\mathcal{C}</math>, <math>\mathcal{C}\subseteq\mathcal{G}</math> holds. Since <math>\mathcal{G}</math> is itself a Dynkin system, therefore the Dynkin system <math>\delta(\mathcal{C})</math> generated by <math>\mathcal{C}</math> is also contained in <math>\mathcal{G}</math>. We would like to have <math>\sigma(\mathcal{C})\subseteq\mathcal{G}</math> , such that <math>\mu</math> and <math>\nu</math> agree on their whole domain of definition. So <math>\mathcal{G}</math> should not just a Dynkin system, but a <math>\sigma</math>-algebra. So what about closedness under non-disjoint finite/countably infinite unions? Let us first look at finite unions. Let <math>A,B\in\mathcal{G}</math> be good sets (i.e., <math>\mu(A)=\nu(A)</math> and <math>\mu(B)=\nu(B)</math>), non-disjoint, and neither <math>A\subseteq B</math> nor <math>B\subseteq A</math>. [[File:Union overlapping.svg|600px|Union of two sets that overlap]] Initially, we have <math>\mu(A)=\nu(A)</math> and <math>\mu(B)=\nu(B)</math>, but it is not yet clear whether also <math>\mu(A\cup B)=\nu(A\cup B)</math> . Actually every value may appear on the lift-hand side, as long as we do not violate the monotonicity of <math>\mu</math>, i.e. as long as <math>\mu(A\cup B)\geq \mu(A)</math> and <math>\mu(A\cup B)\geq \mu(B)</math>. What other conditions must be satisfied for <math>\mu(A\cup B)=\nu(A\cup B)</math> to hold? It suffices if the intersection <math>A\cap B</math> is again a good set, i.e. <math>\mu(A\cap B)=\nu(A\cap B)</math>: If <math>A</math> and <math>B</math> both have finite measure, then we have {{Math|<math>\mu(A\cup B)=\mu(A)+\mu(B)-\mu(A\cap B)=\nu(A)+\nu(B)-\nu(A\cap B)=\nu(A\cup B).</math>}} If either set has infinite measure, the equality <math>\mu(A\cup B)=\infty=\nu(A\cup B)</math> holds anyway. Intersections of good sets should therefore be good sets again. A set system, which is not left, when taking arbitrary intersections between its sets is called "cut-stable": {{:Math for Non-Geeks: Template:Definition |titel=Cut stability of a set system |definition= A set system <math>\mathcal{M}</math> is called ''cut stable'', if {{Math|<math>A,B\in\mathcal{M}\implies A\cap B\in\mathcal{M}</math>}} }} {{:Math for Non-Geeks: Template:Hinweis|By induction, the set system is then closed under intersection of any finite number of sets (not only 2), See below.}} Is the cut-stability of the system of good sets <math>\mathcal{G}</math> in addition to our previous conditions already enough for it to be an <math>\sigma</math>-algebra? Suppose <math>\mathcal{G}</math> is cut-stable. The previous reasoning for two sets can be extended by induction to any finite union of good sets: Let <math>A_1,A_2,\dots,A_n\in\sigma(\mathcal{C})</math> be good sets, i.e., <math>\mu(A_i)=\nu(A_i)</math> for all <math>i=1,\dots,n</math>. We also assume again that all <math>A_i</math> have finite measure (otherwise the equality holds anyway). Then {{Math|<math>\begin{align} \mu\left(\bigcup_{i=1}^n A_i\right)=\mu\left(A_n\cup\bigcup_{i=1}^{n-1} A_i\right) &=\mu\left(A_n\right)+\mu\left(\bigcup_{i=1}^{n-1} A_i\right)-\mu\left(A_n\cap\bigcup_{i=1}^{n-1} A_i\right)\\ &\overset{\text{i.a.}}{=}\nu\left(A_n\right)+\nu\left(\bigcup_{i=1}^{n-1} A_i\right)-\mu\left(\bigcup_{i=1}^{n-1}\underbrace{(A_n\cap A_i)}_{\in\mathcal{G}}\right)\\ &\overset{\text{i.a.}}{=}\nu\left(A_n\right)+\nu\left(\bigcup_{i=1}^{n-1} A_i\right)-\nu\left(\bigcup_{i=1}^{n-1}(A_n\cap A_i)\right) =\nu\left(\bigcup_{i=1}^n A_i\right). \end{align}</math>}} (with "i.a." meaning "induction assumption") Making use of the cut-stability, we have that <math>\mathcal{G}</math> is closed under arbitrary finite unions. Countably infinite unions <math>\bigcup_{n\in\N} A_n</math> can be made "artificially" disjoint by cutting the preceding ones out of each set: Define {{Math|<math>B_n:=A_n\setminus(A_1\cup\dots\cup A_{n-1})=A_n\cap(A_1\cup\dots\cup A_{n-1})^\complement,</math>}} Then <math>\bigcup_{n\in\N} A_n=\biguplus_{n\in\N}B_n</math> is a disjoint union of sets. If the <math>A_n</math> are from <math>\mathcal{G}</math>, then so are the <math>B_n</math>, provided that <math>\mathcal{G}</math> is cut-stable: According to the preceding, the finite union <math>A_1\cup\dots\cup A_{n-1}</math> lies in <math>\mathcal{G}</math>, and so does the complement of this set (since <math>\mathcal{G}</math> is a Dynkin system). And by cut-stability also the intersection of it with <math>A_n</math> lies in <math>\mathcal{G}</math>. Now, <math>\mathcal{G}</math> is closed under countable disjoint unions (Dynkin system), so also <math>\biguplus_{n\in\N}B_n=\bigcup_{n\in\N} A_n</math> is a good set. These considerations show: If the Dynkin system <math>\mathcal{G}</math> is additionally cut stable, it is also closed under arbitrary, at most countable unions, i.e., it is a sigma-algebra. We summarize this in a theorem: {{:Math for Non-Geeks: Template:Satz |satz= Cut stable Dynkin systems are <math>\sigma</math>-algebras. |beweis= Let <math>\mathcal{D}\subseteq \mathcal{P}(\Omega)</math> be a cut stable Dynkin system. Then <math>\Omega \in \mathcal{D}</math> and complement stability is given, as we have a Dynkin system. The remaining <math>\sigma</math>-algebra property is the union stability with respect to countable unions. So far, this is only given for pairwise disjoint unions. We first note that because <math>A\setminus B = A \cap B^{\complement}</math>, difference stability follows from complement stability and intersection stability of <math>\mathcal{D}</math>. Now let <math>(A_n)_{n \in \N}</math> be any sequence of sets in <math>\mathcal{D}</math>. We define <math>(B_n)_{n \in \N}</math> by <math>B_1=A_1</math>, <math>B_{n+1}=A_{n+1}\setminus \bigcup_{i=1}^{n}A_i</math> for all <math>n \in \N</math>. Since <math>A_i \subseteq B_i</math> for all <math>i \in \N</math> we have that {{Math|<math>\bigcup_{i=1}^{n}B_i = \bigcup_{i=1}^{n-1}B_i \cup \left(A_{n}\setminus \left(\bigcup_{i=1}^{n-1}A_i\right) \right) = \bigcup_{i=1}^{n-1} B_i\cup A_{n}.</math>}} With a simple induction argument it follows that <math>\bigcup_{i=1}^{n}B_i= \bigcup_{i=1}^{n} A_i</math> and finally <math>B_{n+1} = A_{n+1} \setminus \left(\bigcup_{i=1}^{n} B_i\right)</math>. In particular, it follows from the construction of the sequence <math>(B_n)_{n \in \N}</math> that elements of this sequence are pairwise disjoint. By definition, <math>B_1=A_1 \in \mathcal{D}</math>. Suppose now that <math>B_1,\dots,B_n \in \mathcal{D}</math> holds (induction assumption). Then with stability with respect to disjoint unions it follows that <math>\bigcup_{i=1}^{n} B_i \in \mathcal{D}</math>. With difference stability, we further have <math>B_{n+1} = A_{n+1} \setminus \left(\bigcup_{i=1}^{n}B_i\right) \in \mathcal{D}</math>. Then, by induction, it also holds that <math>B_i \in \mathcal{D}</math> for all <math>i \in \N</math>. But since the <math>B_i</math> were additionally pairwise disjoint, it follows from the disjoint countable union stability that <math>\bigcup_{n \in \N}B_n \in \mathcal{D}</math>. From this we finally get {{Math|<math>\bigcup_{n \in \N}A_n =\bigcup_{n \in \N} \bigcup_{i=1}^{n} A_i = \bigcup_{n \in \N} \bigcup_{i=1}^{n} B_i =\bigcup_{n \in \N}B_n \in \mathcal{D}.</math>}} }} === Intermediate result === We conclude our so far obtained results: *To ensure that the basic set lies in the set of good sets <math>\mathcal{G}</math>, that is <math>\mu(\Omega)=\nu(\Omega)</math>, we require that <math>\mathcal{C}</math> contains an exhaustion <math>(E_n)_{n \in \N}</math> of <math>\Omega</math>. *To ensure that differences of sets of infinite measure which are subsets of each other, are again in <math>\mathcal{G}</math>, we require, that the exhaustion sets <math>(E_n)_{n \in \N}</math> all have finite measure and that for all <math>A\in\mathcal{G}</math> cuts <math>A\cap E_n</math> lie again in <math>\mathcal{G}</math>. * With these two conditions, <math>\mathcal{G}</math> is already a Dynkin system. For it to be a <math>\sigma</math>-algebra, <math>\mathcal{G}</math> should be cut stable, that is, cuts of good sets should be good again. Except for these conditions and <math>\mu|_\mathcal{C}=\nu|_\mathcal{C}</math>, we make no further requirements on <math>\mu</math>, <math>\nu</math>, and <math>\mathcal{C}</math>. {{:Math for Non-Geeks: Template:Hinweis| While we had previously required in the second point that for all <math>A\in\mathcal{G}</math> cuts <math>A\cap E_n</math> must also be in <math>\mathcal{G}</math>, this is no longer necessary because of the third condition.}} Next, we will answer the question, which additional conditions on <math>\mu</math>, <math>\nu</math>, or <math>\mathcal{C}</math> will make <math>\mathcal{G}</math> cut-stable. == Cut-stability of the generator == We have found conditions on the measures <math>\mu,\nu</math> and the generator <math>\mathcal{C}</math> by which the set of good sets <math>\mathcal{G}=\{A\in\sigma(\mathcal{C})\mid\mu(A)=\nu(A)\}</math> is a Dynkin system. In particular, <math>\mathcal{G}</math> thus contains the Dynkin system <math>\delta(\mathcal{C})</math> generated by <math>\mathcal{C}</math>, since <math>\mathcal{C}\subseteq\mathcal{G}</math>. We want <math>\sigma(\mathcal{C})\subseteq\mathcal{G}</math> to hold as well. For this it suffices to find additional conditions under which <math>\delta(\mathcal{C})</math> is cut-stable: Since every cut-stable Dynkin system is a <math>\sigma</math>-algebra, it then follows that <math>\sigma(\mathcal{C})=\delta(\mathcal{C})\subseteq\mathcal{G}\subseteq\sigma(\mathcal{C})</math>, and we are done. So under what conditions is the Dynkin system generated by <math>\mathcal{C}</math> cut-stable? This apparently depends only on the properties of the set system <math>\mathcal{C}</math>, not on the measures <math>\mu</math> or <math>\nu</math>. In fact, it is sufficient if <math>\mathcal{C}</math> is cut-stable. This has to do with the fact that the cut operation is compatible with the union and complement operations of a Dynkin system, and thus the cut-stability is inherited from the generator to the generated Dynkin system. We show this in the following theorem. {{:Math for Non-Geeks: Template:Satz |satz= Any Dynkin system generated by a cut-stable set system <math>\mathcal{C}</math> is itself cut-stable. |beweis= For <math> B \in \delta(\mathcal{C}) </math> we define <math>\mathcal{D}(B)= \{D \in \delta(\mathcal{C}) | D \cap B \in \delta(\mathcal{C})\}</math>, i.e., the set of sets in our Dynkin system that are cut-stable "with respect to <math>B</math>". By definition, <math>\mathcal{D}(B)\subseteq\delta(\mathcal{C})</math> holds for any <math> B \in \delta(\mathcal{C}) </math>. Now we show two things: # <math> \mathcal{D}(B)</math> is a Dynkin system for every <math> B \in \delta(\mathcal{C})</math>. # <math> \mathcal{C} \subseteq \mathcal{D}(B) </math> for all <math>B \in \delta(\mathcal{C})</math>. For, once we have shown these statements, it follows that <math>\mathcal{D}(B) \subseteq \delta(\mathcal{C}) \subseteq \delta(\mathcal{D}(B)) = \mathcal{D}(B)</math>, so <math>\mathcal{D}(B)=\delta(\mathcal{C})</math>. Here we used monotonicity in the second step and idempotence of the <math>\delta</math> operator in the third step. Now if <math>A,B \in \delta(\mathcal{C})</math> are arbitrary, then because of <math>\mathcal{D}(B)=\delta(\mathcal{C})</math> we know in particular that <math>A \in \mathcal{D}(B)</math> holds, so <math>A \cap B \in \delta(\mathcal{C})</math>. This shows the desired cut-stability. So let us now show the necessary statements. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math>\mathcal{D}(B)</math> is a Dynkin system for all <math>B \in \delta(\mathcal{C})</math>. |beweisschritt= Let <math>B \in \delta(\mathcal{C})</math> be arbitrary. Obviously <math>\Omega \cap B = B \in \delta(\mathcal{C})</math>, so <math>\Omega \in \mathcal{D}(B)</math>. Let <math>A \in \mathcal{D}(B)</math> be arbitrary. Then <math>A \cap B \in \delta(\mathcal{C})</math> holds. Furthermore, because of <math>B \in \delta(\mathcal{C})</math>, of course <math>B^{\complement} \in \delta(\mathcal{C})</math>. From this we conclude {{Math|<math>A^{\complement} \cap B = (A^{\complement} \cup B^{\complement}) \cap B = (A \cap B)^{\complement} \cap B = ((A \cap B) \uplus B^{\complement})^{\complement}.</math>}} This, as the complement of a disjoint union of two elements of <math>\delta(\mathcal{C})</math>, is also an element of <math>\delta(\mathcal{C})</math> and so <math>A^{\complement} \in \mathcal{D}(B)</math>, i.e. <math>\mathcal{D}(B)</math> is complement stable. Now let <math>(A_k)_{k \in \N}</math> be a sequence of pairwise disjoint sets in <math>\mathcal{B}</math>. Then for all <math>k \in \N</math>, it holds that <math>A_k \cap B \in \delta(\mathcal{C})</math>. The sequence <math>(A_k \cap B)_{k \in \N}</math> is also a sequence of pairwise disjoint sets in <math>\delta(\mathcal{C})</math>. From the stability of <math>\delta(\mathcal{C})</math> under countable disjoint unions, it follows that {{Math|<math>\left(\biguplus_{k \in \N} A_k \right)\cap B = \biguplus_{k \in \N} (A_k \cap B) \in \delta(\mathcal{C}).</math>}} So <math>\bigcup_{k \in \N} A_k \in \mathcal{D}(B)</math>. Thus, the three properties of a Dynkin system are satisfied and we are done. }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=<math> \mathcal{C} \subseteq \mathcal{D}(B) </math> for all <math>B \in \delta(\mathcal{C})</math>. |beweisschritt= Let <math>B \in \delta(\mathcal{C})</math> and <math>E \in \mathcal{C}</math> be arbitrary. Then for all <math>D \in \mathcal{C}</math>, due to the cut-stability of <math>\mathcal{C}</math>, it holds that <math>E \cap D \in \mathcal{C} \subseteq \delta(\mathcal{C})</math>. So, in particular, <math>D \in \mathcal{D}(E)</math>. Since <math>D \in \mathcal{C}</math> was arbitrary, we also have <math>\mathcal{C} \subseteq \mathcal{D}(E)</math>. As <math>\mathcal{D}(E)</math> is a Dynkin system (as shown before), we get <math>\delta(\mathcal{C}) \subseteq \delta(\mathcal{D}(E))=\mathcal{D}(E)</math>. Further, <math>B \in \delta(\mathcal{C}) \subseteq \mathcal{D}(E)</math> holds. That is, <math>B \cap E \in \delta(\mathcal{C})</math> and so <math>E \in \mathcal{D}(B)</math>. Since <math>E \in \mathcal{C}</math> was chosen arbitrary, it finally follows that <math>\mathcal{C} \subseteq \mathcal{D}(B)</math>. }} }} Since every average-stable Dynkin system is a <math>\sigma</math> algebra, it follows directly: {{:Math for Non-Geeks: Template:Satz |satz= If <math>\mathcal{C}</math> is a cut-stable set system, then <math>\delta(\mathcal{C})=\sigma(\mathcal{C})</math> holds. }} This relation between Dynkin systems and <math>\sigma</math>-algebras is very useful and simplifies many proofs about measures. This is because for Dynkin systems one can exploit the <math>\sigma</math>-additivity of the measure, since only disjoint unions need to be considered. In the proof of the uniqueness theorem we will see in a moment a first example where this enables to perform a proof. ===Intermediate result=== We summarize the conditions we found to get <math>\sigma(\mathcal{C})=\mathcal{G}</math>, that is, equality of <math>\mu</math> and <math>\nu</math> on all of <math>\sigma(\mathcal{C})</math>: * To ensure that the basic set is in the set of good sets <math>\mathcal{G}</math>, that is, <math>\mu(\Omega)=\nu(\Omega)</math>, we require that <math>\mathcal{C}</math> contains an exhaustion <math>(E_n)_{n \in \N}</math> of <math>\Omega</math>. * To ensure that differences of sets of infinite measure, which are subsets of each other, are again in <math>\mathcal{G}</math>, we require that the exhaustion sets <math>(E_n)_{n \in \N}</math> all have finite measure. * To ensure that the Dynkin system <math>\delta(\mathcal{C})</math> generated by <math>\mathcal{C}</math> is cut-stable, i.e., it is a <math>\sigma</math>-algebra, we require that the generator <math>\mathcal{C}</math> must be cut-stable. In general, one cannot drop the cut-stability of <math>\mathcal{C}</math> if the measures <math>\mu</math> and <math>\nu</math> shall also agree on <math>\sigma(\mathcal{C})</math>, as the following example shows. {{:Math for Non-Geeks: Template:Beispiel |titel= |beispiel= Consider the (rather small as it is finite) basic set <math>\Omega=\{1,2,3,4\}</math> and the set system <math>\mathcal{C}=\{\emptyset,\{1,2\},\{2,3\},\Omega\}</math>. Then <math>\mathcal{C}</math> is not cut-stable, because <math>\{2\}=\{1,2\}\cap\{2,3\}\notin\mathcal{C}</math>. Consider the two (probability) measures {{Math|<math>\mu:=\frac12(\delta_1+\delta_2),\quad\nu:=\frac12(\delta_2+\delta_4).</math>}} Here <math>\delta_x</math> denotes the [[Math for Non-Geeks: Pre-measures and measures#Beispiel:Dirac-Maß|Dirac measure]], which is defined by. {{Math|<math>\delta_x(A) := \begin{cases} 1,\text{ if } x\in A, \\ 0 \text{ else.}\end{cases}</math>}} Then <math>\mu</math> and <math>\nu</math> agree on <math>\mathcal{C}</math>. Moreover, because of <math>\Omega\in\mathcal{C}</math>, there is a finite exhaustion of the basic set. Nevertheless, <math>\mu</math> and <math>\nu</math> are not equal on the <math>\sigma</math>-algebra generated by <math>\mathcal{C}</math> : This <math>\sigma</math>-algebra contains the set <math>\{1,2,3\}=\{1,2\}\cup\{2,3\}</math>, and we have <math>\mu(\{1,2,3\})=2\neq 1=\nu(\{1,2,3\})</math>. }} == Uniqueness of measure continuations == We can now formulate and prove the uniqueness theorem. {{:Math for Non-Geeks: Template:Satz |titel=Uniqueness of measure continuations |satz= Let <math>\mu</math> and <math>\nu</math> be two measures on the <math>\sigma</math>-algebra <math>\mathcal{A}</math> over the basic set <math>\Omega</math>. Let there be a generator <math>\mathcal{C}</math> of <math>\mathcal{A}</math> with the following properties: * <math>\mu</math> and <math>\nu</math> coincide on <math>\mathcal{C}</math>, i.e. <math>\mu(C)=\nu(C)</math> for all <math>C\in\mathcal{C}</math>, * There exists in <math>\mathcal{C}</math> an exhaustion of <math>\Omega</math> with sets of finite measure: a monotonically increasing sequence <math>(E_n)_{n\in\N}\subseteq\mathcal{C}</math> with limit <math>\Omega</math> and <math>\mu(E_n)=\nu(E_n)<\infty</math>, * <math>\mathcal{C}</math> is cut-stable, i.e. <math>A,B\in\mathcal{C}\implies A\cap B\in\mathcal{C}</math>. Then <math>\mu=\nu</math> holds on all of <math>\mathcal{A}</math>. So in particular a measure <math>\mu</math> is then already uniquely determined by the values on <math>\mathcal{C}</math>. |beweis= We perform the proof with the "principle of good sets" and define the set system <math>\mathcal{G}=\{A\in\mathcal{A}\mid\mu(A)=\nu(A)\}\subseteq\mathcal{A}</math> as containing "good sets". It contains those sets from <math>\mathcal{A}</math> on which <math>\mu</math> and <math>\nu</math> coincide. By assumption, <math>\mathcal{C}\subseteq\mathcal{G}</math> holds. We still have to show that <math>\mathcal{G}</math> is a <math>\sigma</math>-algebra. It is enough to show that <math>\mathcal{C}</math> is a Dynkin system since its generator is cut-stability. Now {{Math|<math>\mathcal{A}=\sigma(\mathcal{C})=\delta(\mathcal{C})\subseteq\delta(\mathcal{G})=\mathcal{G}</math>}} where we have exploited in the second equality that the Dynkin system generated by a cut-stable set system is already a <math>\sigma</math>-algebra. We now establish the properties of a Dynkin system for <math>\mathcal{G}</math> in two steps: First assuming that <math>\mu,\nu</math> are finite measures (i.e. <math>\mu(A)<\infty, \nu(A)<\infty</math> for all <math>A\in\mathcal{A}</math>), then generalizing to the infinite measure case. {{:Math for Non-Geeks: Template:Beweisschritt |ziel=Proof for finite <math>\mu,\nu</math> |beweisschritt= We have <math>\Omega\in\mathcal{G}</math>: Let <math>(E_n)_{n\in\N}\subseteq\mathcal{C}</math> be the exhaustion of <math>\Omega</math> from the assumption. For this exhaustion, we have equality <math>\mu(E_n)=\nu(E_n)</math> for all <math>n\in\N</math>. Then from the continuity of the two measures <math>\mu,\nu</math> we get <math>\mu(\Omega)=\lim_{n\to\infty}\mu(E_n)=\lim_{n\to\infty}\nu(E_n)=\nu(\Omega)</math>. <math>\mathcal{G}</math> is complement stable: let <math>A \in \mathcal{G}</math>. Because of <math>\mu(\Omega)=\nu(\Omega)<\infty</math> for finite measures, we can exploit the subtractivity and obtain {{Math|<math>\mu(A^\complement)=\mu(\Omega\setminus A)=\mu(\Omega)-\mu(A)=\nu(\Omega)-\nu(A)=\nu(\Omega\setminus A)=\nu(A^\complement).</math>}} <math>\mathcal{G}</math> is also stable under disjoint unions: Let <math>(A_n)_{n\in\N}\subseteq\mathcal{G}</math> be a sequence of pairwise disjoint sets in <math>\mathcal{G}</math>. Taking advantage of the <math>\sigma</math>-additivity of <math>\mu</math> and <math>\nu</math> we obtain {{Math|<math>\mu\left(\biguplus_{n=1}^\infty A_n\right)=\sum_{n=1}^\infty \mu(A_n)=\sum_{n=1}^\infty \nu(A_n)=\nu\left(\biguplus_{n=1}^\infty A_n\right).</math>}} }} {{:Math for Non-Geeks: Template:Beweisschritt |ziel=Proof in the general case |beweisschritt= Now, we turn to non-finite measures. We define for <math>n\in\N</math> the dimensions <math>\mu_n,\nu_n\colon\mathcal{A}\to[0,\infty]</math> with <math>\mu_n(A): =\mu(A\cap E_n)</math> and <math>\nu_n(A):=\nu(A\cap E_n)</math>, where <math>E_n\in\mathcal{C}</math> are the exhaustion sets from the assumption. Since by assumption <math>\mathcal{C}</math> is cut-stable and <math>\mu=\nu</math> holds on <math>\mathcal{C}</math>, the measures <math>\mu_n</math> and <math>\nu_n</math> also coincide on <math>\mathcal{C}</math>. Furthermore, because of <math>\mu_n(A)=\mu(A\cap E_n)\leq\mu(E_n)<\infty</math> and an analogous statement for <math>\nu_n</math>, the two measures <math>\mu_n</math> , <math>\nu_n</math> are finite. So we can apply the statement already proved for the finite case and obtain that <math>\mu_n=\nu_n</math> holds on all <math>\mathcal{A}</math> for all <math>n\in\N</math>. The limit transition <math>n\to\infty</math> gives that also <math>\mu</math> and <math>\nu</math> on all <math>\mathcal{A}</math> are equal. }} }} {{:Math for Non-Geeks: Template:Hinweis|This theorem is a good example of the usefulness of Dynkin systems: Because of the disjointness of all unions, we could conveniently exploit the <math>\sigma</math>-additivity of the measures <math>\mu</math> and <math>\nu</math> in the proof.}} Because of the cut-stability of <math>\mathcal{C}</math> the sequence of sets <math>(E_n)_n</math> exhausting <math>\Omega</math> need not be monotonically increasing. It is sufficient to require that there exists a sequence <math>(A_n)_n\subseteq\mathcal{C}</math> such that <math>\Omega=\bigcup_{n=1}^{\infty} A_n</math> and <math>\mu(A_n)=\nu(A_n)<\infty</math> holds: If there exists such a sequence, we can define <math>E_n=\bigcup_{i=1}^n A_i</math> and obtain a monotonically increasing sequence with limit <math>\Omega</math>. Moreover, these sets also satisfy <math>\mu(E_n)=\nu(E_n)<\infty</math>, as we saw in the section on cut-stability: Cut-stability ensures that <math>\mu</math> and <math>\nu</math> coincide even on finite (possibly non-disjoint) unions. One therefore sometimes finds the following formulation of the uniqueness theorem: {{:Math for Non-Geeks: Template:Satz |titel=Uniqueness theorem (alternative version) |satz= Let <math>\mu</math> and <math>\nu</math> be two measures on the <math>\sigma</math>-algebra <math>\mathcal{A}</math> over the basic set <math>\Omega</math>. Let there be a generator <math>\mathcal{C}</math> of <math>\mathcal{A}</math> with the following properties: * <math>\mu</math> and <math>\nu</math> coincide on <math>\mathcal{C}</math>, i.e. <math>\mu(C)=\nu(C)</math> for all <math>C\in\mathcal{C}</math>, * There is a sequence <math>(A_n)_{n\in\N}\subseteq\mathcal{C}</math> with <math>\Omega=\bigcup_{n=1}^\infty A_n</math> and <math>\mu(A_n)=\nu(A_n)<\infty</math>, * <math>\mathcal{C}</math> is cut-stable, i.e. <math>A,B\in\mathcal{C}\implies A\cap B\in\mathcal{C}</math>. Then <math>\mu=\nu</math> holds on all of <math>\mathcal{A}</math>. }} If <math>\mu</math> and <math>\nu</math> are probability measures, then the second condition is always automatically satisfied: Because of <math>\mu(\Omega)=\nu(\Omega)=1<\infty</math> one can assume without restriction <math>\Omega\in\mathcal{C}</math> and choose the constant sequence <math>(\Omega)_{n\in\N}</math>. In probability theory, therefore, one often finds the following version of the uniqueness theorem: {{:Math for Non-Geeks: Template:Satz |titel=Uniqueness theorem for probability measures |satz= Let <math>\mu</math> and <math>\nu</math> be two probability measures on the <math>\sigma</math>-algebra <math>\mathcal{A}</math> over the basic set <math>\Omega</math>. Let there be a cut-stable generator <math>\mathcal{C}</math> of <math>\mathcal{A}</math> on which <math>\mu</math> and <math>\nu</math> coincide. Then <math>\mu=\nu</math> holds on all of <math>\mathcal{A}</math>. }} {{#invoke:Math for Non-Geeks/Seite|unten}} {{shelves}} 2o5byyytufxz3ackotkyclmej85tktf Knowledge Mobilization in the Humanities 0 476447 4635344 4525690 2026-05-11T23:28:05Z LodestarChariot2 3138880 Updated cover image 4635344 wikitext text/x-wiki <big><div align="center">'''Caroline Winter, Alan Colín-Arce, JT Kern, Randa El Khatib, Alyssa Arbuckle, Vitor Yano, Anna Honcharova, Graham Jensen, Maggie Sardino, Britt Amell, Ray Siemens, with the ETCL and INKE Research Groups'''</div></big> <div align="center">Introduction by Caroline Winter, with Britt Amell</div> ==Table of Contents== [[File:OSP_Knowledge_Mobilization_Scan_cover.jpg|frameless|250px|right]] {{Book Search}} ===[[Knowledge Mobilization in the Humanities/Introduction|Introduction]]=== *[[Knowledge Mobilization in the Humanities/Introduction#KMb, An Overview|KMb, An Overview]] *[[Knowledge Mobilization in the Humanities/Introduction#This Bibliography, A Summary|This Bibliography, A Summary]] *[[Knowledge Mobilization in the Humanities/Introduction#Works Cited|Works Cited]] ===[[Knowledge Mobilization in the Humanities/Definitions and Foundations|Definitions and Foundations]]=== *[[Knowledge Mobilization in the Humanities/Definitions and Foundations#Why Knowledge Mobilization?|Why Knowledge Mobilization?]] *[[Knowledge Mobilization in the Humanities/Definitions and Foundations#Understanding and Measuring Impact|Understanding and Measuring Impact]] ===[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice|Knowledge Mobilization in the Humanities in Practice]]=== *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Community-Engaged Research|Community-Engaged Research]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#GLAM (Galleries, Libraries, Archives, and Museums) and Cultural Heritage|GLAM (Galleries, Libraries, Archives, and Museums) and Cultural Heritage]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Industry Partnerships|Industry Partnerships]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#New Media Engagements|New Media Engagements]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Pedagogy|Pedagogy]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Podcasting|Podcasting]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Social Knowledge Creation|Social Knowledge Creation]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization in the Humanities in Practice#Social Media|Social Media]] ===[[Knowledge Mobilization in the Humanities/Knowledge Mobilization Resources, Tools, and Guides|Knowledge Mobilization Resources, Tools, and Guides]]=== *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization Resources, Tools, and Guides#Humanities Specific Resources|Humanities Specific Resources]] *[[Knowledge Mobilization in the Humanities/Knowledge Mobilization Resources, Tools, and Guides#General Resources|General Resources]] {{shelves|Humanities}} 0cntsaqxko68ufj04yjulygbj9z6645 Engaging Knowledge Diversity 0 476502 4635345 4525691 2026-05-11T23:30:09Z LodestarChariot2 3138880 Updated cover image 4635345 wikitext text/x-wiki <big><div align="center">'''Alan Colin-Arce (University of Victoria), Maggie Sardino (King’s College London), Eduardo Muñoz Francisco (University of Guadalajara), Graham Jensen (University of Victoria), Caroline Winter (University of Victoria), Alyssa Arbuckle (Canadian Research Knowledge Network and Érudit Consortium), and Ray Siemens (University of Victoria)'''</div></big> ==Table of Contents== [[File:OSP_Knowledge_Diversity_Scan_cover.jpg|frameless|250px|right]] {{booksearch}} ===[[Engaging Knowledge Diversity/Introduction|Introduction]]=== ===[[Engaging Knowledge Diversity/Epistemic Injustice|Epistemic Injustice]]=== *[[Engaging Knowledge Diversity/Epistemic Injustice#Definitions|Definitions]] *[[Engaging Knowledge Diversity/Epistemic Injustice#Resources|Resources]] **[[Engaging Knowledge Diversity/Epistemic Injustice#Core Concepts and Debates|Core Concepts and Debates]] **[[Engaging Knowledge Diversity/Epistemic Injustice#Epistemic Injustice Across Areas of Study|Epistemic Injustice Across Areas of Study]] *[[Engaging Knowledge Diversity/Epistemic Injustice#Initiatives and Organizations|Initiatives and Organizations]] ===[[Engaging Knowledge Diversity/Bibliodiversity|Bibliodiversity]]=== *[[Engaging Knowledge Diversity/Bibliodiversity#Definitions|Definitions]] *[[Engaging Knowledge Diversity/Bibliodiversity#Resources|Resources]] *[[Engaging Knowledge Diversity/Bibliodiversity#Initiatives and Organizations|Initiatives and Organizations]] ===[[Engaging Knowledge Diversity/Indigenous Knowledges|Indigenous Knowledges]]=== *[[Engaging Knowledge Diversity/Indigenous Knowledges#Definitions|Definitions]] *[[Engaging Knowledge Diversity/Indigenous Knowledges#Resources|Resources]] **[[Engaging Knowledge Diversity/Indigenous Knowledges#Core Concepts|Core Concepts]] **[[Engaging Knowledge Diversity/Indigenous Knowledges#Indigenous Research Methodologies|Indigenous Research Methodologies]] *[[Engaging Knowledge Diversity/Indigenous Knowledges#Initiatives and Organizations|Initiatives and Organizations]] ===[[Engaging Knowledge Diversity/Community Knowledge and Co-Inquiry|Community Knowledge and Co-Inquiry]]=== *[[Engaging Knowledge Diversity/Community Knowledge and Co-Inquiry#Definitions|Definitions]] *[[Engaging Knowledge Diversity/Community Knowledge and Co-Inquiry#Resources|Resources]] *[[Engaging Knowledge Diversity/Community Knowledge and Co-Inquiry#Initiatives and Organizations|Initiatives and Organizations]] ===[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity|Steps Towards Knowledge Equity]]=== *[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity#Resources|Resources]] **[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity#Knowledge Equity in Galleries, Libraries, Archives, and Museums (GLAM)|Knowledge Equity in Galleries, Libraries, Archives, and Museums (GLAM)]] **[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity#Knowledge Equity in Research Methodology and Sharing|Knowledge Equity in Research Methodology and Sharing]] **[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity#Knowledge Equity in Education|Knowledge Equity in Education]] *[[Engaging Knowledge Diversity/Steps Towards Knowledge Equity#Initiatives and Organizations|Initiatives and Organizations]] ===[[Engaging Knowledge Diversity/Alphabetical List of References|Alphabetical List of References]]=== {{shelves|Humanities}} 92ctxi8w3tqslc44lfghkmt0oi2sztt Engaging Platforms in Open Scholarship 0 476520 4635346 4567156 2026-05-11T23:35:57Z LodestarChariot2 3138880 Updated cover image 4635346 wikitext text/x-wiki <div align="center"><big>'''Brittany Amell, Graham Jensen, Alan Colin-Arce, Randa El Khatib, Caroline Winter, Alyssa Arbuckle, Faraz Forghan Parast, and Ray Siemens'''</big></div> ==Table of Contents== [[File:OSP_Platforms_Scan_cover.jpg|frameless|250px|right]] {{Booksearch}} ===[[Engaging Platforms in Open Scholarship/Abstract | Abstract]]=== ===[[Engaging Platforms in Open Scholarship/Executive Summary | Executive Summary]]=== ===[[Engaging Platforms in Open Scholarship/The Rise of Platforms | Introduction: The Rise of Platforms]]=== *[[Engaging Platforms in Open Scholarship/The Rise of Platforms#What is a Platform? | What is a Platform?]] *[[Engaging Platforms in Open Scholarship/The Rise of Platforms#About the Annotated Bibliography | About the Annotated Bibliography]] **[[Engaging Platforms in Open Scholarship/The Rise of Platforms#Overview of Sections | Overview of Sections]] *[[Engaging Platforms in Open Scholarship/The Rise of Platforms#Platforms Forever? | Platforms Forever?]] *[[Engaging Platforms in Open Scholarship/The Rise of Platforms#References | References]] ===[[Engaging Platforms in Open Scholarship/Understanding Platforms | Understanding Platforms]]=== *[[Engaging Platforms in Open Scholarship/Understanding Platforms#Groundings, Foundations, and Introductory Texts | Groundings, Foundations, and Introductory Texts]] *[[Engaging Platforms in Open Scholarship/Understanding Platforms#Infrastructures Meet Platforms (and vice versa) | Infrastructures Meet Platforms (and vice versa)]] ===[[Engaging Platforms in Open Scholarship/Researching Platforms and Digital Environments | Researching Platforms and Digital Environments]]=== *[[Engaging Platforms in Open Scholarship/Researching Platforms and Digital Environments#Tools, Methods, and Approaches | Tools, Methods, and Approaches]] *[[Engaging Platforms in Open Scholarship/Researching Platforms and Digital Environments#Ethical Considerations | Ethical Considerations]] ===[[Engaging Platforms in Open Scholarship/Social Implications of Platforms | Social Implications of Platforms]]=== *[[Engaging Platforms in Open Scholarship/Social Implications of Platforms#Critical Perspectives: Power, Platformization, and Labour | Critical Perspectives: Power, Platformization, and Labour]] *[[Engaging Platforms in Open Scholarship/Social Implications of Platforms#Thinking Through Sustainability | Thinking Through Sustainability]] *[[Engaging Platforms in Open Scholarship/Social Implications of Platforms#Privacy and Surveillance | Privacy and Surveillance]] *[[Engaging Platforms in Open Scholarship/Social Implications of Platforms#Platforms and the Limits of Free Speech | Platforms and the Limits of Free Speech]] ===[[Engaging Platforms in Open Scholarship/Models and Mechanisms of Platform Governance and Regulation | Models and Mechanisms of Platform Governance and Regulation]]=== *[[Engaging Platforms in Open Scholarship/Models and Mechanisms of Platform Governance and Regulation#Approaches to Platform Governance | Approaches to Platform Governance]] *[[Engaging Platforms in Open Scholarship/Models and Mechanisms of Platform Governance and Regulation#Misinformation as Platform Governance Issue | Misinformation as Platform Governance Issue]] ===[[Engaging Platforms in Open Scholarship/Alternative Models and Approaches | Alternative Models and Approaches]]=== *[[Engaging Platforms in Open Scholarship/Alternative Models and Approaches#Platform Cooperatives, Digital Commons, and Knowledge Infrastructures | Platform Cooperatives, Digital Commons, and Knowledge Infrastructures]] *[[Engaging Platforms in Open Scholarship/Alternative Models and Approaches#Knowledge Production, Archives, and Digital Sustainability | Knowledge Production, Archives, and Digital Sustainability]] ===[[Engaging Platforms in Open Scholarship/References | References]]=== {{shelves|Humanities}} ncofleix1e5f72skb67jojw4femo1ak User talk:Codename Noreste/Archive 1 3 477022 4635381 4635206 2026-05-12T08:10:55Z ArchiverBot 1227662 Bot: Archiving 1 thread from [[User talk:Codename Noreste]] 4635381 wikitext text/x-wiki {{Automatic archive navigator}} == Question == Hi @[[User:Codename Noreste|Codename Noreste]]! Is there a reason you created [[Cuisine of Mexico]] as a redirect? Nothing links there, and all redirects in the cookbook should begin with the Cookbook: prefix. Thanks! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:39, 8 May 2025 (UTC) : Hi. Say for example there is a redirect, [[Cuisine of Armenia]] (it does exist), and it redirects to the cookbook itself. I thought it would be OK to create the redirect per that example I posted here, but otherwise you can let me know what mistakes I have done and how I can learn from them. Thank you. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 18:50, 8 May 2025 (UTC) ::Very understandable! I took a look at it, and [[Cuisine of Armenia]] should be deleted for the same reasons as [[Cuisine of Mexico]]. If you want some more information on Cookbook redirects, please feel free to take a look at [[Cookbook:Policy]]. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 19:17, 8 May 2025 (UTC) ::: All right, thank you for the information. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 19:23, 8 May 2025 (UTC) == Pending edit == Hey, sorry to be messaging you directly here, but I seem to not have permission to edit the requests pages and IRC seems to be inactive as well. Could you approve my proposed change to [[Chess Opening Theory/1. e4/1...e5/2. f4/2...exf4]]? [[User:Dayshade|Dayshade]] ([[User talk:Dayshade|discuss]] • [[Special:Contributions/Dayshade|contribs]]) 15:16, 25 July 2025 (UTC) : Hello, [[User:Dayshade|Dayshade]]. I just marked your edit to the Chess Opening Theory page as reviewed. Thank you for the clarification. <span style="font-family:Verdana">[[User:Codename Noreste|<span style="color:#0024FF">'''''Codename Noreste'''''</span>]] ([[User talk:Codename Noreste|<span style="color:#A1000E">talk</span>]])</span> 15:44, 25 July 2025 (UTC) == correctly? == Did I [https://en.wikibooks.org/wiki/Wikibooks:Requests_for_permissions nominate] myself correctly? [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 19:42, 9 October 2025 (UTC) :Leaderboard granted you the importer permission indefinitely, as you have imported pages before using your temporary administrator status. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|d]] • [[Special:Contributions/Codename Noreste|c]]) 17:25, 12 October 2025 (UTC) ::That's great to know! [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 03:16, 16 October 2025 (UTC) :::No problem. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:35, 16 October 2025 (UTC) == ~2025 accounts == I'm seeing several accounts that start with "~2025" over here and on Simple English Wikipedia, and there's probably other places too. What are these accounts, bots? [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 03:16, 16 October 2025 (UTC) :[[User:2005-Fan|2005-Fan]], please read [[:mw:Help:Temporary accounts|Help:Temporary accounts]] on MediaWiki. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:35, 16 October 2025 (UTC) == Please no more LTA == Please let me edit Unicode again since I didn't add LTA stuff. [[Special:Contributions/&#126;2025-29764-49|&#126;2025-29764-49]] ([[User talk:&#126;2025-29764-49|talk]]) 23:52, 22 October 2025 (UTC) : You can talk to Kittycataclysm about this. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 23:25, 23 October 2025 (UTC) == [[:Template:PD-self]] == line 3, remove leading <nowiki>''</nowiki>? I can't do this directly. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:11, 28 October 2025 (UTC) Also appreciated if you could look through: https://en.wikibooks.org/wiki/Special:LintErrors/missing-end-tag?wpNamespaceRestrictions=&titlecategorysearch=&exactmatch=1&tag=all&template=with Thanks :). [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:11, 28 October 2025 (UTC) : Also [[:Template:PD-user]] [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:12, 28 October 2025 (UTC) :: [[User:ShakespeareFan00|ShakespeareFan00]], I've removed those leading symbols. Given that you are dealing with those lint errors and some of them are in fully protected pages, I would suggest you should run for (either temporary or permanent) adminship with your stated reasoning (including for cleaning up these lint errors) on [[Wikibooks:Requests for permissions]]. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:40, 28 October 2025 (UTC) :::Will consider it, At least some of the remainder are 'interface' (e.g. [[MediaWiki:Explainconflict&action=edit&lintid=984488]]) and I wouldn't be granted interface admin to edit those. <!-- Template:Unsigned --><small class="autosigned">—&nbsp;Preceding [[Wikipedia:Signatures|unsigned]] comment added by [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00#top|talk]] • [[Special:Contributions/ShakespeareFan00|contribs]]) </small> 12:58, 28 October 2025 (UTC) : @[[User:ShakespeareFan00|ShakespeareFan00]]: [[MediaWiki:Explainconflict]] can only be edited by administrators and global interface editors (they have <code>editinterface</code>), and I don't see any non-admin interface administrators on this project. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 12:57, 28 October 2025 (UTC) : [[Template:File link]] Module in template space? [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 13:40, 28 October 2025 (UTC) :: There was already a module, [[Module:File link]], so I've replaced the content of that template. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 13:57, 28 October 2025 (UTC) == [[:Wikibooks:AutoWikiBrowser/CheckPageJSON]] == This should be admin only, and I would like to request AWB access for future lint fixes which can be semi automated. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 14:59, 28 October 2025 (UTC) : [[User:ShakespeareFan00|ShakespeareFan00]], I've added you to the list, but I am hesitant to fully protect the check page at the moment. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 15:08, 28 October 2025 (UTC) == [[:Template:Effective_protection_level]] == Module in template namespace? (Aside: Do we have {{tl|edit protected}}[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 16:42, 28 October 2025 (UTC) : I've deleted that template, and yes we have the edit protected template. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:56, 28 October 2025 (UTC) == [[Chess_Opening_Theory/1._e4/1...d5/2._Nf3/2...dxe4]] == What broke? The template {{tlx|chess/not|only}} throws a lint, and just REFUSES to format properly where it's used here. Suggestions? [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 00:31, 29 October 2025 (UTC) == [[:User talk:Adrignola/2009/06]] == The lint is a simple unclosed <nowiki><tt></nowiki>. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 09:24, 29 October 2025 (UTC) Should be easily found with somwthing like the linthint script. I am starting to hit the limits of what I can usefully repair. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 09:24, 29 October 2025 (UTC) : You should apply for adminship. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:06, 29 October 2025 (UTC) == [[:MediaWiki:Common.js/w/Wikibooks:Dialog]] == This is a misdetection by the Linter, The file type is clearly javascript, but a linter for wikitext is being applied? Also: * [[:MediaWiki:Common.js/w/Wikibooks:Dialog/diagnostic panel]] * [[:MediaWiki:Common.js/w/Wikibooks:Dialog/do]] * [[MediaWiki:Common.js/w/Wikibooks:Dialog/echo]] * [[MediaWiki:Dialog/receive]] [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:07, 29 October 2025 (UTC) : Now {{done|converted}} to JavaScript. '''[[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]]''' ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:04, 29 October 2025 (UTC) == Thank you! == Just wanted to stop by and say thank you for all the work you've been putting into the edit filter lately! —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 14:27, 11 November 2025 (UTC) : I appreciate your response. Wikibooks needed an administrator who has solid expertise in edit filters and regex, so I have decided to lend a helping hand in that field. I have also been overhauling and updating the modules and templates. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:58, 11 November 2025 (UTC) == Removed user right == I received a notification that I'm no longer a member of autoreviewed users. Would you explain why? I have gaps in my editing here, but when I do edit, it tends to be significant things on one Wikibook: [[OpenSCAD User Manual]] (see my contribution history). If it matters, I am also an administrator on the English Wikipedia. [[User:Anachronist|Anachronist]] ([[User talk:Anachronist|discuss]] • [[Special:Contributions/Anachronist|contribs]]) 03:31, 13 November 2025 (UTC) : [[User:Anachronist|Anachronist]], the autoreviewed user permission is a subset of reviewer permissions, and per [[Wikibooks:Reviewers]], the autoreviewed user permission can be removed from a user when they also have reviewer permissions. I am also doing this per [[User talk:Kittycataclysm#Administrator and reviewer user right combinations are not needed anymore]]. Thank you. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:34, 13 November 2025 (UTC) ::Thanks, I appreciate the explanation. [[User:Anachronist|Anachronist]] ([[User talk:Anachronist|discuss]] • [[Special:Contributions/Anachronist|contribs]]) 04:32, 13 November 2025 (UTC) == Thank you == for having taken the time to report [[phab:T409743]]. It is greatly appreciated :) &zwj;—&zwj;[[user:a smart kitten|a&nbsp;smart kitten]] ([[user talk:a smart kitten|discuss]] • [[special:contribs/a smart kitten|contribs]]) 06:01, 13 November 2025 (UTC) : No problemo. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 16:32, 13 November 2025 (UTC) == Notice of expiration of your interface-admin right == <div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "interface-admin" (Interface administrators) will expire on 2026-01-05 23:59:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|discuss]] • [[Special:Contributions/Leaderbot|contribs]]) 19:41, 30 December 2025 (UTC)</div> == Notice of expiration of your sysop right == <div dir="ltr">Hi, as part of [[:m:Special:MyLanguage/Global reminder bot|Global reminder bot]], this is an automated reminder to let you know that your permission "sysop" (Administrators) will expire on 2026-01-05 23:59:00. Please renew this right if you would like to continue using it. <i>In other languages: [[:m:Special:MyLanguage/Global reminder bot/Messages/default|click here]]</i> [[User:Leaderbot|Leaderbot]] ([[User talk:Leaderbot|discuss]] • [[Special:Contributions/Leaderbot|contribs]]) 19:41, 30 December 2025 (UTC)</div> == Regarding your mass deletions == Firstly, I have reversed all your deletions of [[Chess Opening Theory]] redirects. Whenever you see a broken redirect, ''please always open the page it targeted''. Here, when you moved a bunch of pages en masse after a request at [[WB:AA]], you left behind a bunch of broken redirects. I saw these redirects in [[:CAT:CSD]] earlier, and left them alone since I figured you'd connect those redirects to that request, and thus discover [[Special:GoToComment/c-Atiedebee-20251231082700-Codename_Noreste-20251229012000|this comment]], after which you would move the pages again and retarget. However, you deleted them. I have undeleted them. Secondly, I'd like to ask why exactly you deleted all those subpages of [[Australian Curriculum Mathematics]], which have existed for over a decade in many instances? I feel like this should have been taken to RfD instead. I have no problems with your other deletions. Thank you for your time. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 22:30, 31 December 2025 (UTC) : I was handling the speedy deletion backlog when unfortunately, I did not realize the chess redirects were supposed to be corrected. Second, @[[User:Kittycataclysm|Kittycataclysm]] marked the Australian Curriculum Mathematics subpages for speedy deletion, because the subpages were considered abandoned material (but I agree that this should have been taken to RFD). However, we should probably wait for their opinion regarding the ACM subpages. [[User:Codename Noreste|Codename Noreste]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:51, 31 December 2025 (UTC) ::@[[User:JJPMaster|JJPMaster]] @[[User:Codename Noreste|Codename Noreste]] Chiming in here! I nominated the [[Australian Curriculum Mathematics|ACM]] pages for speedy deletion because it looked to me like they met the [[WB:SPEEDY]] criteria of "pages with no meaningful content" and the instruction to "delete stubs that are too narrowly defined or do not have a decent definition of what they are about" (see, for example, [[Australian Curriculum Mathematics/Grade 10A/Chance]]). I flagged them for another admin to delete because I sometimes like to get a second pair of eyes on a page I think should be speedily deleted, but I didn't think they were sufficiently developed to bring to RFD. Does this clarify things? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 01:50, 1 January 2026 (UTC) == Font wrapping links? == Do you know any bot writers? The update pattern is reasonably straightforward (check my contributions), and it would seem sensible for this to be done as a bulk effort. This would free up time to work on items that need a more human nuance... There are automated repair bots on Wikipedia that could do this. :) [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 20:21, 17 March 2026 (UTC) :Forwarding this matter to @[[User:JJPMaster|JJPMaster]]. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 13:51, 18 March 2026 (UTC) == Unclosed table == [[Control Systems/Print version]] However none of the input pages seem to show up as a having a missing table? Suggestions? It's not really feasible to build the print version up from scratch in a sandbox as I do not know how it gets built.. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 20:00, 28 March 2026 (UTC) : I think many of the chapters are transcluded on that printable page, so you might need to find out which chapter has lint errors. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:04, 11 April 2026 (UTC) == Future of game coverage on Wikimedia wikis == Hi, what's the future of video game coverage on Wikimedia wikis? I'm a major proponent of in-depth gaming coverage, even though I'm aware places like the English Wikipedia don't easy allow for its inclusion. I've also opened a question if Simple English Wikipedia can [https://simple.wikipedia.org/wiki/Wikipedia_talk:Notability#Scope loosen its scope], partly to help with the accessibility of niche topics that people who may not understand English well can read that may not be presentable as such elsewhere. Or is Wikibooks the only true Wikimedia project for in-depth game coverage, just through a textbook or instruction manual lens? [[User:2005-Fan|2005-Fan]] ([[User talk:2005-Fan|discuss]] • [[Special:Contributions/2005-Fan|contribs]]) 00:20, 17 April 2026 (UTC) : I'm afraid that I may not able to answer that, apart that you comply with Wikibooks' scope. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:02, 27 April 2026 (UTC) == Deletion of Subpage == Hello Codename Noreste You have recently deleted a subpage in "my" Wikibook for Publications: https://en.wikibooks.org/w/index.php?title=History_of_wireless_telegraphy_and_broadcasting_in_Australia This was a page for a variety of publications which were deleted summarily about 6 months ago at a time when personal matters intervened and I was unable to respond adequately. Would you please undelete this subpage as I will shortly be seeking to have most of the publications restored (they are in the public domain). Thanks Sam Dellit [[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 22:46, 26 April 2026 (UTC) : Hi, which subpage would you want to be restored? Some context: @[[User:ShakespeareFan00|ShakespeareFan00]] tagged these as copyright violations which I couldn’t tell if they are, and they said they were. I deleted them, until you notified me here. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 22:51, 26 April 2026 (UTC) ::Hello Codename Noreste ::The primary page is here: ::https://en.wikibooks.org/w/index.php?title=History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Publications ::If you could undelete the subpages also, that would be great (sorry, I have no record of what they were). ::Then I could start including proof of public domain for as many as possible (I am now again active on Wikibooks). ::[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 22:57, 26 April 2026 (UTC) ::: @[[User:Samuel.dellit|Samuel.dellit]] They are now undeleted, so you can make the necessary changes. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 02:02, 27 April 2026 (UTC) ::::Thank you, I can now see: ::::https://en.wikibooks.org/w/index.php?title=History_of_wireless_telegraphy_and_broadcasting_in_Australia/Topical/Publications ::::But I still can't see any of the subpages ::::[[User:Samuel.dellit|Samuel.dellit]] ([[User talk:Samuel.dellit|discuss]] • [[Special:Contributions/Samuel.dellit|contribs]]) 03:03, 27 April 2026 (UTC) ::::: Try restoring [[Special:Permalink/4019477|this version]], thank you. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 03:10, 27 April 2026 (UTC) :{{ping|Samuel.dellit}} Reverted the tags, you should see the articles, I suggest you look into the authors of articles of transcribed articles and confirm they ALL died before 1946 ( Australia at the date of the Issues concerned was 50 pma, making it (disapointinhly that anything still in copyright in Australia in 1996, got a full US term due to URAA, NOT a 28 year and renewal as might be expected.). If you don't provide further biographical detail for the authors, these publication transcriptions will be considered copyvio, and retagged. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:01, 27 April 2026 (UTC) 892ixr16wwu0yjkydindb7x5um4w5st Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Bc4/3...Nxe4/4. Nc3 0 477053 4635321 4529346 2026-05-11T17:57:16Z JCrue 2226064 4635321 wikitext text/x-wiki {{Chess Opening Theory/Position |name=Boden-Kieseritzky gambit |eco=[[Chess/ECOC|C27]] |parent=<br> * [[Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6|Russian game]] → [[Chess Opening Theory/1. e4/1...e5/2. Nf3/2...Nf6/3. Bc4|Italian variation]] → [[../|3...Nxe4]] → '''4. Nc3?!''' * [[Chess Opening Theory/1. e4/1...e5/2. Nc3|Vienna game]] → [[Chess Opening Theory/1. e4/1...e5/2. Nc3/2...Nf6/3. Bc4/3...Nxe4|Frankenstein-Dracula variation]] → '''4. Nf3?!''' }} == 4. Nc3?! · Boden-Kieseritzky gambit == This gambit can arise from the Russian or Vienna games. White invites Black to trade knights. White's plan after 4...Nxc3 is to take back with the d-pawn, opening up their queen's bishop, and threaten 5. Ng5 to win material. This is similar to Black's idea in the Stafford gambit, but here it's safer for White since, having played Bc4 already, they are effectively up a tempo. While the engine doesn't think this gambit completely sound (giving an evaluation of -0.5), it is a great weapon to use in faster time controls. Accepting the gambit, '''4...Nxc3''', is Black's main and objectively strongest move. White invariably responds 5. dxc3. Black must find a move that both defends e5 and prevents 5. Ng5: only 5...f6 works. Probably the safest way to decline the gambit is '''4...Nc6'''. This is a transposition to the Italian variation of the four knights game: 5. Nxe4 d5 6. Bd3 dxe4 7. Bxe4 and the game is equal. If White insists on playing a gambit, they could try 5. O-O!? and the game may transpose into the main line after 5...Nxc3 6. dxc3 f6. Otherwise, retreating the knight, '''4...Nf6''', lets White recover the pawn leading to a roughly equal position. == Theory table == {{ChessTable}} {{Chess/theory table |line1=4. ... Nxc3 5. dxc3 f6 6. O-O Nc6 |name1=Boden-Kieseritzky gambit |eval1={{chess/not|-}} |line2=4. ... ... 5. ... d6? 6. Ng5 Be6 7. Bxe6 fxe6 8. Qf3 Qf6 9. Qxb7 |eval2={{chess/not|+++}} |line3=4. ... Nc6 5. O-O Nxc3 6. dxc3 f6 - |name3=<small>(transposes)</small> |line4=4. ... ... 5. Nxe4 d5 6. Bd3 dxe4 7. Bxe4 |name4=Four knights game, Italian variation<br><small>(by transposition)</small> }} {{ChessMid}} == References == {{reflist}} === See also === {{Chess Opening Theory/Footer}} 9pywovi6mjapv8758oyjfjsur53wznw Automotive Factories/Transplant Automaker Factories In North America 0 477197 4635265 4630191 2026-05-11T16:25:09Z JustTheFacts33 3434282 /* Current US production facilities */ 4635265 wikitext text/x-wiki The term "Transplant Automaker" refers to automakers building vehicles in North America that are not based in North America. They are based in Europe or Asia. This page shows the vehicle assembly plants of Transplant Automakers in North America. ==Current US production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/state !style="width:10px;"|Opened ! style="width:260px;"|Current Products ! style="width:370px;" class="unsortable"|Comments |- |U |[[w:Toyota Motor Manufacturing Kentucky|Toyota Motor Manufacturing Kentucky]] [TMMK] |[[w:Georgetown, Kentucky|Georgetown, Kentucky]] |1988 |Toyota Camry Hybrid 2007-,<br> RAV4 Hybrid 2020-,<br> Highlander EV (2027-),<br> Subaru Getaway EV (2027-) |Toyota's 1st wholly owned assembly plant in the US. Originally established as Toyota Motor Manufacturing USA. In October 1996, plant was renamed Toyota Motor Manufacturing Kentucky.<br> Toyota’s largest vehicle manufacturing plant in the world. Has 3 assembly lines. The 3rd line was originally for the Lexus ES. <br> First Camry was produced on May 26, 1988. Volume production of the Camry began in Georgetown in July 1988. Axle production began in October 1988. Engine production began in November 1989 with a 4-cylinder (2.0L 3S-FE). This was followed subsequently by the 2.2L 5S-FE, 2.4L AZ-series I4, 2.5L AR-series I4, & the 2.5L A25A/2.4L turbo T24A Dynamic Force I4. 4-cylinder engine machining began in July 1991. The wagon and coupe versions of the 3rd gen. US-market Camry were exported to Japan, where they were sold as the Scepter. In August 1994, V6 engine production began (3.0L 1MZ-FE). This was followed by the 3.3L 3MZ-FE, & the 3.5L GR-series V6. In September 1994, Avalon production began. V6 engine machining began in August 1996. In August 1997, Sienna minivan production began. The 2nd gen. Avalon was exported to Japan, where it was sold as the Pronard. In December 2002, Sienna production ended at Georgetown and was moved to Princeton, IN. In July 2003, Solara coupe production began while Solara convertible production followed in February 2004. In October 2006, Camry Hybrid production began, the first Toyota hybrid vehicle produced in the US. In November 2008, production of the Venza crossover began. In October 2015, a new 3rd assembly line began production of the Lexus ES350, the first time a Lexus is produced in the US. Began RAV4 Hybrid production in January 2020. TMMK has produced over 14 million vehicles.<br> Past models: Toyota Camry (gas-only) 1989-2024,<br> Avalon 1995-2022, Avalon Hybrid 2013-2022,<br> Camry Solara 2004-2008, Sienna 1998-2003,<br> Venza 2009-2015 & 2016 in Canada,<br> Scepter wagon (For export: 1993-1996),<br> Scepter coupe (For export: 1994-1996),<br> Pronard (For export: 2000-2004),<br> Lexus ES 2016-2025, ES Hybrid 2019-2025 |- |S |[[w:Toyota Motor Manufacturing Indiana|Toyota Motor Manufacturing Indiana]] [TMMI] |[[w:Princeton, Indiana|Princeton, Indiana]] |1999 |Toyota Sienna 2004-,<br> Highlander 2010-,<br> Highlander Hybrid 2014-,<br> Grand Highlander (gas/hybrid) 2024-, <br> Lexus TX (gas/hybrid/PHEV) 2024-,<br> Kluger/Kluger Hybrid (For export: 2014-) |Has 2 assembly lines: the original West plant and <br> the East plant, which was added in 2003. <br> Production began in May 1999 at the original West plant with the Tundra pickup. In September 2000, production began of the Sequoia SUV. In January 2003, production began at the East plant with the Sienna minivan. Initially, 2nd generation Tundra production was split between Princeton, IN and San Antonio, TX. All Regular Cabs were made in San Antonio while Double Cab & CrewMax were made in both plants. In August 2008, Tundra production at the West plant in Princeton ended and was consolidated in San Antonio, TX. On October 8, 2009, Highlander production began at the West plant. The Highlander Hybrid was added in early 2014. All Highlander production for all markets except for China was consolidated in Princeton beginning with the 3rd gen. 2014 model. In Australia and New Zealand, the Highlander is sold as the Kluger. In summer 2016, Highlander production was added to the East plant. On August 2, 2023, Grand Highlander production began at the West plant. On November 9, 2023, Lexus TX production began at the West plant. This is the first Lexus made in Princeton and the first Lexus SUV made in the US. The Lexus TX550h+ is the first plug-in hybrid that Toyota has built in North America. TMMI has produced over 6 million vehicles.<br> Past models: Toyota Tundra 2000-2008,<br> Sequoia 2001-2022 |- |X |[[w:Toyota Motor Manufacturing Texas|Toyota Motor Manufacturing Texas]] [TMMTX] |[[w:San Antonio|San Antonio, Texas]] |2006 |Toyota Tundra 2007-,<br> Sequoia 2023- |In November 2006, began production with the Tundra pickup. Initially, Tundra production was split between Princeton, IN and San Antonio, TX. All Regular Cabs were made in San Antonio while Double Cab & CrewMax were made in both plants. In August 2008, Tundra production in Princeton, IN ended and was consolidated in San Antonio, TX. All Tundras have been made in San Antonio ever since. Tacoma pickup production began in July 2010 after the NUMMI plant in California closed in April. In September 2021, Tacoma production in San Antonio ended and was consolidated at Toyota's 2 plants in Mexico. In September 2022, Sequoia production began in San Antonio. In 2026, San Antonio will began making rear axles for Tundras and Sequoias made onsite and for Tacomas made in Mexico at a new 500,000-square-ft. facility at TMMTX. This will replace production at a Hino Motors Manufacturing USA plant in Marion, AR, which is slated to close by the end of 2027. <br> Past models: Toyota Tacoma 2011-2021 |- |P |[[w:Toyota Motor Manufacturing Mississippi|Toyota Motor Manufacturing Mississippi]] [TMMMS] |[[w:Blue Springs, Mississippi|Blue Springs, Mississippi]] |2011 |Toyota Corolla sedan 2011- |Began production on October 10, 2011 with the Corolla sedan. TMMMS has produced over 2 million vehicles. |- |V (Toyota),<br> N (Mazda) |[[w:Mazda Toyota Manufacturing USA|Mazda Toyota Manufacturing USA]] [MTMUSA] |[[w:Huntsville, Alabama|Huntsville, Alabama]] |2021 |Toyota Corolla Cross 2022-,<br> Corolla Cross Hybrid 2023-,<br> Mazda CX-50 2023-, CX-50 Hybrid 2025- |50/50 joint venture between Toyota and Mazda.<br> Has 2 assembly lines - 1 for Toyota and 1 for Mazda. Toyota production began on September 30, 2021 while Mazda production began on January 26, 2022. This plant marked a return to US vehicle production for Mazda, which had not built any vehicles in the US since 2012, when the Mazda 6 ended production in Flat Rock, MI. |- |A |[[w:Marysville Auto Plant|Honda Marysville Auto Plant]] |[[w:Marysville, Ohio|Marysville, Ohio]] |1982 |Honda Accord sedan 1983-,<br> Accord Hybrid 2014-2015, 2018-,<br> Acura Integra 2023- |Honda's 1st automotive assembly plant in the US. The first Japanese automotive assembly plant in the US. Has 2 assembly lines. Line 1 began production on November 1, 1982 with the 1983 Accord sedan. Production of the Accord 3-d hatchback was added for 1984. Line 2 began production on December 13, 1985, also with the Accord (first model built was a 1986 Accord 3-d hatchback). On July 24, 1986, production of the Civic sedan began at Marysville. Accord 3-d hatchback production was moved to Japan for 1988 to make room for the new 2-d coupe version. On December 22, 1987, production of the 1988 Accord 2-d coupe began. In January 1988, production began of the Accord 2-d coupe for export to Japan. The 2-d coupe version of the 3rd, 4th, and 5th gen. Accord was exported to Japan. The 3rd gen. was left-hand drive only. Right-hand drive models began to be produced in the 4th gen. in January 1990. The Accord coupe was also exported to Europe in the 4th, 5th, and 6th generations. On November 20, 1990, production began of the 1991 Accord wagon. The wagon version of the 4th and 5th gen. Accord was exported to Japan and Europe (in Europe, it was called Accord Aerodeck). During 1990, Civic production was transferred to East Liberty. On August 3, 1998, Marysville began producing the Acura TL, the first Acura produced in Marysville. The 2nd gen. Acura TL was exported to Japan, where it was sold as the 3rd gen. Honda Inspire and the 2nd gen. Honda Saber. On January 31, 2000, Marysville began production of the 2nd gen. 2001 Acura CL, replacing East Liberty, which produced the 1st gen. Acura CL. On July 17, 2006, production of the Acura RDX began, the first SUV built in Marysville. On September 10, 2013, the Marysville plant built its first Accord Hybrid, a 2014 model. On July 14, 2014, production began on the Acura TLX, the successor to the TL. On January 27, 2015, Marysville began production of the updated 2016 model year Acura ILX, taking over production from Greensburg. In 2015, Accord Hybrid production in Marysville ended. Production was moved to Japan, where the 2017 model was built (there was no '16 Accord Hybrid). Accord Hybrid production returned to Marysville in 2018. In September 2018, Marysville began production of the CR-V. On May 5, 2022, production began of the ILX's replacement, the revived Acura Integra. Marysville Auto Plant has produced over 15 million vehicles. <br> Past models: Honda Accord 3-d hatchback 1984-1987, Accord 2-d coupe 1988-2017, Accord wagon 1991-1997,<br> Civic 4-d sedan 1987-1990, CR-V 2018-2022,<br> Acura TL 1999-2014, TLX 2015-2025, CL 2001-2003, RDX 2007-2012, ILX 2016-2022,<br> Honda Inspire/Saber (For export: 1999-2003) |- |L |[[w:East Liberty Auto Plant|Honda East Liberty Auto Plant]] |[[w:East Liberty, Ohio|East Liberty, Ohio]] |1989 |Honda CR-V 2007-, CR-V Hybrid 2022-, Acura RDX 2013-, MDX 2017- |Began production on December 18, 1989 with the Civic 4-d. Took over all production of the Civic sedan from Marysville during 1990. In June 1991, East Liberty added production of the Accord sedan. Production of the Accord at East Liberty ended in 1992 to make room for the 1993 Civic coupe. On February 19, 1996, East Liberty began production of the Acura CL coupe, the first Acura made in the US. On April 8, 1998, began production of the natural gas-powered Civic GX sedan. In 1999, Acura CL production ended and CL production was transferred to Marysville for the 2nd gen. model. On November 26, 2002, production begins on the Element, the first SUV built in East Liberty. In January 2005, East Liberty again adds Accord sedan production. Accord production at East Liberty ends March 31, 2005. On September 25, 2006, CR-V production began at East Liberty. During 2009, Civic production was transferred to Greensburg, IN. On November 3, 2009, East Liberty began production of the Accord Crosstour. In 2012, East Liberty began production of the Acura RDX, taking over production from Marysille. On May 31, 2017, East Liberty began production of the Acura MDX. In October 2017, all MDX production is consolidated at East Liberty. East Liberty has produced over 7 million vehicles. <br> Past models: Honda Civic 4-d sedan 1990-2009,<br> Civic 2-d coupe 1993-2005, Civic Si 2-d coupe '99-'00,<br> Accord LX sedan w/auto. trans. 1991-1992, 2005, Element 2003-2011, Accord Crosstour 2010-2011, Crosstour 2012-2015, Acura CL 1997-1999 |- |B |[[w:Honda Manufacturing of Alabama|Honda Manufacturing of Alabama]] |[[w:Lincoln, Alabama|Lincoln, Alabama]] |2001 |Honda Odyssey 2002-, Pilot 2004-, Ridgeline 2009-2014, 2017-,<br> Passport 2019- |Has 2 assembly lines. Line 1 began production on November 14, 2001 with the Odyssey. Line 2 began production on April 27, 2004 with the Pilot. An onsite engine plant began production in November 2001 making Honda J-series V6 engines for the vehicles built in Lincoln, AL. The 1st gen. Honda Pilot was also exported to the Middle East as the Honda MR-V. On April 15, 2008, the 2nd gen. Pilot began production in Lincoln, AL, which was now the only plant making the Pilot SUV. On February 16, 2009, Line 1 began production of the Ridgeline pickup, which was transferred from Alliston, ON. On July 17, 2009, Line 2 began production of the Accord V6 sedan, the first passenger car built in Lincoln, AL. In December 2010, Lincoln, AL stopped Accord production. Around this time, Ridgeline production shifted from Line 1 to Line 2. On May 2, 2013, the 2014 model year Acura MDX begins production, having been transferred from Alliston, ON <br> for 2014. In July 2014, the 1st gen. Ridgeline ended production. On May 5, 2016, the Ridgeline resumed production after a nearly 2 year hiatus with a new <br> 2nd gen. version. From October 2017, Acura MDX production was consolidated in East Liberty for the <br> 2018 model year. On December 6, 2018, production began of the all new Passport. Lincoln, AL has produced over 5 million vehicles. <br> Past models: Honda Accord V6 sedan 2009-2011,<br> Acura MDX 2014-2017,<br> Honda MR-V (For export: 2006-2008) |- |E |[[w:Honda Manufacturing of Indiana|Honda Manufacturing of Indiana]] |[[w:Greensburg, Indiana|Greensburg, Indiana]] |2008 |Honda Civic 5-d hatchback 2022-,<br> Civic Hybrid 5-d hatchback 2025-,<br> CR-V 2017-,<br> CR-V Hybrid 2020-2021, 2023- |Began production in October 2008 with the 2009 model year Civic sedan. In 2009, began production of the natural gas-powered Civic GX sedan. Took over all production of the Civic sedan from East Liberty during 2009. In April 2012, Greensburg began production of the 9th generation Civic-based Acura ILX, building an Acura model for the first time. Greensburg also produced the ILX Hybrid, the first US-built hybrid from American Honda. In early 2013, Greensburg began production of the Civic Hybrid. The ILX Hybrid was discontinued after 2014. In November 2014, 2015 model year ILX production ended and the ILX moved to Marysville for the 2016 model year. In 2015, Civic Hybrid sedan production ended. On February 15, 2017, Greensburg began production of the 2017 model year CR-V, building an SUV for the first time. CR-V production was transferred to Greensburg from El Salto, Mexico. On May 14, 2018, production began of the Insight hybrid sedan. In January 2020, CR-V Hybrid production began. Greensburg did not produce the CR-V Hybrid for 2022 but resumed CR-V Hybrid production in fall 2022 for 2023. In September 2021, production began of the Civic 5-d hatchback instead of the Civic 4-d sedan, which was consolidated in Alliston, ON. This is the first time that the Civic 5-d is produced in North America. <br> Past models: Honda Civic 4-d sedan 2009-2021,<br> Civic Hybrid 4-d sedan 2013-2015,<br> Insight Hybrid 2019-2022,<br> Acura ILX 2013-2015, ILX Hybrid 2013-2014 |- |Y |Honda Performance Manufacturing Center (PMC) |[[w:Marysville, Ohio|Marysville, Ohio]] |2016 |Honda CR-V e:FCEV 2025- |Specializes in low volume production. Building is Honda's former North American Logistics facility, converted into a low-volume vehicle assembly plant.<br> Began production in April 2016 with the Acura NSX. The 2nd gen. Acura NSX was also exported to Europe, Japan, and Australia as the Honda NSX. In 2019, started making special limited-production PMC Editions of select Acura models. In November 2022, NSX production ended. The last Acura PMC Editions were made in 2023. On June 5, 2024, began production of the hydrogen fuel cell-powered CR-V e:FCEV, the first production hydrogen fuel cell-powered vehicle to be made in the US. <br> Past models: Acura NSX 2017-2022,<br> Honda NSX (For export: 2017-2022),<br> TLX PMC Edition 2020 & 2023, MDX PMC Edition 2020, RDX PMC Edition 2021-2022 |- |C |[[w:Nissan Smyrna Assembly Plant|Nissan Smyrna Vehicle Assembly Plant]] |[[w:Smyrna, Tennessee|Smyrna, Tennessee]] |1983 |Nissan Pathfinder 2005-2020, 2022-, Infiniti QX60 2014-2020, 2022-,<br> Nissan Rogue 2014-, Murano 2021-, Infiniti QX65 2027- |Nissan's 1st automotive assembly plant in the US. The second Japanese automotive assembly plant in the US. Originally, Nissan Motor Manufacturing Corporation USA. In April 2000, became part of Nissan North America. Began production on June 16, 1983 with the 720 pickup. Began production of the Sentra on <br> March 25, 1985. On June 11, 1992, Altima sedan production began. In November 1994, 200SX production began, based on the 4th generation Sentra. On September 10, 1997, production of the Frontier pickup began. 200SX production ended in June 1998. Sentra production in Smyrna ended on March 19, 1999 and was moved to Aguascalientes, Mexico. Xterra production began on April 19, 1999. Maxima production began in January 2003. Pathfinder production began on Aug. 30, 2004. In April 2007, Altima coupe production began. In 2008, Smyrna began production of the Suzuki Equator pickup, a rebadged Nissan Frontier. In February 2012, Smyrna began production of the Infiniti JX35, the first Infiniti built at the TN plant. The JX35 was renamed QX60 for 2014. In August 2012, Frontier and Xterra production ended at Smyrna and were moved to Canton, MS. Suzuki Equator production also ended in August 2012 and it was discontinued. In January 2013, Smyrna began production of the Leaf, the first electric Nissan made in the US. Altima coupe production ended in June 2013. Rogue production began on October 15, 2013. The first Rogue built at Smyrna was also the 10 millionth vehicle produced at the Smyrna plant. In 2020, Smyrna took over production of the Murano from Canton and ended production of the Altima, which was consolidated in Canton, MS. In late summer 2023, Maxima production ended. In November 2024, Leaf production in Smyrna ended. Smyrna has the largest production capacity of any single vehicle assembly plant in the US at 640,000 units per year. Smyrna has produced over 15 million vehicles. <br> Past models:<br> Nissan Pickup (720/Hardbody [D21]) 1983-1997, Frontier [D22/D40] 1998-2012, Sentra 1985-1999, 200SX [B14] 1995-1998, Altima 1993-2020,<br> Xterra 2000-2012, Maxima 2004-2014, 2016-2023,<br> Leaf EV 2013-2025, Infiniti JX35 2013,<br> Suzuki Equator 2009-2012 |- |N |Nissan Canton Vehicle Assembly Plant |[[w:Canton, Mississippi|Canton, Mississippi]] |2003 |Nissan Altima 2005-,<br> Frontier [D40/D41] 2012- |This was the first automotive assembly plant in MS. Began production on May 27, 2003 with the Quest minivan. Armada production began on August 14, 2003 followed by Titan production on September 21, 2003. On January 20, 2004, production began on the Infiniti QX56, the first Infiniti built outside Japan. Altima production began in Canton on June 2004, supplementing production at Smyrna. On January 19, 2011, Canton began production of the Nissan NV full-size van. In November 2012, Canton took over production of the Frontier and Xterra from Smyrna, TN. In July 2013, Sentra production was added, supplementing production at Aguascalientes, Mexico. Sentra production at Canton ended in 2014. On November 5, 2014, Canton began production of the Murano. Canton has produced over 5 million vehicles. <br> Past models: Nissan Quest 2004-2009,<br> Titan 2004-2024, Armada 2004-2015, Xterra 2012-2015, NV 1500/2500/3500 2012-2021, Sentra 2013-2014, Murano 2015-2020, Infiniti QX56 2004-2010 |- |1-9 (Subaru)<br><br>4 (Isuzu,<br>Honda,<br>Holden),<br><br> R (Toyota) |[[w:Subaru of Indiana Automotive|Subaru of Indiana Automotive]] (Formerly Subaru-Isuzu Automotive) <br> [SIA] |[[w:Lafayette, Indiana|Lafayette, Indiana]] |1989 |Subaru Ascent 2019-,<br> Crosstrek 2.5-liter 2024-, <br> Forester 2026-, Forester Hybrid 2026-, <br> Evoltis (For export: 2021-) |Originally, a 51/49 joint venture between Subaru and Isuzu. Production began on September 11, 1989 for both Subaru (Legacy) and Isuzu (Pickup). The plant was set up with 2 assembly lines - 1 for Subaru & 1 for Isuzu. In October 1990, production of the Isuzu Rodeo SUV began. The Isuzu line also built the Honda Passport, a rebadged Isuzu Rodeo, beginning November 16, 1993. Isuzu also built the Holden Frontera, a rhd rebadge of the 2nd gen. Isuzu Rodeo for export to GM Holden in Australia and New Zealand. In 1994, Isuzu ended pickup production at SIA to make more room for production of Rodeo and Passport SUVs. On January 8, 1998, production of the Isuzu Amigo began. The Amigo was renamed Rodeo Sport for 2001 and discontinued after 2003. On January 15, 2001, production of the Isuzu Axiom began. In January 2002, Honda Passport production ended at SIA and Honda replaced the Passport with the Honda developed and built Pilot. As of January 2003, Subaru bought Isuzu's share of the plant and it became 100% owned by Subaru. Plant was renamed Subaru of Indiana Automotive. Isuzu production continued until July 23, 2004 under a contract manufacturing deal. Subaru then made an alliance with Toyota and built the Camry under contract for Toyota from February 28, 2007 through May 27, 2016. The Camry was built on what had been the Isuzu line. After Camry production ended, Subaru began to use both lines to produce Subaru models. In March 1994, SIA began production of the 2nd gen. Legacy as a 1995 model. For the first time, all Legacy models sold in North America were now built in the U.S. On August 29, 1994, SIA began production of the first Legacy Outback. In July 1995, Subaru opened an engine plant at the SIA complex, assembling Subaru flat-4 engines for Subaru models built at the SIA plant. For 2000, the Subaru Outback became a separate model line. The Subaru Baja began production at SIA on July 18, 2002. Baja production ended in April 2006. The Subaru B9 Tribeca began production at SIA on April 4, 2005. The B9 Tribeca was updated and renamed Tribeca for 2008. Tribeca production ended in January 2014. The Subaru Impreza began production at SIA on November 1, 2016. The Subaru Ascent began production on May 7, 2018. The Subaru Ascent is exported to the Philippines and some Latin American countries as the Evoltis. Impreza production at SIA ended in May 2023 and was replaced by the Crosstrek. The Subaru Crosstrek (only models with 2.5-liter engine) began production at SIA on May 9, 2023. Legacy production ended on September 12, 2025. Outback production ended on October 3, 2025. SIA has produced 3,414,002 Outback vehicles. SIA began production of the Forester on October 7, 2025. SIA began production of the Forester Hybrid on February 3, 2026. This is the first time SIA is building a hybrid-electric vehicle (HEV). The first hybrid produced was a 2026 Forester Hybrid Premium. All US-market Foresters are now made in the US. SIA has produced over 8 million vehicles in total and over 6 million Subaru-brand vehicles. The 8 millionth was a 2026 Subaru Forester Wilderness produced on November 21, 2025. <br> Past models: Subaru Legacy 1990-2025,<br> Legacy Outback 1995-1999, Outback 2000-2025,<br> Baja 2003-2006, B9 Tribeca 2006-2007,<br> Tribeca 2008-2014, Impreza 2017-2023,<br> Isuzu Pickup (TF-series) 1990-1994, Rodeo 1991-2004, Amigo 1998-2000, Rodeo Sport 2001-2003,<br> Axiom 2002-2004, Honda Passport 1994-2002,<br> Holden Frontera (UE/MX) (1999-2003) [For export],<br> Toyota Camry (gas-only) 2007-2016 |- |H |[[w:Hyundai Motor Manufacturing Alabama|Hyundai Motor Manufacturing Alabama]] [HMMA] |[[w:Montgomery, Alabama|Montgomery, Alabama]] |2005 |Hyundai Santa Fe 2007-2010,<br> Santa Fe Sport 2017-2018,<br> Santa Fe (gas-only) 2019-,<br> Santa Fe Hybrid 2023-,<br> Tucson (gas-only) 2022-,<br> Santa Cruz 2022-,<br> Genesis Electrified GV70 [EV] 2023-2026,<br> Genesis GV70 (gas-only) 2024- |The first Korean automotive assembly plant in the US. Began production in May 2005 with the Sonata. There is also an onsite engine plant, which also opened in May 2005. The engine plant first built Hyundai's Lambda <br> 3.3L V6. In September 2008, HMMA began production of 4-cylinder engines with the 2.4L Theta II engine on a 2nd engine production line. HMMA later added the 2.0L Turbo version of the Theta II 4-cylinder. The 1st engine line ended Lambda V6 production in 2011 and switched to producing 1.8L Nu 4-cylinder engines. Later, the 2.0L version of the Nu 4-cylinder was also made by HMMA. In May 2019, HMMA opened a new building to make cylinder heads for the engines that it builds. In 2019-2020, both engine lines switched to Hyundai's newer Smartstream engines (1.6L T-GDI, 2.0L Atkinson, 2.5L GDI, & 2.5L T-GDI). HMMA also supplies engines to Kia's plants in West Point, GA and Pesqueria, Mexico. Santa Fe production originally began on April 18, 2006. In August 2010, Santa Fe production ended at the Hyundai plant in AL and was moved to the Kia plant in GA. Elantra production began in November 2010. On June 22, 2016, Santa Fe production restarted at the Hyundai plant in AL with the Santa Fe Sport. The Santa Fe Sport was renamed Santa Fe for 2019. In February 2021, Tucson production began. In June 2021, Santa Cruz production began. In February 2022, Sonata production in Montgomery ended. In October 2022, production of the Santa Fe Hybrid began. In February 2023, production of the battery electric-powered Genesis Electrified GV70 began. The Electrified GV70 was Hyundai Motor Group's first US-built electric vehicle and the first US-built Genesis model. In May 2023, production of the gas-powered Genesis GV70 began. In May 2023, Elantra production in Montgomery ended. In May 2025, Electrified GV70 production ended. HMMA has produced over 6 million vehicles.<br> Past models:<br> Hyundai Sonata 2006-2022,<br> Elantra sedan 2011-2023 |- |G |[[w:List of Kia design and manufacturing facilities#Georgia Plant (KMMG)|Kia Motors Manufacturing Georgia]] [KMMG] |[[w:West Point, Georgia|West Point, Georgia]] |2009 |Kia Sorento (gas-only) 2011-,<br> Telluride 2020-2025, 2027-,<br> Sportage (gas-only) 2023-,<br> EV6 (not GT model) 2025-, EV9 2025- |Production began on Nov. 16, 2009 with the 2011 Sorento, which went on sale in January 2010. On September 28, 2010, KMMG began production of the Hyundai Santa Fe. On Sept. 2, 2011, KMMG began production of the Kia Optima. The Optima was replaced by the K5 for 2021. In 2018, Kia ended production of the Hyundai Santa Fe, which was consolidated in Hyundai's plant in AL. In January 2019, Telluride production began. On February 1, 2022, KMMG began production of the Sportage. In 2024, K5 production at KMMG ended. On May 30, 2024, KMMG began EV production with the EV9. In early 2025, KMMG began production of the EV6. KMMG has produced over 4.6 million vehicles. <br> Past models: <br> Kia Optima 2012-2020, K5 2021-2024,<br> Hyundai Santa Fe 2011-2012,<br> Santa Fe Sport 2013-2018 |- |Y |[[w:Hyundai Motor Group Metaplant America|Hyundai Motor Group Metaplant America]] |[[w:Ellabell, Georgia|Ellabell, Georgia]] |2024 |Hyundai Ioniq 5 2025-, Ioniq 9 2026- |Began production on October 3, 2024 with the Ioniq 5 EV. Production of the Ioniq 9 EV began in March 2025. |- |C |[[w:Volkswagen Chattanooga Assembly Plant|Volkswagen Chattanooga Assembly Plant]] |[[w:Chattanooga, Tennessee|Chattanooga, Tennessee]] |2011 |VW Atlas 2018-,<br> Atlas Cross Sport 2020-,<br> ID.4 [EV] 2023-2026,<br> Teramont (For export: 2019-), Teramont Cross Sport (For export: 2021-) |This plant marked a return to US vehicle production for VW. VW's last US assembly plant, Westmoreland Assembly in New Stanton, PA, had closed in July 1988. Production began in Chattanooga on April 18, 2011 with the 2012 Passat. On December 14, 2016, the Atlas began production. The Atlas is also exported to Mexico, Colombia, the Middle East, and other markets, where it is sold as the Teramont. In October 2019, the Atlas Cross Sport began production. The Atlas Cross Sport is also exported to Mexico, where it is sold as the Teramont Cross Sport. In December 2021, the Passat ended production in Chattanooga. The last Passat to come off the line was a 2022 Passat Limited Edition in Platinum Grey. On July 26, 2022, the ID.4 began production in Chattanooga. This is the first electric VW to be made in the US. <br> Past models: VW Passat 2012-2022 |- |L, 0, 9 |[[w:BMW in the United States|BMW Manufacturing Corp. Plant Spartanburg]] |[[w:Greer, South Carolina|Greer, South Carolina]] |1994 |BMW X5 2000-, X6 2008-,<br> X3 2011-,<br> X7 2019-, Alpina XB7 2021-2026,<br> XM 2023- |This was BMW’s first full assembly plant (not assembling from knock-down kits) outside of Germany. Production began on September 8, 1994 with the 318i sedan.<br> Z3 roadster production began on September 20, 1995. BMW ended 3-series sedan production at Spartanburg in 1996 to focus on production of the Z3, which was not made anywhere else in the world. In January 1997, the first US-built BMW M model was built with the Z3-based M Roadster. In January 1998, the Z3 coupe began production along with its M version, the M Coupe.<br> On September 1, 1999, SUV production began at Spartanburg with the X5, BMW's first SUV. The last Z3, a roadster, was built on June 28, 2002. On October 22, 2002, the Z4 roadster began production. On January 8, 2006, the Z4 M Roadster began production. On April 4, 2006, the Z4 coupe began production along with its <br> M version, the Z4 M Coupe. On September 22, 2006, the final 1st gen. X5 was built. On September 28, 2006, the 2nd gen. X5 began production. On December 3, 2007, the X6 began production. On August 28, 2008, the final 1st gen. Z4, a roadster, was built at Spartanburg. The 2nd gen. Z4 was built in Regensburg, Germany. On September 1, 2010, the X3 began production at Spartanburg with the 2nd gen. (the 1st gen. was imported from Austria). On August 1, 2013, the 3rd gen. X5 began production. On April 1, 2014, X4 production began. On August 1, 2014, the 2nd gen. X6 began production. On December 1, 2014, the first X5 M and <br> X6 M began production, the first M SUVs. In December 2018, the X7 began production. In April 2019, the first <br> X3 M and X4 M began production. On December 1, 2022, production of the XM began. A stamping plant was added in 2024. BMW has expanded the plant 7 times and Spartanburg is now BMW's largest plant in the world. BMW has produced over 7 million vehicles at Spartanburg.<br> Past models:<br> BMW 3-Series sedan 1995-1996 (318i '95-'96, 328i '96),<br> Z3 1996-2002, Z4 2003-2008, X4 2015-2025 |- |A, B, U (when VIN begins with 4JG or 55S) |[[w:Mercedes-Benz U.S. International|Mercedes-Benz U.S. International]] [MBUSI] |[[w:Vance, Alabama|Vance, Alabama]] |1997 |Mercedes-Benz GLE-Class wagon 2016-, GLE-Class Coupe 2016-2019, 2021-,<br> GLS-Class 2017-, EQE-Class SUV 2023-,<br> EQS-Class SUV 2023- |In February 1997, production began with the M-Class ML320. In 2005, production of the R-Class began. In 2006, production of the GL-Class began. The R-Class was discontinued in North America after 2012 and in Europe and most other markets after 2013 but it was still sold in China. In June 2014, passenger car production began at Vance for the first time with the C-Class sedan. In late July 2015, the R-Class ended production in AL and was moved to AM General's Commercial plant in Mishawaka, IN for export to China. R-Class production began at the AM General plant on August 11, 2015.<br> R-Class production ended at the AM General plant in September 2017. In April 2015, production began of the GLE-Class Coupe. For 2016, the M-Class was renamed GLE-Class. For 2017, the GL-Class was renamed GLS-Class. In 2020, Vance ended production of the C-Class sedan. In September 2020, Vance began production of the Mercedes-Maybach GLS 600, the first time an ultra-luxury Maybach model was made in the US. In August 2022, EV production began with the EQS-Class SUV. In December 2022, production of the EQE-Class SUV began. In 2023, production of the first electric Maybach began with the Mercedes-Maybach EQS680 SUV. Mercedes has produced over 5 million vehicles at Vance. <br> Past models: Mercedes-Benz M-Class 1998-2015,<br> R-Class 2006-2015, GL-Class 2007-2016,<br> C-Class sedan 2015-2020 |- |T |Mercedes-Benz Vans Charleston |[[w:Ladson, South Carolina|Ladson, South Carolina]] |2018 (start of CKD assembly) |Mercedes-Benz Sprinter 2019-,<br> eSprinter 2024- |This plant was originally opened by Western Star to build heavy trucks in 1999, which is before Western Star was taken over by Daimler. After the Daimler takeover in 2000, Daimler/Freightliner transferred the plant to their fire truck brand American LaFrance. When American LaFrance was sold off in 2005, Daimler/Freightliner kept the Ladson plant. However, American LaFrance was allowed to continue to use the plant until early 2007. The Ladson plant was then converted to assemble Sprinter vans, which were moved to Ladson from the Freightliner Custom Chassis plant in Gaffney, SC that had been assembling Sprinter vans from 2001-2006. The 2007-2018 Freightliner Sprinter, 2007-2009 Dodge Sprinter, 2010-2018 Mercedes Sprinter, and the 2016-2023 Mercedes Metris were assembled at this plant from imported SKD kits but their VINs did not reflect that. As such, their plant codes referred to plants in other countries where the knock-down kits came from such as Germany (Sprinter) or Spain (Metris). For the '19 Sprinter, the plant was upgraded and enlarged to do more of the assembly work than before (CKD instead of only SKD). A body shop and a paint shop were added and the final assembly area was expanded. <br> Past models: Freightliner Sprinter 2019-2021 |- |G |[[w:List of Volvo Car production plants|Volvo Car US Operations ]](VCCH=Volvo Car Charleston Plant) |[[w:Ridgeville, South Carolina|Ridgeville, South Carolina]] |2018 |Volvo EX90 2025-, Polestar 3 2025-, Volvo XC60 2027- |Began production in August 2018 with the S60 sedan. On June 5, 2024, EX90 production began. S60 production ended in late June 2024. On August 14, 2024, Volvo's US plant began producing the Polestar 3.<br> Past models: Volvo S60 2019-2025 |} Note: PHEV=Plug-in hybrid, rhd=right-hand drive, CKD=complete knock-down kit, SKD=semi knock-down kit ==Former US production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/state !style="width:10px;"|Opened/Closed ! style="width:260px;"|Products Built ! style="width:370px;" class="unsortable"|Comments |- |Z |[[w:NUMMI|NUMMI]] |[[w:Fremont, California|Fremont, California]] |1984/2010 |Toyota Corolla FX/FX16 3-d (1987-1988) (E80), <br> Toyota Corolla sedan (1989-2010) (E90/E100/E110/E130/E140),<br> Toyota Pickup (1992-1995),<br> Toyota Tacoma (1995-2010),<br> Toyota Voltz (For export: '02-'04),<br> Chevrolet Nova (1985-1988),<br> Geo Prizm (1989-1997),<br> Chevrolet Prizm (1998-2002),<br> Pontiac Vibe (2003-2010) |Operated from 1963-1982 as a GM factory. From 1984-2010, operated as New United Motor Manufacturing Inc. (NUMMI), which was a 50/50 joint venture between GM and Toyota and assembled both GM and Toyota vehicles. First vehicle produced was a yellow Chevrolet Nova in December 1984. First Toyota produced was a Corolla FX16 3-d hatchback in September 1986. This was followed by the Corolla FX 3-d hatchback in February 1987. Nova and Corolla FX production ended in September 1988. That same month, NUMMI began producing the Toyota Corolla 4-door sedan. Geo Prizm production began in November 1988. In August 1991, Toyota pickup production began with the Regular Cab 4x2. The 4x4 followed in February 1992 ant the Xtracab followed in March 1993. Tacoma pickup production began in January 1995, replacing the previous unnamed Toyota pickup model. Prizm production ended in December 2001. In January 2002, Pontiac Vibe production began. In June 2002, production began of the Toyota Voltz, a rhd version of the Pontiac Vibe built for export to Japan. In February 2004, Toyota Voltz production ended. In September 2004, the 2nd generation Tacoma pickup began production. Pontiac Vibe production ended on August 17, 2009, ending GM production at Fremont. Tacoma pickup production ended March 26, 2010. The last vehicle built at NUMMI, a red Corolla sedan, was built April 1, 2010. NUMMI produced 7.74 million vehicles (just under 5.7 million Toyota brand vehicles and a little more than 2.04 million GM brand vehicles). The plant was sold to Tesla in May 2010. Tesla only bought 210 of the total 370 acres owned by NUMMI. Tesla also bought $15 million worth of equipment and parts from the former NUMMI plant. Tesla took possession of the plant in October 2010. Tesla began production at Fremont in June 2012 with the Model S. |- |5 |[[w:Flat Rock Assembly Plant|Mazda Motor Manufacturing USA/AutoAlliance International]] |[[w:Flat Rock, Michigan|Flat Rock, Michigan]] |1987/2012 (Year of Mazda withdrawal from plant and end of Mazda production) |Mazda MX-6 (1988-1997),<br> 626 (1990-2002), Mazda 6 (2003-2013), Ford Probe (1989-1997),<br> Mercury Cougar (1999-2002),<br> Ford Cougar (For export: 1999-2002),<br> Ford Mustang (Gen 5) (2005-2014) |Built at the site of the closed Ford Michigan Casting Center (1972-1981), which cast various parts for Ford including V8 engine blocks and heads for Ford 335, 385, & FE/FT series engines as well as transmission, axle, & steering gear housings and gear cases. Mazda bought the closed plant from Ford and converted it into a vehicle assembly plant. Reopened in 1987 as Mazda Motor Manufacturing USA, a Mazda subsidiary. First vehicle produced was an MX-6 on September 1, 1987. Ford Probe production began in 1988. Mazda 626 production began in 1989. On April 15, 1992, Ford bought 50% of the plant from Mazda, turning the plant into a 50/50 joint venture. Mazda Motor Manufacturing USA was then renamed AutoAlliance International on July 1, 1992. Mercury Cougar production began in 1998. The Mercury Cougar was also built for export markets such as Europe and Australia as the Ford Cougar. In 2002, production of the Mazda 6 began in order to replace the previous 626 while Mercury Cougar production ended on August 9. In September 2004, the Ford Mustang began production at the Flat Rock plant. On August 24, 2012, the last Mazda 6 was built in Flat Rock, thus ending Mazda production at the Flat Rock plant. On September 10, 2012, Ford renamed the plant Flat Rock Assembly Plant and Ford took full management control of the plant.[https://web.archive.org/web/20121112164832/http://media.ford.com/article_display.cfm?article_id=37067] Ford continues to operate the Flat Rock Assembly Plant and continues to build the Mustang there. Since Mazda ended production in Flat Rock, Ford also produced the 2014-2016 Ford Fusion and the 2017-2020 Lincoln Continental at the Flat Rock plant. |- |E |[[w:Diamond-Star Motors|Diamond-Star Motors/Mitsubishi Motors Manufacturing America/Mitsubishi Motors North America Manufacturing Division]] |[[w:Normal, Illinois|Normal, Illinois]] |1988/2015 (end of Mitsubishi production) |Mitsubishi Eclipse (1990-2012),<br> Mirage sedan (1991-1992),<br> Galant (1994-2012),<br> Endeavor (2004-2011),<br> Outlander Sport/RVR (2013-2015),<br> Plymouth Laser (1990-1994),<br> Eagle Talon (1990-1998),<br> Eagle Summit sedan (1991-1992), Chrysler Sebring Coupe (1995-2005), Dodge Avenger (1995-2000),<br> Dodge Stratus Coupe (2001-2005) |Originally established as Diamond-Star Motors, a 50/50 joint venture between Chrysler and Mitsubishi which assembled both Chrysler and Mitsubishi vehicles. Production began in September 1988. In October 1991, Chrysler sold its 50% stake in the plant to Mitsubishi but production for Chrysler continued under contract. On May 24, 1993, production of the Galant began at the Diamond-Star plant. In July 1995, the plant was renamed Mitsubishi Motors Manufacturing America. In January 2002, the plant was renamed Mitsubishi Motors North America Manufacturing Division. In January 2003, production of the Mitsubishi Endeavor began, the first SUV built at the Mitsubishi plant. In February 2005, production of vehicles for Chrysler ended. All further production was only of Mitsubishi-branded vehicles. In mid-2012, the plant began producing the Mitsubishi Outlander Sport. The Outlander Sport is sold as the RVR in Canada. On November 30, 2015, vehicle production ended. The Mitsubishi plant produced 3,283,549 vehicles. The plant continued to produce replacement parts until May 2016, when the plant closed completely. In June 2016, the plant was sold to liquidation firm Maynards Industries. In January 2017, EV startup Rivian Automotive bought the former Mitsubishi plant. Rivian began production at the Normal, IL plant in September 2021 with the R1T electric pickup. |- |V (1981-1989) |[[w:Volkswagen Westmoreland Assembly|Volkswagen Westmoreland Assembly]] |[[w:East Huntingdon Township, Westmoreland County, Pennsylvania|East Huntingdon Township, Westmoreland County, Pennsylvania]] |1978/1988 |VW Rabbit 1979-1984,<br> Rabbit GTI 1983-1984,<br> Rabbit Pickup 1980-1983,<br> Golf/GTI 1985-1989, Jetta 1987-1988 |First foreign-brand auto assembly plant in the US since before WWII. In 1968, Chrysler had announced construction of a new plant near New Stanton, PA. In 1969, Chrysler halted construction. Volkswagen bought the unfinished New Stanton plant from Chrysler in October 1976 and renamed it Westmoreland Assembly, after the county in which it was located. The plant was an empty shell so VW had to finish its construction. In April 1978, production of the gas-powered VW Rabbit hatchback began. The first car built was a white Rabbit 3-d hatchback. Diesel-powered models were added to the PA production line for 1980 as was the Rabbit Pickup in October 1979. For 1981, Canada began sourcing the Rabbit from the Westmoreland plant. Production of the Rabbit GTI was added in fall 1982 for the 1983 model year. Rabbit Pickup production ended in 1983. Rabbit production ended on June 15, 1984 and was replaced by the 2nd generation Golf, which began production on August 23, 1984. The 1 millionth vehicle was produced on November 14, 1985. Jetta production began on October 6, 1986. On September 21, 1987, Westmoreland began making its own Jetta bodyshells instead of sourcing them from Puebla, Mexico. In November 1987, VW announced plans to close the plant. On March 30, 1988, Jetta production ended. The last Jetta was a red 4-d sedan. VW production at Westmoreland ended on July 14, 1988. The last car built was a white 1989 Golf 3-d hatchback. A total of 1,197,411 vehicles were built. In 1994, its VIN ID code (plant code) was reassigned to the Palmela, Portugal plant. The Westmoreland production line and tooling were crated and shipped to FAW-VW in Changchun, China. The 2nd gen. Jetta started production in China in 1991 using production equipment and tooling from Westmoreland. From 1991 to 2012, over 3 million 2nd gen. Jettas were produced in China. Sony took over the Westmoreland plant in 1990 to manufacture televisions and picture tubes for TVs. Sony ended manufacturing at the plant in 2009 although repair and logistics operations continued through March 2010. Aquion Energy occupied the site from 2014-2017, making sodium-ion batteries. The property is now the RIDC (Regional Industrial Development Corp.) Westmoreland Innovation Center, a multi-use development occupied by multiple tenants including Siemens, Westmoreland County Community College’s Advanced Technology Center, Intervala, DNP IMS America, City Brewery, and Cenveo. PennSTART, a closed loop, state-of-the-art test track and research facility for emerging transportation technologies, autonomous technology companies, and traffic incident management training is also using part of the site. |} Note: rhd=right-hand drive ==Current Canadian production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/province !style="width:10px;"|Opened ! style="width:260px;"|Current Products ! style="width:370px;" class="unsortable"|Comments |- |C |[[w:Toyota Motor Manufacturing Canada|Toyota Motor Manufacturing Canada - Cambridge]] |[[w:Cambridge, Ontario|Cambridge, Ontario]] |1988 |Lexus RX 2004-, RX Hybrid 2015-,<br> Toyota RAV4 Hybrid 2026-,<br> Lexus NX (gas/hybrid) 2022- |Toyota's 1st assembly plant in Canada.<br> Has 2 assembly lines: the original South plant and <br> the North plant, which was added in 1997.<br> The South plant began production on November 30, 1988 with the Corolla sedan. Engine production at Cambridge began on October 2, 1995 with 1.6L (4A-FE) & 1.8L (7A-FE) 4-cylinder engines for the Corolla. On August 5, 1997, production begins at the North plant with the Corolla sedan, which moved over from the South plant. On June 29, 1998, the South plant begins production of the Camry Solara coupe. On February 21, 2000, the South plant begins production of the Camry Solara convertible. On January 3, 2002, the North plant begins production of the Matrix. On December 20, 2002, the South plant ends production of the Camry Solara, which is transferred to Georgetown, KY for its 2nd generation 2004 model. On September 26, 2003, the Lexus RX begins production at the South plant with the RX330. This makes Cambridge the first plant outside Japan to build a Lexus model. In December 2007, engine production at Cambridge ended and was moved to Buffalo, WV. On March 26, 2014, the South plant begins production of the Lexus RX Hybrid with the RX450h. On March 30, 2022, the North plant began production of the Lexus NX. This makes Cambridge the first plant outside Japan to build 2 Lexus models. <br> Past models: Toyota Corolla sedan 1989-2019,<br> Camry Solara 1999-2003,<br> Matrix 2003-2013 & 2014 in Canada,<br> RAV4 (gas-only) 2019-2025 |- |W |[[w:Toyota Motor Manufacturing Canada|Toyota Motor Manufacturing Canada - Woodstock]] |[[w:Woodstock, Ontario|Woodstock, Ontario]] |2008 |Toyota RAV4 Hybrid 2019- |On November 3, 2008, Woodstock, also known as the West plant, begins production with the RAV4. On May 22, 2012, the RAV4 EV, powered by a Tesla motor and Panasonic battery, begins production. The RAV4 EV ended production in August 2014. <br> Past models: Toyota RAV4 EV 2012-2014,<br> RAV4 (gas-only) 2009-2025 |- |H |[[w:Honda of Canada Manufacturing|Honda of Canada Manufacturing - Alliston Auto Plant]] |[[w:Alliston, Ontario|Alliston, Ontario]] |1986 |Honda Civic 4-d sedan 1996-,<br> Civic Si 4-d 2007-2015, 2017-2020, 2022-<br> Civic Hybrid sedan 2025-,<br> CR-V 2012-, CR-V Hybrid 2023- |The first Japanese automotive assembly plant in Canada. Plant 1 began production in November 3, 1986 with the Accord sedan. Accord production in Canada ended in 1988. Civic production began in 1988 with the 3-d hatchback. In 1992, the Civic 2-d coupe began production. Acura production began in 1996 with the Canada-only EL sedan. Plant 2 opened on September 30, 1998, building the 1999 Odyssey. The 2nd gen. Odyssey was also built for export to Japan with right-hand drive as the Honda LaGreat. In 2000, Plant 2 began production of the Acura MDX. The 1st gen. Acura MDX was also exported to Japan and Australia with right-hand drive as the Honda MDX. In 2002, Plant 2 began production of the Pilot. The 1st gen. Pilot was also exported to the Middle East as the Honda MR-V.<br> In 2004, Odyssey production ended at Alliston and was consolidated in Lincoln, AL. In 2005, Plant 2 began production of the Ridgeline. In 2005, the Acura EL ended production and was replaced with the CSX, also Canada-only. In 2007, Pilot production ended at Alliston and was consolidated in Lincoln, AL. In April 2007, Civic sedan production was added to Plant 2, the first time Plant 2 had ever built a passenger car. In 2008, an engine plant was added to the Alliston complex, making 4-cylinder engines for the Civic. In 2009, Ridgeline production ended at Alliston and was moved in Lincoln, AL. On December 16, 2009, Plant 2 began production of the Acura ZDX. In 2011, the CSX ended production. On January 23, 2012, Plant 2 began production of the CR-V. On March 28, 2013, the MDX ended production at Alliston and was moved in Lincoln, AL. The ZDX also ended production in 2013 and was discontinued. Civic sedan production at Plant 2 ended in 2015 with the 9th gen. Civic (the 10th gen. was only made at Plant 1). Plant 2 now focused solely on CR-V production. In 2022, Plant 2 began production of the CR-V Hybrid. In 2024, Plant 1 began production of the Civic Hybrid sedan. Over 10 million vehicles have been produced at Alliston. <br> Past models: Honda Accord 4-d sedan 1987-1988,<br> Civic 3-d hatchback 1988-2000,<br> Civic Si 3-d hatchback 1989-1995,<br> Civic 2-d coupe 1993-1995, 2006-2020,<br> Civic Si 2-d coupe 2006-2015, 2017-2020<br> Odyssey 1999-2004, Pilot 2003-2007,<br> Ridgeline 2006-2009,<br> Acura EL 1997-2005 (Canada only),<br> Acura CSX 2006-2011 (Canada only),<br> Acura MDX 2001-2013, ZDX 2010-2013,<br> Honda LaGreat (For export: 1999-2004),<br> Honda MDX (For export: 2003-2006),<br> Honda MR-V (For export: 2003-2005) |- |} ==Former Canadian production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/province !style="width:10px;"|Opened/Closed ! style="width:260px;"|Products Built ! style="width:370px;" class="unsortable"|Comments |- |6 |[[w:CAMI Automotive|CAMI Automotive]] |[[w:Ingersoll, Ontario|Ingersoll, Ontario]] |1989/2009 (end of Suzuki production & ownership of plant) |Suzuki Swift 1991, 1993-2001,<br> Suzuki Sidekick 1990-1998,<br> Suzuki Vitara 1999-2004,<br> Suzuki XL7 2007-2009,<br> Geo Metro 1990-1997,<br> Chevrolet Metro 1998-2001,<br> Pontiac Firefly (Canada only) <br> (1991, 1994-2001),<br> Geo Tracker 1990-1997,<br> Chevrolet Tracker 1998-2004,<br> Asuna Sunrunner (Canada only) (1992-1993), Pontiac Sunrunner (Canada only) (1994-1998),<br> Chevrolet Equinox 2005-2022,<br> Pontiac Torrent 2006-2009, <br> GMC Terrain 2010-2017 |Originally, a 50/50 joint venture between GM and Suzuki called CAMI Automotive, Inc. CAMI originally stood for Canadian Automotive Manufacturing Inc. Began production in April 1989 on the SUV line (Tracker) and in November 1989 on the car line (Metro). In the 1st gen., only Metro hatchbacks were made at CAMI. The convertible was always imported from Japan. Only the Suzuki Swift 3-d hatchback was made at CAMI; 1st gen. 5-d hatchbacks and 4-d sedans were all imported from Japan. 4-door versions of the Suzuki Sidekick began to be made at CAMI for 1994. In 1994, the 2nd gen. 1995 Geo Metro and its twin, the Suzuki Swift, began production at CAMI. For 1996, the Geo Tracker added a 4-door version, which was made by CAMI. The 1996-1998 Suzuki Sidekick Sport, which had a 1.8-liter engine and a slightly different appearance, was not built by CAMI. For 1998, GM eliminated Geo and the Geo Metro and Tracker became Chevrolet Metro and Tracker. In 1998, the 2nd gen. 1999 Chevrolet Tracker and its twin, the Suzuki Vitara, began production at CAMI. The Suzuki Grand Vitara was not built by CAMI. On April 26, 2001, CAMI ended car production as the Chevrolet Metro and Suzuki Swift ended production. After that, only SUVs were produced. On January 27, 2004, the Suzuki-developed Chevrolet Tracker and Suzuki Vitara ended production. On February 20, 2004, CAMI began production of the GM-developed Chevrolet Equinox. On August 2, 2005, CAMI began production of the Pontiac Torrent, a sister model of the 1st gen. Chevrolet Equinox. In August 2006, CAMI began production of the Suzuki XL7, based on the same GM Theta architecture as the Equinox & Torrent. This was the first Suzuki built at CAMI since the Vitara ended production in January 2004. In May 2009, CAMI ended production of the 1st gen. Chevrolet Equinox and the Pontiac Torrent. On May 25, 2009, CAMI began production of the 2nd gen. Chevrolet Equinox followed by its new sister model, the GMC Terrain, on August 10. In May 2009, Suzuki produced its last vehicle at the CAMI plant, an XL7. In December 2009, GM bought Suzuki's share of the plant. In 2011, the sale of Suzuki's half of CAMI to GM was completed and CAMI Automotive, Inc. was renamed GM CAMI Assembly. Since 2011, GM has continued to operate the CAMI plant as a 100% owned factory. Since Suzuki ended production at CAMI, GM continued to produce the GMC Terrain through July 2017 and the Chevy Equinox through April 28, 2022 at the CAMI plant. The 3rd gen. Chevy Equinox began production on January 9, 2017 alongside production of the 2nd gen. Equinox and 1st gen. Terrain, both of which ended production in July 2017. Both the Equinox and Terrain have since been moved to Mexico and since December 5, 2022, CAMI has produced BrightDrop electric delivery vans for GM. |- |B |Hyundai Auto Canada |[[w:Bromont, Quebec|Bromont, Quebec]] |1989/1993 |Hyundai Sonata 1990-1994 |Hyundai's first plant in North America. A deal with Chrysler to supply a rebadged Sonata from Bromont to sell under the Eagle brand was cancelled before it ever started. Launched production in February 1989. Stamping plant added in November 1990. Ended production in September 1993. A plan to switch production to the Elantra never got off the ground. A wheel plant, in Newmarket, Ontario also closed at the same time. Hyundai later sold the Bromont plant site. In 1996, some of the production equipment from Bromont was shipped to Hyundai's then-new plant in India near Chennai and helped to launch the Indian plant. |- |3 (in pos. 7 of VIN 1975-1980 <br> & <br> pos. 11 of VIN <br> 1981-on),<br><br> 8 (in pos. 7 of VIN 1967-1974 140 series) |[[w:Volvo Halifax Assembly|Volvo Halifax Assembly]] |[[w:Halifax, Nova Scotia|Halifax, Nova Scotia]] |1967/1987 |Volvo 140 series 1968-1974,<br> 240 series 1975-1988 |Located on Pier 9 in Halifax. Replaced a previous plant located in Dartmouth, Nova Scotia. The Dartmouth plant was Volvo's 1st plant in Canada, Volvo's first wholly owned plant outside Sweden, and the first non-North American owned automobile assembly plant in North America since before World War II. The Dartmouth plant was leased from Atlantic Sugar Refineries and was a converted former sugar refinery. The Dartmouth plant opened in June 1963 and first built the Volvo "Amazon"<br> 122 S as the Volvo Canadian. Dartmouth later also built the Volvo "Amazon" 123 GT as the Volvo Canadian GT as well as some PV544 models. The Volvo Canadian, based on the 122 S, was built as a 2-d, 4-d, and a wagon. In 1967, production moved to the larger plant at Pier 9 in Halifax. The Pier 9 plant was officially opened on April 14th, 1967. The Pier 9 plant was Volvo's 2nd plant in Canada. Both plants assembled vehicles from complete knock-down (CKD) kits shipped from Sweden. Production ended in early October 1987 with the 1988 240 series. 240 production then ended in Canada and switched to imports while the Pier 9 plant was replaced by the new Bayers Lake plant, which opened in December 1987 to build the 740. |- |3 |[[w:Volvo Halifax Assembly|Volvo Halifax Assembly]]- Bayers Lake Assembly Plant |[[w:Halifax, Nova Scotia|Halifax, Nova Scotia]] |1987/1998 |Volvo 740 1988-1992, 940 1991-1995, 850 1996-1997, S70/V70 1998-1999 |Located in Bayers Lake Business Park in Halifax. Replaced a previous plant located on Pier 9 in Halifax. This was Volvo's 3rd plant in Canada. Plant assembled vehicles from complete knock-down (CKD) kits shipped from Sweden. Production began in late December 1987 with the 740. Production of the 940 began in 1990. 740 production ended in 1992 while 940 production ended in 1995. The plant was then converted to build the 850 for 1996. The 850 sedan and wagon were updated into the S70 sedan and V70 wagon for 1998. Production ended on December 18, 1998. Last vehicle produced was a 1999 S70. |- |} ==Current Mexican production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/state !style="width:10px;"|Opened ! style="width:260px;"|Current Products ! style="width:370px;" class="unsortable"|Comments |- |M |[[w:TMMBC|TMMBC]] |[[w:Tijuana|Tijuana]], [[w:Baja California|Baja California]] |2004 |Toyota Tacoma 2005- |In September 2004, began making truck beds for Tacoma pickups. In December 2004, began making Tacoma pickups. |- |T |[[w:TMMGT|TMMGT]] |[[w:Apaseo el Grande|Apaseo el Grande]], [[w:Guanajuato|Guanajuato]] |2019 |Toyota Tacoma 2020- |Began production in December 2019. |- |M |[[w:Honda de México|Honda de México- Celaya Automobile and Engine Plant]] |[[w:Celaya|Celaya]], [[w:Guanajuato|Guanajuato]] |2014 |Honda HR-V 2016-, Acura ADX 2025- |Celaya is Honda's second automobile plant in Mexico after the El Salto plant. Celaya also makes 4-cylinder engines for the models it builds. Engine production began in 2013 with the 1.5L I4 for the Fit. Celaya now makes the 2.0L engine for the 2nd gen. HR-V. A plant next door makes CVT transmissions since 2015. Celaya began vehicle production on February 22, 2014 with the Fit. HR-V began production in 2015. The Fit ended production in 2020 and was discontinued in North America. The Acura ADX began production in 2025 and is the first Acura built in Mexico. <br> Past models: Honda Fit 2015-2020 |- |L |Nissan Mexicana- A1 plant |[[w:Aguascalientes (city)|Aguascalientes city]], [[w:Aguascalientes|Aguascalientes state]] |1992 |Nissan March [K13] 2012- (N/A in US & Can.),<br> Versa [N19] 2026- (not sold in US & Canada),<br> Kicks [P16] 2025- |Began production on November 12, 1992. Located next to Nissan's engine plant in Aguascalientes, which began production in 1983. Nissan's newer A2 plant in Aguascalientes is located 4 miles away. Took over all North American Sentra production beginning with the 5th gen. 2000 model until the 7th gen. 2013 model. Began production of the Renault Clio on November 15, 2001. On March 4, 2002, began production of the Nissan Platina, a rebadged Renault Symbol. The Mexican market Tiida is the same as the US & Canadian first gen. Versa. Began production of the Nissan March for the Mexican market and export to Latin America in March 2011. The March was exported to Canada as the Micra for the 2015-2019 model years. The V-Drive is a continuation of the 2nd gen. Versa (N17) sold alongside the 3rd gen. Versa (N18). The Kicks Play is a continuation of the 1st gen. Kicks (P15) sold alongside the 2nd gen. Kicks (P16). The A1 plant has produced over 7.7 million vehicles. <br> Past models: Nissan Sentra 1994-2019,<br> Tsubame [Y10] 1993-2001 (not sold in US & Canada),<br> Platina 2002-2010 (not sold in US & Canada),<br> Tiida [C11] 2007-2011 (not sold in US & Canada),<br> V-Drive [N17] 2020-2024 (not sold in US & Canada), Versa [C11] 2007-2012, Versa [N17] 2012-2019,<br> Versa [N18] 2020-2025, Versa Note [E12] 2014-2019,<br> Micra [K13] 2015-2019 (Canada only),<br> Kicks [P15] 2018-2024, Kicks Play [P15] 2025,<br> Renault Clio 2002-2009 (not sold in US & Canada) |- |Y |Nissan Mexicana- A2 plant |[[w:Aguascalientes (city)|Aguascalientes city]], [[w:Aguascalientes|Aguascalientes state]] |2013 |Nissan Sentra 2014- |Began production on November 12, 2013. Located 4 miles away from Nissan's A1 plant in Aguascalientes. Took over all North American Sentra production beginning with the 8th gen. 2020 model. The A2 plant has produced over 1.8 million vehicles. |- |K |Nissan Mexicana- Cuernavaca plant |[[w:Civac|Civac]] (Ciudad Industrial del Valle de Cuernavaca), [[w:Jiutepec|Jiutepec city]], [[w:Morelos|Morelos state]] |1966 |Nissan NP300 [D23] 2016- (not sold in US & Canada),<br> Frontier [D23] 2021- (not sold in US & Canada),<br> Versa 2012- ,<br> |Nissan's first wholly owned plant outside Japan. Began production on May 12, 1966. Production of the 520 pickup, based on the 410-series Bluebird, began in 1967. Line 2 launched production in 1975 and makes pickup trucks, beginning with the 620. In 1978, an engine plant was added but this is no longer in operation. Exports began in 1972 with the 620 pickup. The NV200 van was built on Line 1, as was its twin, the Chevrolet City Express. The NV200, City Express, and some Versas ('12 5-d, '14 & '17-'18 4-d) were the only vehicles made at the Cuernavaca plant to be sold in the US. With the facelift for 2021, the NP300 became Regular Cab only while the NP300 Frontier, renamed as Frontier, became Double Cab (a.k.a. Crew Cab) only. Cuernavaca has built over 6.5 million vehicles. Cuernavaca is slated to close by March 2026.<br> Past models: Datsun Bluebird (410/510), 160J (710), 160J/180J/Samurai (A10), 520 pickup, 620 pickup, Datsun/Nissan 720 pickup (1980-1992),<br> Nissan Tsuru [B11] (1984-1987), Tsuru II [B12] (1988-1991), Tsuru [B13] (1992-2017), Tsuru Samurai [B11] (1985-1987), Ninja Turbo [B11] (1987), Hikari [B12] (1988-1992), Sentra Classic [B12] (Canada: 1991-1993),<br> Lucino [B14] 1996-2000, Tiida [C11] (2007-2018),<br> V-Drive [N17] 2020-2025 (not sold in US & Canada),<br> Tsubame [Y10] 1993-2001, Pickup [D21] (1993-2008),<br> NP300/NP300 Frontier [D22] (2008-2015),<br> NP300 Frontier [D23] (2016-2020), Ichi Van [C120] (1987-1994), NV200 [M20] (2013-2021), Chevrolet <br> City Express (2015-2018), Renault Scenic (2001-2004), Renault Alaskan (only for export) (2017-2020) |- |F (Infiniti),<br> W (Mercedes) |[[w:Cooperation Manufacturing Plant Aguascalientes|COMPAS]] |[[w:Aguascalientes (city)|Aguascalientes city]], [[w:Aguascalientes|Aguascalientes state]] |2017 |Infiniti QX50 2019-2025, Infiniti QX55 2022-2025, Mercedes-Benz GLB-Class 2020-2026 |COMPAS is a 50/50 joint venture between Nissan and Daimler AG (renamed Mercedes-Benz Group in February 2022). The COMPAS plant is part of the same complex as the A2 plant and is at the southern end of the property. The joint venture was formed to build both Infiniti and Mercedes-Benz models. Infiniti production began in November 2017 with the QX50. Mercedes production began in September 2018 with the A-Class sedan. This was followed by the GLB-Class in 2019. In 2020, Mercedes ended A-Class production at COMPAS and shifted its production back to Germany. The QX50 was joined by the QX55 in 2021. Infiniti production ended in November 2025. Mercedes production will end in May 2026. The plant will then close. <br> Past models: Mercedes-Benz A-Class sedan 2019-2020 |- |M (Mazda),<br> Y (Toyota) |[[w:List_of_Mazda_facilities#Production_plants|Mazda de Mexico Vehicle Operation]] (MMVO) |[[w:Salamanca, Guanajuato|Salamanca]], [[w:Guanajuato|Guanajuato]] |2014 |Mazda 3 2014-,<br> Mazda 2 2015- (not sold in US & Can.),<br> CX-30 2020-,<br> CX-3 2023- (not sold in US & Canada) |Mazda de Mexico Vehicle Operation was originally a 70/30 joint venture between Mazda and Sumitomo Corp. In March 2017, Mazda increased its share to 75%, which reduced Sumitomo to 25%. On November 30, 2020, Mazda agreed to buy out Sumitomo and, effective at the end of March 2021, MMVO became 100% owned by Mazda. Began production on January 7, 2014 with the Mazda 3. In October 2014, began production of the Mazda 2 hatchback. The sedan version of the Mazda 2 was added in 2018 for the Mexican 2019 model year. Production for Toyota began in June 2015 and ended in 2020. MMVO built both 4-d & 5-d versions of the 3rd gen. Mazda3 but only builds 4-d versions of the 4th gen. Mazda 3 because the 4th gen. 5-d was moved to Japan to make room for the CX-30. In September 2019, CX-30 production began. In October 2022, CX-3 production began. MMVO also produces engines onsite (SKYACTIV-G 1.5, SKYACTIV-G 2.0, and <br> SKYACTIV-G 2.5). Engine machining began on <br> October 21, 2014. In 2020, vehicle production <br> surpassed 1 million units. <br> Past models:<br> US market: Scion iA 2016, Toyota Yaris iA 2017-2018, Yaris sedan 2019-2020, Yaris hatchback 2020.<br> Canadian market: Toyota Yaris sedan 2016-2020,<br> Yaris hatchback 2020.<br> Mexican market: Toyota Yaris R 2016-2020. |- |E |[[w:List of Kia design and manufacturing facilities#Monterrey Plant (KMMX)|Kia Motors Manufacturing Mexico]] [KMMX] |[[w:Pesquería|Pesquería]], [[w:Nuevo León|Nuevo León]] |2016 |Kia K3 2024- (not sold in US & Can.),<br> K4 4-d 2025-, K4 5-d 2026-,<br> Hyundai Tucson 2025- |In May 2016, began production of the Kia Forte. In January 2017, added production of the Kia Rio followed later in the year by the Hyundai Accent. The Accent ended production at KMMX in 2022 and was discontinued in North America. The Kia Rio was discontinued in the US and Canada after 2023 but in Mexico, it was replaced by the K3 for 2024. The Kia Forte was replaced by the K4 for 2025. In August 2024, production of the Hyundai Tucson was added for export to the US. Mexican-built Tucsons are not sold in Mexico as Mexico sources the swb version of the Tucson from the Czech Republic for sale in Mexico, while the version built in Mexico is the lwb version of the Tucson sold in the US and Canada. Due to new US tariffs on imports, Hyundai shifted US-market Tucson production from Mexico to HMMA in the US and moved Canadian-market Tucson production from HMMA to Mexico in April 2025. KMMX has produced over 2 million vehicles. <br> Past models: Kia Forte 4-d 2017-2024, Forte5 2017-18, Rio 2018-2023, Hyundai Accent 2018-2022 |- |M |[[w:Volkswagen de México|Volkswagen de México - Puebla plant]] |[[w:Puebla (city)|Puebla (city)]], [[w:Puebla|Puebla state]] |1967 |VW Jetta (Mexico: 1987-, US: 1989-),<br> Tiguan 2018-, Taos 2022- |Began production on October 23, 1967 with the Beetle, known in Mexico as the VW Sedan. VW exported the Beetle to Europe from 1978-1985. On May 15, 1981, the 20 millionth Beetle rolled off the assembly line in Puebla. On June 23, 1992, the 21 millionth Beetle rolled off the line in Puebla. In October 1970, began production of the Combi (T2 Microbus). From 1973, the cargo van version called the Volkswagen Panel was added. In 1988, a luxury variant, the Volkswagen Caravelle, was added. T2 production finally ended in Mexico in 1994. In November 1970, began production of the Safari (Type 181). On March 7, 1973, exports of the Safari to the US began. In The US, the VW Safari were sold as the VW Thing from 1973-1974. These were the first Mexican-built vehicles to be sold in the US. Safari production continued through 1980, though military-spec Type 181 production continued through 1983. In 1974, began production of the Brasilia, an air-cooled, rear-engine 3-d hatchback developed by VW do Brazil. The Brasilia ended production in 1982. In 1976, began production of the VW Hormiga, a small, fwd, light-duty flatbed truck. Production ended in 1978. In 1977, began production of the 1st gen. Golf, sold as the VW Caribe in Mexico. In April 1981, began production of the 1st gen. Jetta, sold as the VW Atlantic in Mexico. Puebla also started making water-cooled engines in April 1981. In December 1984, began production of the B2 Passat, sold as the VW Corsar in Mexico. The Corsar ended production in 1988. The 2nd gen. Golf and Jetta were sold in Mexico under their global names and launched in 1987 with the Golf beginning production in March 1987 and the Jetta in May 1987. In October 1988, VW began producing the Golf and Jetta for export to the US and Canada for the 1989 model year, marking Puebla's first exports to the US since 1974. In the first half of 1995, Puebla began production of the Derby and the Cabrio, the convertible version of the 3rd gen. Golf. Derby ended production in Puebla in 1997 while the Cabrio ended production in Puebla in 2002 and was replaced by the New Beetle convertible for 2003. On October 1, 1997, began production of the New Beetle, which was produced exclusively in Puebla for global markets. Puebla stopped producing the Golf in 1999 in order to make more room for New Beetle production. Golfs began to be imported from Brazil for 2000. On July 30, 2003, production of the classic Beetle (Sedan) finally ended in Puebla, the last factory in the world to still build the original Beetle. In July 2010, production of the New Beetle ended. In July 2011, production of the 3rd gen. Beetle began in Puebla, again the only production site in the world for this model. On July 10, 2019, production of the 3rd gen. Beetle ended. The 5th gen. Jetta was sold in Mexico as the Bora. Beginning with the 5th generation, the Jetta was no longer produced in Europe and Puebla became the main production site. The wagon variant of the 5th gen. Golf/Jetta was only built in Puebla, beginning in the 1st half of 2007. What is sometimes referred to as the 6th gen. Golf/Jetta wagon is actually a facelifted 5th gen. made to look similar to the 6th gen. and it was still only built in Puebla. On January 14, 2014, production began of the 7th gen. Golf. The 7th gen. Golf wagon was again only made in Puebla. The 2nd gen. Tiguan began production in 2017, in LWB form. The LWB version, known in Europe as Tiguan Allspace, is produced in Puebla for all markets except China. The Taos began production in October 2020, replacing the Golf on Puebla's assembly lines. The 3rd gen. Tiguan began production in December 2024. In 2004, Brazilian-developed VW commercial trucks and buses began to be assembled in Puebla in a small warehouse next to the main plant. The VW Worker truck and Volksbus bus chassis were assembled. In 2010, VW truck and bus production moved to a MAN plant in Queretaro. Puebla has built over 14 million vehicles. <br> Past models: VW Beetle (Sedan) (Mexico: 1968-2003, Europe: 1978-1985), Combi (Mexico: 1971-1994),<br> Safari (Mexico: 1971-1980), Thing (US: 1973-1974), Brasilia (Mexico: 1975-82), Hormiga (Mexico: 1976-78), Caribe (Mexico: 1977-1987), Atlantic (Mexico: 1981-87), Corsar (Mexico: 1985-1988), Golf Mk2/3 (Mexico: 1987-1999, US: 1989-1999), Golf Mk7 (US: 2015-2021), Derby (Mexico: 1995-1997), Cabrio (US: 1996-2002), New Beetle 1998-2010, Beetle (Mk3) 2012-2019, Jetta Sportwagen (US: 2009-2014), Golf Sportwagen (US: 2015-2019), Golf Alltrack (US: 2017-2019), Golf Variant (Europe: 2007-2020), City Jetta (Canada: 2007-2009), Clasico (Mexico: 2011-2015), Bora (Mexico: 2006-2010), Tiguan Allspace (Europe: 2018-2024),<br> Worker, Volksbus (Mexico: 2004-2010) |- |2 |Audi Mexico |[[w:San José Chiapa|San José Chiapa]], [[w:Puebla|Puebla state]] |2016 |Audi Q5/SQ5 2018-, <br> Audi Q5/SQ5 Sportback 2021- |Audi's first plant in North America. The plant is 1.5 miles above sea level and is about 43 miles away from sister brand VW's plant in Puebla city. On September 30, 2016, Audi Mexico began production with the 2nd generation Q5 for the 2018 model year. On February 8, 2020, Audi Mexico began production of the Q5 Sportback. In November 2024, Audi Mexico began production of the 3rd generation 2025 Q5. Audi Mexico has produced over 1 million vehicles. |- |8 |BMW SLP |[[w:San Luis Potosí (city)|San Luis Potosí (city)]], [[w:San Luis Potosí|San Luis Potosí state]] |2019 |BMW 3-series sedan 2019- <br> (330i '19-, 330i xDrive '19-, M340i 2020-, M340i xDrive 2021-, 330e 2021-2024, 330e xDrive 2021-2024),<br> 2-series coupe 2022-, M2 2023- |Began production in April 2019 with the 3-series sedan. In August 2020, added production of the 330e plug-in hybrid for the 2021 model year. Beginning with the 2023 model year, the US market started sourcing all 3-series sedans except for the M3 from Mexico. In September 2021, added production of the 2-series coupe. In December 2022, added production of the M2 coupe, the first BMW M model made in Mexico. The G42 2-series coupe & G87 M2 coupe are made exclusively in Mexico for all markets. |- |} ==Former Mexican production facilities== {| class="wikitable sortable" ! style="width:60px;"|VIN ! style="width:100px;"|Name ! style="width:80px;"|City/state !style="width:10px;"|Opened/Closed ! style="width:260px;"|Products Built ! style="width:370px;" class="unsortable"|Comments |- |G |[[w:Honda de México|Honda de Mexico - El Salto Automobile Plant]] |[[w:El Salto, Jalisco|El Salto, Jalisco]] |1995/2020 (end of Honda automobile production) |Honda Accord 1996-2007,<br> CR-V 2008-2016, HR-V 2017-2020 |Automobile plant was added next to a Honda Motorcycle plant, which began production in March 1988. Automobile production began in November 1995 with the Accord. In fall 2007, production switched to the CR-V. In 2017, CR-V production ended at El Salto and was transferred to Greensburg, IN while El Salto switched to producing the HR-V, supplementing production at the newer Celaya plant. In 2020, HR-V production ended at <br> El Salto and was consolidated at the Celaya plant. This was the end of automobile production at <br> El Salto, which since then has made service parts for older model vehicles as well as motorcycles and water pumps. Power Products production began in December 2015. |- |} {{BookCat}} ow0sbm3x1buesvudyb4ph1e4cvmlpgy FORTRAN program for calculating representative parameters and operating conditions of AC overhead transmission lines 0 481983 4635232 4635212 2026-05-11T12:26:25Z Jon Peli Oleaga 2328922 4635232 wikitext text/x-wiki {{rfd}} Software is currently used to study the operation of electric power transmission lines. As an example, this article presents a program developed in the late 1970s to analyze the electrical behaviour of power lines. The program was used for about a decade in the second half of the 20th century by the European electric utility Iberduero, based in Bilbao (Basque Country). Written by the author of this article, who was also its only user, it ceased to be used when he left the transmission power line department during a company restructuring. Several years after his retirement, he was the only person aware of its existence, capabilities, and accuracy. Although the program is now obsolete, it can still be used to calculate line parameters, the electric and magnetic fields produced by the line, and the voltage and current imbalances generated under different operating conditions. It can also be used to study overvoltages caused by ferroresonance when one circuit of a double-circuit line is de-energized while connected to a shunt reactor at one end. The resulting overvoltages are not calculated with high accuracy, but the program allows identification of the reactance values for which they may occur. The program is written in the FORTRAN programming language, which was commonly used for technical calculations at the time. Although minor modifications have been made to allow it to run on more recent computers and compilers, the source code largely retains the structure of the original version Initially the software consisted of two separate programs: EREMU, mainly intended to calculate the electric and magnetic fields produced by AC overhead power lines, and PARLI, used to calculate their principal parameters and representative operating conditions. These programs were later merged into a single program in a way that preserved compatibility with the previously used input data files. This origin is still evident in the source code. The electric and magnetic field calculations are performed in accordance with the methods described in ''Transmission Line Reference Book: 345 kV and Above'' (TLRB)<ref name="TLRB345kV">{{cite book|last1=Chaston|first1=A.N.|last2=LaForest|first2=J.J.|last3=Ramirez|first3=A.R.|last4=and|first4=others|url=https://books.google.es/books/about/Transmission_line_reference_book_345_KV.html?id=17MsAQAAIAAJ&redir_esc=y |title=Transmission Line Reference Book 345 kV and Above|year=1975|edition=1st|pages=393}}</ref>, published by the Electric Power Research Institute in 1975, and ''L’Effet de Couronne en Tension Alternative'' (ECTA)<ref name="ECTA-EDF">{{cite book|last1=Gary|first1=Claude|last2=Moreau|first2=Marcel|title=L’Effet de Couronne en Tension Alternative|edition=1st|year=1977|url=https://www.eyrolles.com/BTP/Livre/l-effet-de-couronne-en-tension-alternative-9782212015539/ |publisher=Eyrolles|pages=464}}</ref>, published by Eyrolles in 1976 as part of the ''Collection de la Direction des Études et Recherches d’Électricité de France''. Calculations of other line parameters, including series impedances, shunt admittances, ABCD parameters, noise profiles, and imbalances under operating conditions, are also carried out following the procedures described in the TLRB. The analysis of resonant overvoltages is performed by means of successive imbalance calculations with different shunt reactors connected at one end, the other end, or both ends of the line. The complete program is provided so that interested users can copy it and run it using a free FORTRAN compiler. One suitable compiler is available from the Silverfrost website, which provides a free version for private use. Using the FTN95 Personal Edition compiler, the program can be compiled and executed without modification. == Input data for running the program == As was common in files of that period, the input data are written in lines with a maximum length of 80 characters. Although minor changes have been made to improve the documentation of the program, it is still not fully documented and no detailed instructions for its use are available. In addition, the method of entering input data may not be entirely clear. To assist anyone wishing to run the program, this section provides the data used to generate the results presented in this Wikibook. To run the program initially, copy this data into a file. Some of the input data may appear unusual, but they were chosen to illustrate how the data are entered rather than to represent realistic cases. The first two cases are intended to illustrate how the results of the program for the electric and magnetic fields should be interpreted at any location near a power line. The third case presents some of the line parameters used in the calculation of the electric and magnetic fields and shows that the values of the potential gradients (electric fields) at the conductor surface, as calculated by the program for single-circuit lines, are consistent with those given in Figure 3.2.8 of the TLRB. The fourth and fifth cases show that the values of the potential gradients (electric fields) at the conductor surface, as calculated by the program for double-circuit lines, are consistent with those given in Figures 3.2.24 and 3.2.25 of the TLRB. In these cases, in addition to the conductor surface gradients used for comparison with the aforementioned figures, the electric and magnetic fields at other locations near the lines are also calculated. This makes it possible to observe the significant influence of the phase arrangement of the second circuit relative to that of the first circuit on the electric and magnetic fields in the surrounding space. The sixth case compares the acoustic noise profile calculated by the program with the values presented in Chapter 6 of the TLRB. <div style="font-size:60%"> <source lang="text"> ESPLA-N FITXATEGIEN HASIERAN SARTUTAKO HIRU AZALPEN-LERROEN EREDUA. 2026-02-08 The program does not read the comments on the right. LERRO HAUEK FITXATEGIEN EDUKIA IDENTIFIKATZEKO ERABILTEN DIRA, They are only useful for showing how to enter data. PROGRAMA LAGUNTZAILEAK ERABILIZ. (DATA FOR TESTING THE LIPARE PROGRAM) 496890862 0 0 2 371935712 Default language in column 25 (1=>Basque or 2=>English) ***EREMU ***EREMU => calculate fields 800.EPRI Tansmission line ref.book 345kV & above,pag.47,52 80001320002026.03.08 5 0. 0.00 0 0 0 0 0 -10.002.00 22 0.002.00 0 5 conductors, (0. 0. not used im EREMU), 1 0 1 1 0 output (SEE PROGRAM) 1.2300 1.5000 4 .4572 0 -14.00 18.50 18.50 0.200 1.00-120.0 800.0-120.0 cm cm kop m zerden1 m m m ohm/km zerden2 / kA gr kV gr 1.2300 1.5000 4 .4572 0 .00 18.50 18.50 0.200 1.00 .0 800.0 0.0 zerden1 0=>previous value dist.between cond.1=>prev.val.bundle diameter 12300 15000 4 4572 0 14000 18500 18500 0.200 1.00 12000 800000 12000 IN THIS LINE other way to insert similar data to data en previous lines 0.6000 0.8000 1 0 -11.05 30.70 30.70 0.500 ohm/m and zerden2 are not necesary in EREMU 6000 8000 1 0 11050 30700 30700 0.500 IN THIS LINE other way to insert data that allows more accurate figures. ***PARLI 765.TWO CIRCUIT E62SB LINE, ABC ABC Super Bundle, 1-456456 62100765202014-06-27 0 2 2 1 50. 0. def.lang., 2 tasks, 2 circuits, MERGE CIRCUITS ,Frecuency 1 80003 300. 75. 0000 -7.621.27 22 0.003.81 71HA CX-XXX 13700 17590 4 4572 -7750 25240 25240 0.200 4 4000-12000 765000-12000 zirkuituak paraleloan jartzen dira 13700 17590 4 4572 -12750 20240 20240 0.200 5 4000 000 765000 000 eta zirkuitu konposatuari dagozkion 13700 17590 4 4572 -7750 15240 15240 0.200 6 4000 12000 765000 12000 aldaezin generalizatuak kalkulatzen dira 13700 17590 4 4572 7750 25240 25240 0.200 4 4000-12000 765000-12000 13700 17590 4 4572 12750 20240 20240 0.200 5 4000 000 765000 000 BAINA 13700 17590 4 4572 7750 15240 15240 0.200 6 4000 12000 765000 12000 06000 08000 1 -10000 35000 35000 0.500 06000 08000 1 10000 35000 35000 0.500 0 1 750.-120. 750. 120. 750. 0. 200. .2 3 200. .2 3 200. .2 3 Zirkuitu konposatuaren aldaezinak lortu eta gero 2 750.-120. 750. 120. 750. 0. 200. .2 3 200. .2 3 200. .2 3 ezin dira aztertu linearen egoerak These two final lines are required if the final calculation is of type "***PARLI". </source></div> == Electric and magnetic fields == === Calculations === ==== Electric field on the surface of conductors ==== The electric field on the surface of conductors is calculated as señaled on pages 7 to 15 of ECTA<ref name="ECTA-EDF"/> and 109 to 111 of TLRF<ref name="TLRB345kV"/>. Taking into acount that the ground surface can be considered an equipotential surface at zero potential, if the ground surface is represented as a plane (flat surface) at zero potential, the potential at any point above that surface created by the electric charges in <math>n</math> conductors is calculated considering these <math>n</math> charges and other <math>n</math> opposite charges situadeted simetricaly to the original ones with respect to the ground plane; as shown in the figure F1. With that disposition the potential of an uncharged condutor <math>j </math> dew to the charge of the conductor <math>i</math> would be: <math>V_{ji} = {-\frac{q_i}{2\pi\epsilon_0}}\ln{D_{ji}} - {\frac{-q_i}{2\pi\epsilon_0}}\ln{D'_{ji}} = {\frac{q_i}{2\pi\epsilon_0}}\ln\frac{D'_{ji}}{D_{ji}}</math> At the surface of the <math>i</math> conductor of radius <math>r_i</math> and placed at an height <math>h_i</math> above the gound, taking into acount that <math>2h_i >> r_i</math>, would be: <math>V_{ii} = {\frac{q_i}{2\pi\epsilon_0}}\ln\frac{2h_i}{r_i}</math> where: <math>q_i</math> = uniform linear charge density of <math>i</math> conductor. <math>h_i</math> = <math>i</math> conductor height. <math>r_i </math> = <math>i</math> conductor radius. <math>D'_{ji}</math> = direct distance from conductor <math>j</math> to image conductor <math>i</math>. <math>D_{ji}</math> = direct distance from conductor <math>j</math> to conductor <math>i</math> <math>\epsilon</math> = dielectric constant = <math>\frac {1}{36\pi}10^{-9}</math> farads/meter for air. So Considering the <math>n</math> conductors: <math>V_1 = P_{11}q_1 + .. + P_{1i}q_i + .. + P_{1n}q_n</math> .............................................................. <math>V_i= P_{i1}q_1 + .. + P_{ii}q_i + .. + P_{in}q_n</math> .............................................................. <math>V_n = P_{n1}q_1 + .. + P_{ni}q_i + .. + P_{nn}q_n</math> in matrix notation <math> \begin{Bmatrix} V_1\\ ..\\ V_i\\ ..\\ V_n\\ \end{Bmatrix} =\begin{bmatrix} P_{11} & .. & P_{1i}& .. & P_{1n} \\ .. & .. & .. & .. & .. \\ P_{i1} & .. & P_{ii}& .. & P_{in} \\ .. & .. & .. & .. & .. \\ P_{n1} & .. & P_{ni} & .. & P_{nn} \\ \end{bmatrix} \begin{Bmatrix} q_1\\ ..\\ q_i\\ ..\\ q_n\\ \end{Bmatrix} </math> and more succinctly for a system of <math>m+n</math> conductors <math> \begin{Bmatrix} V_{m+n}\\ \end{Bmatrix} =\begin{bmatrix} P_{m+n,m+n} \\ \end{bmatrix} \begin{Bmatrix} q_{m+n}\\ \end{Bmatrix} </math> Where <math>\begin{Bmatrix} V_{m+n}\\ \end{Bmatrix}</math> is the column vector of electric potentials of the <math>m+n</math> conductors, and <math> \begin{Bmatrix} q_{m+n}\\ \end{Bmatrix}</math> is the column vector of charge per unit length of these conductors. The <math>(m+n).(m+n)</math> square matrix <math>\begin{bmatrix} P_{m+n,m+n} \\ \end{bmatrix}</math> is known as the matrix of Maxwell potential coefficients of the system. Thus, if the Maxwell potential coefficients of an electric line are known, the conductor potentials can be expressed as a function of their linear charge densities. However, in practical applications, the conductor potentials are typically known, whereas the quantities required to compute the resulting electric fields are the linear charge densities. To obtain these, both sides of the previous equation are premultiplied by the inverse of the Maxwell potential coefficient matrix. This yields: <math> \begin{bmatrix} P_{m+n,m+n} \\ \end{bmatrix}^{-1}. \begin{Bmatrix} V_{m+n}\\ \end{Bmatrix} =\begin{bmatrix} C_{m+n,m+n} \\ \end{bmatrix}. \begin{Bmatrix} V_{m+n}\\ \end{Bmatrix} =\begin{bmatrix} P_{m+n,m+n} \\ \end{bmatrix}^{-1}.\begin{bmatrix} P_{m+n,m+n} \\ \end{bmatrix}. \begin{Bmatrix} q_{m+n}\\ \end{Bmatrix} =\begin{bmatrix} I_{m+n} \\ \end{bmatrix}. \begin{Bmatrix} q_{m+n}\\ \end{Bmatrix} =\begin{Bmatrix} q_{m+n}\\ \end{Bmatrix} </math> where <math> \begin{bmatrix} I_{m+n} \\ \end{bmatrix}</math> is the <math>(m+n)\times (m+n) </math> identity matrix, and <math>\begin{bmatrix} C_{m+n,m+n} \\ \end{bmatrix}</math>, which is the inverse of the Maxwell potential coefficient matrix, is called the capacitance matrix of the conductor system. In this matrix, <math>C_{ii}</math>​ represents the self-capacitance of conductor <math>i</math>, while <math>C_{ij}</math> represents the mutual capacitance between conductors <math>i</math> and <math>j</math>. Once the matrix <math>\begin{bmatrix} C_{m+n,m+n} \\ \end{bmatrix}</math> is known, the conductor charges can be calculated as a function of the conductor potentials. From these charges, the electric potential and the electric field at any point can also be determined. ==== Electric and magnetic fields above ground ==== === Program results for that data === [[File:AC overhead power line electromagnetic fields en.gif|thumb|Electric and magnetic fields at a single point below a 750 kV AC overhead power line.]] This section shows how the program presents the calculated electric and magnetic fields, how the data provided for these fields at locations other than the conductor surface should be interpreted, and the influence of phase arrangement in double-circuit lines on the resulting fields. The adjacent figure illustrates the meaning of the data presented by the program on pages three and four for the electric and magnetic fields at a point located 12 m from the line centre and 4 m above ground level. The most relevant values are those shown in the last four columns of these pages, and they are presented in static form in the figure. The program is not designed to calculate directly the time-varying values also shown in the figure. To obtain these values without modifying the program, it is necessary to repeat the calculations 36 times, each time changing the phase angles of the input voltages and currents by 10 degrees. Theoretically, the three phases A, B, and C of an AC three-phase system can be assigned to the conductors of a single-circuit transmission line in six different ways: ABC, BCA, CAB, ACB, CBA, and BAC. In practice, however, the first three configurations are equivalent, since under steady-state conditions the voltages and currents in the conductors behave identically in each case. The same equivalence applies to the last three configurations. Output for the lines L01 and L02 of the shown input data file: <div style="font-size:60%"> <source lang="text"> 1 ENPRESELEK,E.A. PAGE 1 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L01 H32 CX-DIPPER for Wikibooks figure EXPEDIENT 7500132.01 *************************** INPUT DATA, LINE CHARACTERISTICS *************************** CON.NUM. FNCY RHO PC AN CE CM PL XA XG NX YA YG NY 5 0. 0.00 0 0 1 1 0 -14.00 1.00 4 4.00 2.00 0 EROA BGE ERR ZEN SOR.D ZER X Y1 Y2 INT KA FAS G TEN KV PHAS G 1 1.37 1.76 4 45.72 0 -15.00 15.00 15.00 1.00 -140.00 750.00 -120.00 2 1.37 1.76 4 45.72 0 0.00 15.00 15.00 1.00 -20.00 750.00 0.00 3 1.37 1.76 4 45.72 0 15.00 15.00 15.00 1.00 100.00 750.00 120.00 4 0.60 0.80 1 0.00 0 -10.00 24.00 24.00 0.00 0.00 0.00 0.00 5 0.60 0.80 1 0.00 0 10.00 24.00 24.00 0.00 0.00 0.00 0.00 1 ENPRESELEK,E.A. PAGE 2 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L01 H32 CX-DIPPER for Wikibooks figure EXPEDIENT 7500132.01 ORIGINAL CONFIGURATION ELECTRIC FIELD ON THE CONDUCTORS CONDUC. CHARGE Q/M GR.MV KV/CM GRMAX KV/CM 1 0.56294989E-05 14.40179E+00 16.75257E+00 2 0.59636313E-05 15.25659E+00 17.74690E+00 3 0.56294989E-05 14.40179E+00 16.75257E+00 4 0.47318039E-06 10.64656E+00 10.64656E+00 5 0.47318034E-06 10.64656E+00 10.64656E+00 1 ENPRESELEK,E.A. PAGE 3 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L01 H32 CX-DIPPER for Wikibooks figure EXPEDIENT 7500132.01 ORIGINAL CONFIGURATION ELECTRIC FIELD 4.00 M ABOVE GROUND DIST. HORIZONTAL FIELD VERTICAL FIELD MAXIMUM FIELD MINIMUM FIELD PRESENT FIELD FIELD 90 G LATER MOD.KV/M ARG.G MOD.KV/M ARG.G MAG.KV/M DIR.G MAG.KV/M DIR.G MAG.KV/M DIR.G MAG.KV/M DIR.G -14.00 2.207E+00 -154.86 9.612E+00 75.18 1.375E+01 -81.35 2.366E+00 8.65 4.481E+00 129.10 1.321E+01 -84.24 -13.00 2.774E+00 -149.91 9.147E+00 78.23 1.321E+01 -77.99 2.861E+00 12.01 4.299E+00 142.13 1.282E+01 -81.17 -12.00 3.289E+00 -146.97 8.564E+00 82.26 1.252E+01 -74.77 3.408E+00 15.23 4.227E+00 157.31 1.227E+01 -78.07 -11.00 3.722E+00 -145.11 7.918E+00 87.56 1.171E+01 -71.90 4.003E+00 18.10 4.344E+00 173.70 1.159E+01 -74.94 -10.00 4.055E+00 -143.83 7.278E+00 94.41 1.083E+01 -69.81 4.632E+00 20.19 4.696E+00 -170.30 1.081E+01 -71.75 1 ENPRESELEK,E.A. PAGE 4 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L01 H32 CX-DIPPER for Wikibooks figure EXPEDIENT 7500132.01 ORIGINAL CONFIGURATION MAGNETIC INDUCTION 4.00 M ABOVE GROUND DIST. INDUC.HORIZONTAL INDUC.VERTICAL MAXIM.INDUC. MINIM.INDUC. PRESENT INDUC. INDUC. 90 G LAT. MOD.TESLA ARG.G MOD.TESLA ARG.G MAG.TESLA DIR.G MAG.TESLA DIR.G MAG.TESLA DIR.G MAG.TESLA DIR.G -14.00 1.401E-05 56.72 9.384E-06 24.98 2.308E-05 32.08 5.992E-06 -57.92 1.622E-05 47.89 1.749E-05 -161.31 -13.00 1.336E-05 59.52 1.104E-05 27.39 2.359E-05 38.60 6.650E-06 -51.40 1.685E-05 55.34 1.780E-05 -156.21 -12.00 1.250E-05 63.32 1.253E-05 29.22 2.393E-05 45.10 7.341E-06 -44.90 1.739E-05 62.84 1.801E-05 -151.29 -11.00 1.152E-05 68.42 1.382E-05 30.73 2.413E-05 51.51 8.067E-06 -38.49 1.784E-05 70.37 1.815E-05 -146.61 -10.00 1.054E-05 75.15 1.486E-05 32.12 2.420E-05 57.80 8.830E-06 -32.20 1.820E-05 77.89 1.823E-05 -142.20 1 ENPRESELEK,E.A. PAGE 5 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L02 H32 CX-DIPPER for Wfigure, two phases interchanged EXPEDIENT 7500132.02 *************************** INPUT DATA, LINE CHARACTERISTICS *************************** CON.NUM. FNCY RHO PC AN CE CM PL XA XG NX YA YG NY 5 0. 0.00 0 0 1 1 0 -14.00 1.00 4 4.00 2.00 0 EROA BGE ERR ZEN SOR.D ZER X Y1 Y2 INT KA FAS G TEN KV PHAS G 1 1.37 1.76 4 45.72 0 -15.00 15.00 15.00 1.00 100.00 750.00 120.00 2 1.37 1.76 4 45.72 0 0.00 15.00 15.00 1.00 -20.00 750.00 0.00 3 1.37 1.76 4 45.72 0 15.00 15.00 15.00 1.00 -140.00 750.00 -120.00 4 0.60 0.80 1 0.00 0 -10.00 24.00 24.00 0.00 0.00 0.00 0.00 5 0.60 0.80 1 0.00 0 10.00 24.00 24.00 0.00 0.00 0.00 0.00 1 ENPRESELEK,E.A. PAGE 6 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L02 H32 CX-DIPPER for Wfigure, two phases interchanged EXPEDIENT 7500132.02 ORIGINAL CONFIGURATION ELECTRIC FIELD ON THE CONDUCTORS CONDUC. CHARGE Q/M GR.MV KV/CM GRMAX KV/CM 1 0.56294989E-05 14.40179E+00 16.75257E+00 2 0.59636313E-05 15.25659E+00 17.74690E+00 3 0.56294989E-05 14.40179E+00 16.75257E+00 4 0.47318039E-06 10.64656E+00 10.64656E+00 5 0.47318034E-06 10.64656E+00 10.64656E+00 1 ENPRESELEK,E.A. PAGE 7 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L02 H32 CX-DIPPER for Wfigure, two phases interchanged EXPEDIENT 7500132.02 ORIGINAL CONFIGURATION ELECTRIC FIELD 4.00 M ABOVE GROUND DIST. HORIZONTAL FIELD VERTICAL FIELD MAXIMUM FIELD MINIMUM FIELD PRESENT FIELD FIELD 90 G LATER MOD.KV/M ARG.G MOD.KV/M ARG.G MAG.KV/M DIR.G MAG.KV/M DIR.G MAG.KV/M DIR.G MAG.KV/M DIR.G -14.00 2.207E+00 154.86 9.612E+00 -75.18 1.375E+01 -81.35 2.366E+00 8.65 4.481E+00 129.10 1.321E+01 95.76 -13.00 2.774E+00 149.91 9.147E+00 -78.23 1.321E+01 -77.99 2.861E+00 12.01 4.299E+00 142.13 1.282E+01 98.83 -12.00 3.289E+00 146.97 8.564E+00 -82.26 1.252E+01 -74.77 3.408E+00 15.23 4.227E+00 157.31 1.227E+01 101.93 -11.00 3.722E+00 145.11 7.918E+00 -87.56 1.171E+01 -71.90 4.003E+00 18.10 4.344E+00 173.70 1.159E+01 105.06 -10.00 4.055E+00 143.83 7.278E+00 -94.41 1.083E+01 -69.81 4.632E+00 20.19 4.696E+00 -170.30 1.081E+01 108.25 1 ENPRESELEK,E.A. PAGE 8 LINES DIVISION DATE 2026-02-19 TRANSMISSION LINE OF 750. KV L02 H32 CX-DIPPER for Wfigure, two phases interchanged EXPEDIENT 7500132.02 ORIGINAL CONFIGURATION MAGNETIC INDUCTION 4.00 M ABOVE GROUND DIST. INDUC.HORIZONTAL INDUC.VERTICAL MAXIM.INDUC. MINIM.INDUC. PRESENT INDUC. INDUC. 90 G LAT. MOD.TESLA ARG.G MOD.TESLA ARG.G MAG.TESLA DIR.G MAG.TESLA DIR.G MAG.TESLA DIR.G MAG.TESLA DIR.G -14.00 1.401E-05 -96.72 9.384E-06 -64.98 2.308E-05 32.08 5.992E-06 -57.92 6.072E-06 112.43 2.306E-05 31.43 -13.00 1.336E-05 -99.52 1.104E-05 -67.39 2.359E-05 38.60 6.650E-06 -51.40 6.766E-06 117.52 2.355E-05 37.71 -12.00 1.250E-05 -103.32 1.253E-05 -69.22 2.393E-05 45.10 7.341E-06 -44.90 7.494E-06 122.92 2.389E-05 43.93 -11.00 1.152E-05 -108.42 1.382E-05 -70.73 2.413E-05 51.51 8.067E-06 -38.49 8.253E-06 128.59 2.407E-05 50.04 -10.00 1.054E-05 -115.15 1.486E-05 -72.12 2.420E-05 57.80 8.830E-06 -32.20 9.041E-06 134.47 2.412E-05 56.00 </source></div> An analysis of the results shown on pages 1 to 8 of the program output for lines L01 and L02 indicates that the electric and magnetic fields generated by these two phase configurations are identical. The only difference is that the direction of rotation of the fields outside the conductors is reversed. _ The voltage gradients (electric fields) at the conductor surfaces do not rotate and are identical in both cases. _ The maximum and minimum values of the electric and magnetic fields at all points outside the conductors are also identical in both cases. _ At all locations where the minimum field value is nonzero, the direction of field rotation is opposite in the two configurations. To interpret these results, it is necessary to consider that the absolute difference in angular position of the fields over a 5 ms interval must be less than 180°. Accordingly, defining FAP1 and FAP2 as the angular positions of the fields at instants 1 and 2, respectively, the rotation over 5 ms is given by: • FAP2 − FAP1, if |FAP2 − FAP1| < 180° • FAP2 − FAP1 + 360°, if |FAP2 − FAP1| ≥ 180° and FAP2 − FAP1 < 0 • FAP2 − FAP1 − 360°, if |FAP2 − FAP1| ≥ 180° and FAP2 − FAP1 > 0 Note: In the analyzed cases, the angular velocities of the rotating fields may appear to differ. However, this is due to the fact that the angular velocity is not constant: it is higher when the field magnitude is lower and lower when the field magnitude is higher. Additionally, the initial field values (corresponding to the instantaneous voltage and current conditions specified in the input data) are different in each case. [[File:AC_Overhead_power_line_e-field_at_ground_level-en.png|500px|thumb|Maximun electric field at conductor surfaces and ground level for two phase arrangements of a double-circut 800 kV AC transmission line.]] Conversely, in transmission lines with more than one circuit, the phase arrangement of the additional circuits relative to that of the first circuit has a significant impact on the electric field values, as illustrated in Figure 3. This figure shows the maximum electric field at conductor surfaces and ground level for two of the six possible phase arrangements of the second circuit in a double-circuit 800 kV AC transmission line. === Audible noise profiles === === Power line parameters === === Resonance evaluations === === Operating conditions === On pages 51, 52, 58, and 61 of transmission lines L10, L11, and L12 are illustrated the effects of using shunt reactors connected to an end of a long transmission line or a weak system to prevent overvoltages under light-load conditions, and series capacitors to compensate for the inductive reactance of loaded transmission lines, as described in the [[w:en:Voltage control and reactive power management|Voltage control and reactive power management]] Wikipedia article. The output of the program for those lines and two operating conditions (moderate inductive load and no load) is the following: <div style="font-size:60%"> <source lang="text"> 1 ENPRESELEK,E.A. PAGE 44 LINES DIVISION DATE 2013-10-24 TRANSMISSION LINE OF 765. KV L09 SINGLE CIRCUIT H32 1x1 sections EXPEDIENT 75013211.00 0 SECTION 1 TRANSMISSION LINE BUILT WITH 71HA STRUCTURES AND CX-XXX CONDUCTORS 0 INPUT DATA 0 LINE LONG. 1*300.00= 300.00 KM GROUND RESISTIVITY 75.00 OHM.M FREQUENCY 50.00 HZ 0 *************************** CONDUCTORS� FEATURES *************************** .. GMR(CM) RAD(CM) IN D(M) ID DX(M) DY(M) R(OHM:KM) 1 1.37000 1.75900 4 0.46 0 -15.24 15.24 0.2000000 2 1.37000 1.75900 4 0.46 0 0.00 15.24 0.2000000 3 1.37000 1.75900 4 0.46 0 15.24 15.24 0.2000000 4 0.60000 0.80000 1 0.00 0 -10.00 24.00 0.5000000 5 0.60000 0.80000 1 0.00 0 10.00 24.00 0.5000000 1 ENPRESELEK,E.A. PAGE 45 LINES DIVISION DATE 2013-10-24 TRANSMISSION LINE OF 765. KV L09 SINGLE CIRCUIT H32 1x1 sections EXPEDIENT 75013211.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 746.450 0.585 188.145 -167.872 750.000 0.471 200.000 40.000 42.393 0 0 1 2 741.212 0.637 204.246 -180.220 750.000 0.471 200.000 40.000 39.758 0 0 1 3 733.405 0.640 219.038 -159.847 750.000 0.471 200.000 40.000 45.890 0 0 0 1 611.429 -507.939 600.000 120.000 0 0 611.429 -507.939 600.000 120.000 1 ENPRESELEK,E.A. PAGE 46 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L10 SINGLE CIRCUIT H32 1x6 sections EXPEDIENT 75013216.00 0 SECTION 1 TRANSMISSION LINE BUILT WITH 71HA STRUCTURES AND CX-XXX CONDUCTORS 0 INPUT DATA 0 LINE LONG. 6* 50.00= 300.00 KM GROUND RESISTIVITY 75.00 OHM.M FREQUENCY 50.00 HZ 0 *************************** CONDUCTORS� FEATURES *************************** .. GMR(CM) RAD(CM) IN D(M) ID DX(M) DY(M) R(OHM:KM) 1 1.37000 1.75900 4 0.46 0 -15.24 15.24 0.2000000 2 1.37000 1.75900 4 0.46 0 0.00 15.24 0.2000000 3 1.37000 1.75900 4 0.46 0 15.24 15.24 0.2000000 4 0.60000 0.80000 1 0.00 0 -10.00 24.00 0.5000000 5 0.60000 0.80000 1 0.00 0 10.00 24.00 0.5000000 1 ENPRESELEK,E.A. PAGE 47 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L10 SINGLE CIRCUIT H32 1x6 sections EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 745.885 0.589 188.280 -169.966 750.000 0.471 200.000 40.000 41.764 0 0 1 2 740.790 0.640 204.507 -182.246 750.000 0.471 200.000 40.000 39.212 0 0 1 3 733.096 0.644 219.417 -161.946 750.000 0.471 200.000 40.000 45.204 0 0 0 1 612.204 -514.158 600.000 120.000 0 0 612.204 -514.158 600.000 120.000 1 ENPRESELEK,E.A. PAGE 48 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L10 SINGLE CIRCUIT H32 1x6 sections EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 750.000 0.549 -16.272 -236.953 792.853 0.000 0.000 0.000 25.210 1 0 1 2 750.000 0.579 1.646 -250.835 788.678 0.000 0.000 0.000 22.729 2 0 1 3 750.000 0.548 19.506 -236.479 791.493 0.000 0.000 0.000 24.332 3 0 0 1 4.880 -724.267 0.000 0.000 0 0 4.880 -724.267 0.000 0.000 1 ENPRESELEK,E.A. PAGE 49 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L11 1C H32 1x6 sections + receiving end shunt reactor EXPEDIENT 75013216.00 0 SECTI 1 SHUNT ADMITANCES (MHO) 1 2 3 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E-03 0.0000000E+00 0.0000000E+00 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E-03 0.0000000E+00 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E-03 1 ENPRESELEK,E.A. PAGE 50 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L11 1C H32 1x6 sections + receiving end shunt reactor EXPEDIENT 75013216.00 0 SECTION 2 TRANSMISSION LINE BUILT WITH 71HA STRUCTURES AND CX-XXX CONDUCTORS 0 INPUT DATA 0 LINE LONG. 6* 50.00= 300.00 KM GROUND RESISTIVITY 75.00 OHM.M FREQUENCY 50.00 HZ 0 *************************** CONDUCTORS� FEATURES *************************** .. GMR(CM) RAD(CM) IN D(M) ID DX(M) DY(M) R(OHM:KM) 1 1.37000 1.75900 4 0.46 0 -15.24 15.24 0.2000000 2 1.37000 1.75900 4 0.46 0 0.00 15.24 0.2000000 3 1.37000 1.75900 4 0.46 0 15.24 15.24 0.2000000 4 0.60000 0.80000 1 0.00 0 -10.00 24.00 0.5000000 5 0.60000 0.80000 1 0.00 0 10.00 24.00 0.5000000 1 ENPRESELEK,E.A. PAGE 51 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L11 1C H32 1x6 sections + receiving end shunt reactor EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 770.663 0.482 187.027 -105.234 750.000 0.471 200.000 40.000 38.759 0 0 1 2 763.706 0.534 204.028 -117.360 750.000 0.471 200.000 40.000 36.518 0 0 1 3 758.906 0.549 219.753 -97.347 750.000 0.471 200.000 40.000 42.684 0 0 0 1 610.808 -319.941 600.000 120.000 0 0 610.808 -319.941 600.000 120.000 1 ENPRESELEK,E.A. PAGE 52 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L11 1C H32 1x6 sections + receiving end shunt reactor EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 750.000 0.363 -17.257 -156.154 765.313 0.000 0.000 0.000 8.846 1 0 1 2 750.000 0.394 0.569 -170.438 763.694 0.000 0.000 0.000 8.023 2 0 1 3 750.000 0.363 18.297 -155.914 763.484 0.000 0.000 0.000 8.337 3 0 0 1 1.608 -482.506 0.000 0.000 0 0 1.608 -482.506 0.000 0.000 1 ENPRESELEK,E.A. PAGE 53 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L12 1C H32 1x6 sections + receiving end series capacit EXPEDIENT 75013216.00 0 SECTI 1 SERIES IMPEDANCES (OHM) 1 2 3 1 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E+03 0.0000000E+00 0.0000000E+00 2 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E+03 0.0000000E+00 3 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 0.0000000E+00 -0.4000000E+03 1 ENPRESELEK,E.A. PAGE 54 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L12 1C H32 1x6 sections + receiving end series capacit EXPEDIENT 75013216.00 0 SECTION 2 TRANSMISSION LINE BUILT WITH 71HA STRUCTURES AND CX-XXX CONDUCTORS 0 INPUT DATA 0 LINE LONG. 6* 50.00= 300.00 KM GROUND RESISTIVITY 75.00 OHM.M FREQUENCY 50.00 HZ 0 *************************** CONDUCTORS� FEATURES *************************** .. GMR(CM) RAD(CM) IN D(M) ID DX(M) DY(M) R(OHM:KM) 1 1.37000 1.75900 4 0.46 0 -15.24 15.24 0.2000000 2 1.37000 1.75900 4 0.46 0 0.00 15.24 0.2000000 3 1.37000 1.75900 4 0.46 0 15.24 15.24 0.2000000 4 0.60000 0.80000 1 0.00 0 -10.00 24.00 0.5000000 5 0.60000 0.80000 1 0.00 0 10.00 24.00 0.5000000 1 ENPRESELEK,E.A. PAGE 55 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L12 1C H32 1x6 sections + receiving end series capacit EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 723.186 0.744 191.235 -244.626 750.000 0.471 200.000 40.000 138.759 0 0 1 2 720.314 0.794 206.213 -257.834 750.000 0.471 200.000 40.000 143.290 0 0 1 3 709.199 0.788 219.800 -236.299 750.000 0.471 200.000 40.000 139.391 0 0 0 1 617.249 -738.760 600.000 120.000 0 0 617.249 -738.760 600.000 120.000 1 ENPRESELEK,E.A. PAGE 56 LINES DIVISION DATE 2014-06-27 TRANSMISSION LINE OF 765. KV L12 1C H32 1x6 sections + receiving end series capacit EXPEDIENT 75013216.00 0 *************** SENDING END ************** ***************** RECEIVING END **************** *** *** EQUIV. LINE LINE ACTIVE REACTIVE EQUIV. LINE LINE ACTIVE REACTIVE VOLTAGE *** CIR PHA VOLTAGE INTENSITY POWER POWER VOLTAGE INTENSITY POWER POWER DROP E I *** *** (KV) (KA) (MW) (MVAR) (KV) (KA) (MW) (MVAR) (KV) *** 1 1 750.000 0.549 -16.272 -236.953 792.853 0.000 0.000 0.000 25.210 1 0 1 2 750.000 0.579 1.646 -250.835 788.678 0.000 0.000 0.000 22.729 2 0 1 3 750.000 0.548 19.506 -236.479 791.493 0.000 0.000 0.000 24.332 3 0 0 1 4.880 -724.267 0.000 0.000 0 0 4.880 -724.267 0.000 0.000 </source></div> == Source file == <source lang="fortran"> C Lineen parametro elektromagnetikoak eta egoerak kalkulatzeko eta C ferroerresonantzia azterketak egiteko PARLI programa eta C aireko linea elektrikoek sortzen dituzten eremu elektromagnetikoak C kalkulatzeko EREMU programa batuta. C Programak Jon Peli Oleaga Olabarriak garatu zituen C 1970eko hamarkadaren amaieran. C 1980ko hamarkadaren amaieran batu ziren eta, geroago, konpilatzaile C berriagorekin erabili ahal izateko beharrezko aldaketak egin zaizkie. C Sarrerako datuak oraindino 80 zutabetan sartzen dira, C behinolako fitxetan legez. C Bigarren hizkuntza modu naif eta ez sistematikoan sartu da. C Letra xehez idatzitako lerroak programaren dokumentazioa C apur bat hobetzeko sartu dira geroago. C Programa Creative Commons-en C Attribution-ShareAlike 4.0 lizentziapean partekatzen da C http://creativecommons.org/licenses/by-sa/4.0/ C C The original PARLI program to calculate electromagnetic parameters C and operating conditions of AC overhead transmission lines C (it can also be used to conduct ferroresonance studies) C and the EREMU program to calculate electromagnetic fields C created by AC overhead transmission lines C were created by Jon Peli Oleaga Olabarria C at the end of the 1970s. C They were merged in the last 1980s, and later C they have been changed just to compile them with newer compilers C and to add a second language; changing only the strictly necessary. C Input data still are inserted in 80 columns as with the old cards. C The incorporation of a second language has been done C in a rather naif and unsystematic way. C The lines in lowercase were added later C to slightly improve the program documentation. C The work is licensed under the Creative Commons C Attribution-ShareAlike 4.0 License. C http://creativecommons.org/licenses/by-sa/4.0/ C PROGRAM LIPARE CHARACTER FITX*14,FILE*40,CHK*4 COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU DOUBLE PRECISION EXPE COMMON /IZENBN/ IZK,EXPE,NOZ,N,KT,TL,MOZ,NFL IZK0=1 IRT=5 IRF=4 IDT=6 IDF=7 IDU=9 FITX='LIPARE.DAT' CHK=' ' NOZ=0 MOZ=0 NFL=0 CALL HIZKUN OPEN(UNIT=IDF,FILE='LIPARE.RES',STATUS='UNKNOWN') OPEN(UNIT=IDU,FILE='LIPARE.RPU',STATUS='UNKNOWN') 1 IF(CHK.NE.' ')GOTO 12 PRINT *,'SAR ERABILIKO DEN DATU-FITXATEGIAREN IZENA:' PRINT *,'<RETURN> SAKATUZ GERO, FITXATEGIA = '//FITX PRINT *,'( AMAITZEKO SAKA *<RETURN> BAKARRIK )' PRINT *,' ' PRINT *,'Enter the name of the input data file:' PRINT *,'<RETURN> implies default file name, = '//FITX PRINT *,'( To exit the program enter *<RETURN> )' READ(IRT,'(A)')FILE IF(FILE.EQ.'*')GOTO 9999 IF(FILE.EQ.' ')FILE=FITX C-VAX OPEN(UNIT=IRF,STATUS='OLD',FILE=FILE,READONLY) C-PC OPEN(UNIT=IRF,STATUS='OLD',FILE=FILE,MODE='READ') C-PC-F95-C20041023 OPEN(UNIT=IRF,STATUS='OLD',FILE=FILE,ACTION='READ') READ(IRF,'(//)') C --- ZAINDU SUBRUTINEA, PROGRAMEA ERABILTEKO BAIMENA AZTERTUTEKO C CALL ZAINDU(2,IRF) !"1993-02-03 eta 2003-10-06"ko "parli4.for"ean CALL ZAINDU(0,IRF,IZK0) IF(IZK0.LT.1 .OR. IZK0.GT.2) IZK0=1 ! 20140626 oraingoz hizkuntza bi bakarrik READ(IRF,'(A)')CHK BACKSPACE IRF 12 IZK=IZK0 IF (CHK.EQ.'***E'.OR.CHK.EQ.'***e')THEN CHK=' ' CALL EREPRO(CHK) ELSEIF(CHK.EQ.'***P'.OR.CHK.EQ.'***p')THEN CHK=' ' CALL LINPAR(CHK,IZK0) !2026-03-31 gehitu IZK0 ELSE PRINT'(A)',' ', +' Lehengo PARLI eta EREMU programak LIPARE barri honetan'// +' batu ziranetik,',' datu fitxategietan euretatik'// +' zein erabili gura dan esan behar da,', +' datu fitxategiaren bostgarren lerroaren lehenengo tokietan', +' ***EREMU ala ***PARLI iminiz.',' ', +' Aldatu egizuz lehengo fitxategiak.',' ' GOTO 9999 ENDIF GOTO 1 9999 END CJFO PROGRAM LINPAR C Aireko linea elektrikoen parametro esanguratsuenak C eta haien funtzionatzeko moduak kalkulatzeko programa SUBROUTINE LINPAR(CHK,IZK0) !2026-03-31 gehitu IZK0 PARAMETER (ND1=10,ND2=12) C-20131026AN ND1 8TIK 10ERA ALDATUTA ZIRKUITU 2 4 LUR KABLEREKIN ONARTZEKO COMPLEX AD(ND2,ND2),BC(ND2,ND2),RI(ND2,ND2),RF(ND2,ND2) &,Z(ND1,ND1),Y(ND1,ND1),W(ND1,ND1) COMPLEX ER(ND2),ES(ND2),PR,PS,PRT,PST,PTR,PTS,ERO REAL DX(ND1),DY(ND1),R(ND1),G(ND1),RMG(ND1),RAD(ND1),D(ND1) INTEGER IN(ND1),ID(ND1),KR(ND1),LOC(ND2) CHARACTER EGUNA*10,IZENA*56,TT1*27,TT2*27,SII*44,SAK*44,SI*29 &,SA*29,KG*24,OS*18,ZAT*5,EUSK*5,EROA*15,AZALP*5,CHK*4 DOUBLE PRECISION EXPE COMMON /IZENBN/ IZK,EXPE,NOZ,N,KT,TL,MOZ,NFL COMMON /IZENBC/ EGUNA,IZENA,EUSK,EROA COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU PBAS=100. 2 CALL HIRUAT(IRF,CHK,*9999,*6,*9998) 6 READ(IRF,5011,END=9998)TL,IZENA,EXPE,EGUNA 5011 FORMAT(F4.0,A56,F10.2,A10) READ(IRF,5012)IZK2,NT,NC,KP,FNY IZK=IZK0 !2026-03-31 IF (IZK2.NE.0) IZK=IZK2 IF (IZK.LT.1 .OR. IZK.GT.2) IZK=1 C-20131027 5012 FORMAT(4I5,F10.5) 5012 FORMAT(4I2,F7.3) print *,'LINPAR ',izena C IZK = ERABILIKO DEN HIZKUNTZA C NT = LINEAN AZTERTUKO DIREN ZATI GEHI EGOEREN KOPURUA C NC = LINEAREN ZIRKUITU KOPURUA C KP = 1=> EROALE BATZUK BESTE BATZUEKIN PARALELOAN JARTZEN DIRELA C EROALE BAKOTZAREN 54. ZUTABEAN JARRI ZEIN BESTE EROALEREKIN. C ( PARALELOAN JARRI ETA GERO EZIN DIRA AZTERTU EGOERAK, C BAKARRIk ATARA AHAL DIRA ALDAEZIN OROKORRAK ) C FNY = LINEAREN FREKUENTZIA IF(IZK-1)11,10,11 10 ZAT='ZATI ' OS='OSAGAI SIMETRIKOAK' KG=' ALDAEZIN OROKORRAK ' TT1=' (EGIAZKO KONFIGURAZIOA) ' TT2=' (KONFIGURAZIO BALIOKIDEA) ' SI=' SERIE INPEDANTZEAK (OHM) ' SA=' SHUNT ADMITANTZEAK (MHO) ' SII=' SERIE INPEDANTZE INDUKTIBOAK (OHM:KM) ' SAK=' SHUNT ADMITANTZE KAPAZITIBOAK (MHO:KM) ' GO TO 12 11 ZAT='SECTION' !7 OS=' SIMETRICAL COMP. ' !18 KG='A,B,C,D TRANSFER MATRIX' !24 EPRI's TLRB345(1975)pag.116 TT1=' ( ACTUAL CONFIGURATION )' !27 TT2='(EQUIVALENT CONFIGURATION)' !27 SI=' SERIES IMPEDANCES (OHM) ' !29 SA=' SHUNT ADMITANCES (MHO) ' !29 SII=' SERIES INDUCTIVE IMPEDANCES (OHM:KM) ' !40 SAK=' SHUNT CAPACITIVE ADMITANCES (MHO:KM) ' !40 12 CONTINUE N3=NC*3 N2=N3*2 DO 20 I=1,N2 DO 20 J=1,N2 RF(I,J)=(0.,0.) IF(I.EQ.J)RF(I,I)=(1.,0.) 20 CONTINUE XLUZ=0. DO 1000 N=1,NT C-20131027 READ(IRF,5021)KT,K1,K2,K3,NCO,NST,ELT,RHO,EUSK,EROA READ(IRF,5021)KT,NCO,K1,K2,K3,NST,ELT,RHO,EUSK,EROA C-20131027 5021 FORMAT(6I5,2F10.5,A5,A15) 5021 FORMAT(I1,I3,4I1,F7.3,F5.2,33X,A5,A15) C KT =0 => TENTSIO ETA INTENTSITATEEN AZTERKETA, C =1 => LINEAREN SERIE INPEDANTZE ETA SHUNT ADMITANTZEEN KALKULUA C =2 => KONEKTATUTAKO SERIE INPEDANTZEEN DATUAK C =3 => KONEKTATUTAKO SHUNT ADMITANTZEEN DATUAK C =4 => LINEAREN ERRESONANTZIA FERROMAGNETIKOA AZTERTUKO DA C K1 <1 => EZ DIRA ATARATZEN SERIE INPEDANTZEAK ETA SHUNT ADMITANTZEAK C =1 => KONFIGURAZIO BALIOKIDEAREN SI ETA SA-AK IDAZTEN DIRA C >1 => KONFIGURAZIO ORIGINAL ETA BALIOKIDEAREN SI ETA SA-AK IDAZTEN DIRA C (KT=4)2=> ERREAKTAN.ALBO BATEAN, 2=>ER.BESTE ALBOAN, 3=>ER.ALBO BIETAN C K2 <1 => EZ DIRA ATARATZEN ALDAEZIN OROKORTUAK C >0 => ALDAEZIN OROKORTUAK ATARATZEN DIRA (ZATIARENAK) C (KT=4)0=>, 1=> C K3 <1 => EZ DIRA ATARATZEN ALDAEZIN OROKORTUAK C =1 => FASEEN ALDAEZIN OROKORTUAK ATARATZEN DIRA (ZATI GUZTIENAK) C >1 => FASEEN ETA KONPOSATU SIMETRIKOEN ALDAEZIN OROKORTUAK ATARATZEN DIRA C (KT=4)0=>IRTEERA GRAFIKO LOGARITMIKOAN, 1=>IRTEERA GRAFIKO LINEALEAN C NCO = EROALEEN KOPURUA, EDO KT=4 BADA PUNTU KOPURUA GRAFIKOAN C NST = AZPITARTEEN KOPURUA (KALKULUAK ZEHAZTASUN HANDIAGOZ EGITEKO) C ELT = TARTEAREN LUZERA KM-TAN C RHO = LINEA TARTE HONETAKO LURRAREN ERRESISTIBITATEA OHM-M-TAN C EUSK = ERABILITAKO EUSKARRIEN IZENA (IRTEERAN IDAZTEKO BAKARRIK) C EROA = ERABILITAKO EROALEEN IZENA (IRTEERAN IDAZTEKO BAKARRIK) IF(KT.LE.0)GO TO 300 IF(KT.GE.2)GO TO 200 C C --- LINE BATEN SERIE INPEDANTZE ETA SHUNT ADMITANTZEEN KALKULUA IF(K1.LT.0)K1=0 !C-20131026 IF(K2.LT.0)K2=0 !C-20131026 IF(K3.LT.0)K3=0 !C-20131026 XLUZ=XLUZ+ELT ELT=ELT/NST DO 100 I=1,NCO READ(IRF,5100)RMG(I),RAD(I),IN(I),D(I),ID(I),DX(I),DY(I) +,R(I),KR(I) 5100 FORMAT(2F7.4,I2,F7.4,I2,2F7.3,7X,F7.5,I2) C RMG = EROALEAREN "BATEZBESTEKO ERRADIO GEOMETRIKOA" CM-TAN C RAD = EROALEAREN ERRADIOA CM-TAN C IN = EROALE SORTAREN AZPIEROALE KOPURUA C D = AZPIEROALEEN ARTEKO DISTANTZIA EDO EROALE SORTAREN DIAMETROA M-TAN C ID =0=> AURREKO DATUA AZPIEROALEN ARTEKO DISTANTZIA DA C =1=> AURREKO DATUA EROALE SORTAREN DIAMETROA DA C DX = EROALEAREN X KOORDENATUA M-TAN C DY = EROALEAREN y KOORDENATUA M-TAN C R = EROALEEN ERRESISTENTZIA OHM/KM-TAN C KR = IF(R(I).GT.0.)GO TO 100 J=I-1 RMG(I)=RMG(J) RAD(I)=RAD(J) IN(I)=IN(J) ID(I)=ID(J) D(I)=D(J) R(I)=R(J) 100 CONTINUE C C --- SARRERAKO DATUAK ATARATZEN DIRA CALL IZENBU IF(N.EQ.1)LOZ=NOZ IF(IZK-1)102,101,102 101 WRITE(IDF,6101)NST,ELT,NST*ELT,RHO,FNY 6101 FORMAT(1H0,23X,'SARRERAKO DATUAK'/1H0,23X,'LINE-LUZERA',I3,'*', 1F6.2,'=',F7.2,' KM'/1H ,23X,'LUR-ERRESISTIBITATEA',F9.2,' OHM.M'/ 21H ,23X,'MAIZTASUNA', 8X,F11.2,' HZ'/ 1H0,23X,28('*'), 3' EROALEEN EZAUGARRIAK ' ,29('*') ) GO TO 103 102 WRITE(IDF,6102)NST,ELT,NST*ELT,RHO,FNY 6102 FORMAT(1H0,23X,'INPUT DATA'/1H0,23X,'LINE LONG. ',I3,'*', 1F6.2,'=',F7.2,' KM'/1H ,23X,'GROUND RESISTIVITY',F11.2,' OHM.M'/ 21H ,23X,'FREQUENCY ', 8X,F11.2,' HZ'/ 1H0,23X,27('*'), 3' CONDUCTORS´ FEATURES ',27('*') ) 103 WRITE(IDF,6103)(I,RMG(I),RAD(I),IN(I),D(I),ID(I),DX(I),DY(I),R(I), 1I=1,NCO) 6103 FORMAT(1H ,26X,'.. GMR(CM) RAD(CM) IN D(M) ID DX(M 1) DY(M) R(OHM:KM)'//(1H ,26X,I2,2F10.5,I7,F7.2,I4,3X,2F8.2, 24X,F11.7)) CALL ZY(ND1,NCO,FNY,RHO,Z,Y,DX,DY,RAD,RMG,IN,D,ID,R,G,KR,W,KP) IF(K1.LE.1)GO TO 112 C C --- BENETAKO EROALE GUZTIEI JAGOKEZAN BALIOAK ATARATZEN DIRA URTEERAN CALL IZENBU WRITE(IDF,6111)SII,TT1 6111 FORMAT(1H0,39X,A40,/,46X,A27 ) CALL ATARAC(Z,NCO,ND1) IF(NCO.GT.6)CALL IZENBU WRITE(IDF,6111)SAK,TT1 CALL ATARAC(Y,NCO,ND1) C C --- BENETAKO EROALEEN BALIOKIDEEI JAGOKEZAN BALIOAK ATARATZEN DIRA 112 CALL LABURT(Z,NCO,N3,ND1,KR,KP,ID) N2=N3*2 IF(K1.LT.1)GO TO 113 CALL IZENBU WRITE(IDF,6111)SII,TT2 CALL ATARAC(Z,N3,ND1) IF(N3.GT.6)CALL IZENBU WRITE(IDF,6111)SAK,TT2 CALL ATARAC(W,N3,ND1) C C --- LINEKO ZATI AU BENETAKO LINE BAT DA 113 CONTINUE DO 115 I=1,N3 DO 115 J=1,N3 Z(I,J)=ELT*Z(I,J) 115 Y(I,J)=ELT*W(I,J) GO TO 211 ! Linearen zati honen azpizatien inp. eta adm. C C --- LINEKO ZATI AU SERIE INPEDANTZE ALA SHUNT ADMITANTZE BAT DA 200 DO 201 I=1,N3 DO 201 J=1,N3 201 Z(I,J)=CMPLX(0.,0.) IF(KT.LT.4)GO TO 205 C C --- ERRESONANTZE KASU BAT AZTERTZEN DA ELT=ELT*FNY*6.2831853 RHO=RHO*FNY*6.2831853 CALL RES(ND2,NC,K1,K2,K3,ELT,RHO,NCO,RF,RI,BC,AD,ES,ER,LOC) GO TO 1000 C C ****************************************************************** C ASTERISKOZ OSATUTAKO LERROEN ARTEAN PROGRAMA EZ DAGO PRESTATUTA C SARTZEKO FASE ARTEKO SERIE ELKAR INPEDANTZEAK EDO ADMITANTZEAK. C HORRETARAKO PROGRAMAREN ZATI HAU ALDATU BEHAR DA 205 READ(IRF,5205)(Z(I,I),I=1,N3) 5205 FORMAT(12F6.3)! 2026-03-28 lehen 12F6.3 (datuak S eta ohm-etan) IF(KT.EQ.3)THEN DO 206 I=1,N3 ! inpedanziak eta admitantziak sartu ordez 206 Z(I,I)= 1/Z(I,I) ! beti erreaktoreen inpedantziak sartzeko ENDIF ! Ohiko erreaktoreakaz datu zehatzagoak sartzeko C ****************************************************************** IF(K1.LE.0)GO TO 211 CALL IZENBU IF(N.EQ.1)LOZ=NOZ IF(KT.EQ.2)WRITE(IDF,6210)ZAT,N,SI IF(KT.EQ.3)WRITE(IDF,6210)ZAT,N,SA 6210 FORMAT(1H0, 5X,A7,I3,33X,A29 ) CALL ATARAC(Z,N3,ND1) C C --- ZATIAREN ALDAEZIN GENERALIZATUAK KALKULATZEKO DO 220 211 DO 220 I1=1,N3 DO 220 J1=1,N3 I2=I1+N3 J2=J1+N3 AD(I1,J1)=(0.,0.) AD(I2,J2)=(0.,0.) IF(I1.NE.J1)GO TO 219 AD(I1,J1)=(1.,0.) AD(I2,J2)=(1.,0.) 219 AD(I1,J2)=(0.,0.) IF(KT.EQ.2)AD(I1,J2)=Z(I1,J1) AD(I2,J1)=(0.,0.) IF(KT.EQ.3)AD(I2,J1)=Z(I1,J1) IF(KT.NE.1)GO TO 220 AD(I2,J1)=Y(I1,J1)/2. BC(I1,J1)=AD(I1,J1) BC(I2,J2)=AD(I2,J2) BC(I1,J2)=Z(I1,J1) BC(I2,J1)=AD(I1,J2) 220 CONTINUE !zatiaren azpizati honen ABCD matrizea OOJP-20260312 C IF(KT.GT.1)GO TO 244 IF(K2.LE.0)GO TO 225 CALL IZENBU WRITE(IDF,6224)KG 6224 FORMAT(1H0,49X,A24 ) 225 CALL BITRIC(BC,N2,N2,AD,N2,N2,RI,ND2) CALL BITRIC(AD,N2,N2,RI,N2,N2,BC,ND2) DO 230 I=1,N2 DO 230 J=1,N2 RI(I,J)=(0.,0.) 230 IF(I.EQ.J)RI(I,J)=(1.,0.) KRL=0 DO 240 I=1,NST !DO honetan barneko azpizatiak batzen dira OOJP IF(KRL.GT.0)GO TO 239 CALL BITRIC(BC,N2,N2,RI,N2,N2,AD,ND2) KRL=1 GO TO 240 239 CALL BITRIC(BC,N2,N2,AD,N2,N2,RI,ND2) KRL=0 240 CONTINUE IF(KRL.GT.0)GO TO 243 IF(K2.GE.1)CALL ATARAC(RI,N2,ND2) CALL BITRIC(RI,N2,N2,RF,N2,N2,BC,ND2) !=>hasi sartzen zatiak hartzaile muturretik OOJP-20260315 GO TO 245 243 IF(K2.GE.1)CALL ATARAC(AD,N2,ND2) 244 CALL BITRIC(AD,N2,N2,RF,N2,N2,BC,ND2) !=>hasi sartzen zatiak hartzaile muturretik OOJP-20260315 245 DO 250 I=1,N2 DO 250 J=1,N2 250 RF(I,J)=BC(I,J) IF(K3.EQ.0)GO TO 1000 KT=3 CALL IZENBU WRITE(IDF,6224)KG CALL ATARAC(RF,N2,ND2) IF(K3.LT.2)GO TO 1000 C C --- LINEKO ALDAEZIN GENERALIZATUEN OSAGAI SIMETRIKOAK ATARATZEN DIRA CALL IZENBU WRITE(IDF,6224)KG WRITE(IDF,6255)OS 6255 FORMAT(1H ,51X,1H(,A18,1H) ) CALL OSASYM(2,NC,ND2,RF,RI,AD,BC) CALL ATARAC(RI,N2,ND2) IF(K3.LT.2) GOTO 1000 C C --- BESTE FITXATEGI BAT EMOITZA LABURTUAKAZ IDAZTEN DA IF(MOD(NFL,60).EQ.0)THEN MOZ=MOZ+1 IF(IZK.EQ.2)WRITE(IDU,6260)PBAS,MOZ 6260 FORMAT(1H1,'POWER BASE =',F5.0,' MVA',103X,'PAGE',I3/ 1 1X,49('-'),'LINE CHARACTERISTICS IN P.U. ',50('-')/ 3 1X,17('-'),'-LINE',18('-'),' LONG.',7X,' SERIES IMPEDANCE ', 4 11X,' SHUNT ADMITANCE ',4X,'COMENT.',1X,' PAGES BASE'/ 5 43X,'(KM)',2(6X,'DIRECT C.',5X,'HOMOPOLAR C.',1X),16X,'(KV)') IF(IZK.NE.2)WRITE(IDU,6261)PBAS,MOZ 6261 FORMAT(1H1,'POTENTZIA BASE =',F5.0,' MVA',95X,'ORRIALDE',I3/ 1 1X,52('-'),'LINEEN EZAUGARRIAK P.U.TAN',53('-')/ 3 1X,17('-'),'LINEA',18('-'),' LUZER.',7X,' SERIE INPEDANTZEA', 4 11X,' SHUNT ADMITANTZEA ',4X,'ARGIBI.',1X,'ORRIAL. BASE'/ 5 43X,'(KM)',2(6X,'O.ZUZENAK',6X,'O.HOMOPOLAR',1X),16X,'(KV)') NFL=5 ENDIF AZALP=' ' IF(NC.GT.1)THEN AZALP='CIR.1' IF(KP.EQ.1)AZALP='CIR.P' ENDIF TBAS=1200. IF(TL.LT.899.)TBAS=700. IF(TL.LT.499.)TBAS=400. IF(TL.LT.299.)TBAS=230. IF(TL.LT.199.)TBAS=132. IF(TL.LT.99.)TBAS=66. IF(TL.LT.55.)TBAS=45. IF(TL.LT.37.)TBAS=30. IF(TL.LT.25.)TBAS=20. IF(TL.LT.17.)TBAS=15. IF(TL.LT.14.)TBAS=13.2 IF(TL.LT.8.)TBAS=5. BASE=TBAS**2/PBAS IF(MOD(NFL,5).EQ.0)THEN WRITE(IDU,'(1X)') NFL=NFL+1 ENDIF WRITE(IDU,6265)IZENA,XLUZ 1,RI(1,N3+1)/BASE,RI(3,N3+3)/BASE,RI(N3+1,1)*BASE,RI(N3+3,3)*BASE 2,AZALP,LOZ,NOZ,TBAS 6265 FORMAT(1X,A40,F8.2,8F8.4,1X,A5,1X,I3,'-',I3,F6.1) NFL=NFL+1 GO TO 1000 C C --- LINEKO TENTSIO ETA INTENTSITATEEN AZTERKETA 300 CALL IRAKUR(NC,ER,LOC,ND2) DO 310 I=1,N2 DO 310 J=1,N2 310 RI(I,J)=RF(I,J) CALL EXCHAN(RI,N2,LOC,ND2,*1000,2) CALL BITRIC(RI,N2,N2,ER,N2,1,ES,ND2) CALL IZENBU DO 320 I=1,N2 IF(LOC(I).EQ.0)GO TO 320 ERO=ER(I) ER(I)=ES(LOC(I)) ES(LOC(I))=ERO 320 CONTINUE PTR=(0.,0.) PTS=(0.,0.) DO 330 I=1,NC I1=3*(I-1) PRT=(0.,0.) PST=(0.,0.) DO 325 J=1,3 I1=I1+1 I2=I1+N3 PR=ER(I1)*CONJG(ER(I2)) PS=ES(I1)*CONJG(ES(I2)) TJ=CABS(ES(I1)-ER(I1)) PRT=PRT+PR PST=PST+PS 325 WRITE(IDF,6325)I,J,CABS(ES(I1))*SQRT(3.),CABS(ES(I2)),PS, 1CABS(ER(I1))*SQRT(3.),CABS(ER(I2)),PR,TJ,LOC(I1),LOC(I2) 6325 FORMAT(1H ,I2,I4,2(4F13.3,2X),F9.3,I4,I2) PTR=PTR+PRT PTS=PTS+PST 330 WRITE(IDF,6330)I,PST,PRT 6330 FORMAT(1H0,I2,4X,2(26X,2F13.3,2X)//) WRITE(IDF,6330)0,PTS,PTR 1000 CONTINUE GOTO 2 9998 CLOSE(UNIT=IRF) CHK=' ' 9999 RETURN END C--------------------------------- SUBROUTINE ATARAC(ZC,NEU,ND) COMPLEX ZC(ND,ND) CHARACTER AX*20,AY*45 INTEGER ASI,BUK,ZEN COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU LZ=1 ASI=1 BUK=6 11 IF(NEU.LE.BUK)GO TO 21 WRITE(IDF,911)(K,K=ASI,BUK) 911 FORMAT(1H / 3X,6(15X,I2)) WRITE(IDF,912)(K,(REAL(ZC(K,I)),I=ASI,BUK),(AIMAG(ZC(K,I)) 1,I=ASI,BUK),K=LZ,NEU) 912 FORMAT(1H /(7X,I2,6(3X,E14.7),/,9X,6(3X,E14.7)/)) ASI=ASI+6 BUK=BUK+6 GO TO 11 21 ZEN=NEU-ASI+1 WRITE(AX,921)ZEN 921 FORMAT(9H(1H / 3X,,I1,9H(15X,I2))) WRITE(IDF,AX)(K,K=ASI,NEU) WRITE(AY,922)ZEN,ZEN 922 FORMAT('(1H /(7X,I2,',I1,'(3X,E14.7)/9X,',I1,'(3X,E14.7)/))') WRITE(IDF,AY)(K,(REAL(ZC(K,I)),I=ASI,NEU),(AIMAG(ZC(K,I)) 1,I=ASI,NEU),K=LZ,NEU) RETURN END SUBROUTINE BITRIC(A,NFA,NCA,B,NFB,NCB,C,ND) C A ETA B MATRIZEAK BIDERKATZEKO AZPIERRUTINA C-20041122 COMPLEX A(ND, 1),B(ND, 1),C(ND, 1) COMPLEX A(ND, *),B(ND, *),C(ND, *) !C-20041122 COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU IF(NCA.NE.NFB)GO TO 88 DO 200 J=1,NCB DO 200 I=1,NFA C(I,J)=CMPLX(0.,0.) DO 200 K=1,NCA 200 C(I,J)=C(I,J)+A(I,K)*B(K,J) 99 RETURN 88 WRITE(IDF,888) 888 FORMAT(6X/ 6X,'SR. BITRIC - MULTZOEN DIMENTSIOAK EZ DIRA EGOKIAK') GO TO 99 END SUBROUTINE EXCHAN(A,KA,LOC,ND,*,KON) C VS = A x VR ekuazioetan VS eta VR bektoreetako bi balio C bata bestearen tokian jartzeko azpierrutina. C Egingo diren bikote aldaketak LOC(K)-z definitzen dira. C LOC(K) guztiak =K badira EXCHAN eta INTRIX antzekoak dira. C (ez guztiz berdinak) C20041023 COMPLEX A(ND, 1),DIV,FAC COMPLEX A(ND, ND),DIV,FAC INTEGER LOC(ND) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU XL=1.E-20 IF(KON-1)3,1,2 1 DO 100 I=1,KA 100 LOC(I)=I 2 DO 200 K=1,KA IF(LOC(K).EQ.0)GO TO 200 DIV=-A(LOC(K),K) IF(CABS(DIV).LT.XL)GO TO 1001 A(LOC(K),K)=(1.,0.) DO 210 J=1,KA 210 A(LOC(K),J)=A(LOC(K),J)/DIV DO 220 I=1,KA IF(I.EQ.LOC(K))GO TO 220 FAC=A(I,K) A(I,K)=(0.,0.) DO 221 J=1,KA 221 A(I,J)=A(I,J)+FAC*A(LOC(K),J) 220 CONTINUE DO 230 I=1,KA 230 A(I,K)=-A(I,K) 200 CONTINUE 3 RETURN 1001 WRITE(IDF,999)LOC(K),K 999 FORMAT(1H //11X,1H(,I2,1H,,I2,22H) ARDATZA TXIKIEGIA DA) RETURN 1 END SUBROUTINE LABURT(A,NI,NF,ND,KS,KQ,KR) C20131023 COMPLEX A(ND, 1) COMPLEX A(ND,*) INTEGER KR(ND),KS(ND) NF=NI DO 1100 I=1,NI 1100 KR(I)=KS(I) IF(KQ.EQ.0)GO TO 1 DO 1300 I=1,NI IF(KR(I).LE.I.OR.KR(I).GT.NI)GO TO 1300 K=KR(I) DO 310 J=1,NI 310 A(I,J)=A(I,J)-A(K,J) DO 320 J=1,NI 320 A(J,I)=A(J,I)-A(J,K) KR(I)=0 1300 CONTINUE 1 DO 1600 L=1,NI M=NI-L+1 IF(KR(M).GT.0)GO TO 1600 DO 630 I=1,NF DO 630 J=1,NF IF(I.EQ.M.OR.J.EQ.M)GO TO 630 A(I,J)=A(I,J)-A(I,M)/A(M,M)*A(M,J) 630 CONTINUE IF(M.EQ.NF)GO TO 601 DO 610 I=M,NF-1 DO 610 J=1,NF 610 A(J,I)=A(J,I+1) DO 620 I=M,NF-1 DO 620 J=1,NF-1 620 A(I,J)=A(I+1,J) 601 NF=NF-1 1600 CONTINUE RETURN END SUBROUTINE IRAKUR(NC,ER,LOC,ND) COMPLEX ER(ND) REAL VM(3),VF(3),AM(3),AF(3) INTEGER IV(3),NCV(3),NFV(3),IA(3),NCA(3),NFA(3),LOC(ND) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU DO 2100 I=1,NC READ(IRF,106)NCT,(VM(J),VF(J),IV(J),NCV(J),NFV(J),J=1,3) + ,(AM(J),AF(J),IA(J),NCA(J),NFA(J),J=1,3) 106 FORMAT(I2,6(2F5.1,3I1)) !OOJP-20260219 C NCT = ZIRKUITUA C VM = TENTSIOAREN (INTENTSITATEAREN) MODULUA C VF = TENTSIOAREN (INTENTSITATEAREN) FASEA C IV =0=>MUTUR ELIKATUAREN TENTSIOA C =1=>MUTUR ELIKATZILEAREN TENTSIOA C =2=>MUTUR ELIKATZAILEAREN INTENTSITATEA C NCV = ZIRKUITUA C NFV = FASEA C AM = INTENTSITATEAREN (TENTSIOAREN) MODULUA C AF = INTENTSITATEAREN (TENTSIOAREN) FASEA C IA =0=>MUTUR ELIKATUAREN INTENTSITATEA C =1=>MUTUR ELIKATZAILEAREN TENTSIOA C =2=>MUTUR ELIKATZAILEAREN INTENTSITATEA C =3=>POTENTZIA MUTUR ELIKATUAN (EZ BETI) C NCA = ZIRKUITUA C NFA = FASEA DO 2110 J=1,3 I1=3*(NCT-1)+J I2=I1+NC*3 LOC(I1)=0 IF(IV(J).EQ.1)LOC(I1)=3*(NCV(J)-1)+NFV(J) IF(IV(J).EQ.2)LOC(I1)=3*(NCV(J)-1)+NFV(J)+NC*3 LOC(I2)=0 IF(IA(J).EQ.1)LOC(I2)=3*(NCA(J)-1)+NFA(J) IF(IA(J).EQ.2)LOC(I2)=3*(NCA(J)-1)+NFA(J)+NC*3 VF(J)=VF(J)/57.295779 IF(IV(J).NE.2)VM(J)=VM(J)/SQRT(3.) ER(I1)=CMPLX(VM(J)*COS(VF(J)),VM(J)*SIN(VF(J))) IF(IA(J).EQ.3)GO TO 2111 AF(J)=AF(J)/57.295779 IF(IA(J).EQ.1)AM(J)=AM(J)/SQRT(3.) GO TO 2110 2111 AM(J)=AM(J)/VM(J)/COS(ATAN(AF(J))) AF(J)=VF(J)-ATAN(AF(J)) 2110 ER(I2)=CMPLX(AM(J)*COS(AF(J)),AM(J)*SIN(AF(J))) 2100 CONTINUE RETURN END SUBROUTINE OSASYM(NB,NC,ND,Z123,ZDIH,SD,SI) COMPLEX A0,A1,A2,Z123(ND,ND),ZDIH(ND,ND),SD(ND,ND),SI(ND,ND) NTT=3*NB*NC A0=(1.,0.) A1=(-0.5, 0.8660254) A2=(-0.5,-0.8660254) DO 100 I=1,NTT DO 100 J=1,NTT 100 SD(I,J)=(0.,0.) DO 200 I=1,NTT-2,3 SD(I ,I )=A0 SD(I ,I+1)=A0 SD(I ,I+2)=A0 SD(I+1,I )=A2 SD(I+1,I+1)=A1 SD(I+1,I+2)=A0 SD(I+2,I )=A1 SD(I+2,I+1)=A2 200 SD(I+2,I+2)=A0 N=ND CALL BITRIC(Z123,NTT,NTT,SD,NTT,NTT,SI,N) DO 300 I=1,NTT-2,3 SD(I ,I )=A0/3. SD(I ,I+1)=A1/3. SD(I ,I+2)=A2/3. SD(I+1,I )=A0/3. SD(I+1,I+1)=A2/3. SD(I+1,I+2)=A1/3. SD(I+2,I )=A0/3. SD(I+2,I+1)=A0/3. 300 SD(I+2,I+2)=A0/3. CALL BITRIC(SD,NTT,NTT,SI,NTT,NTT,ZDIH,N) RETURN END SUBROUTINE REGRA(Y,NG,XG,X ,K3) C20131024 REAL Y( 6,1) REAL Y( 6,236) C20041023 CHARACTER*1 CL(121),PUN/'.'/,ZUR/' '/ C20041023 CHARACTER*1 E1/'1'/,E2/'2'/,E3/'3'/,E4/'4'/,E5/'5'/,E6/'6'/ CHARACTER*1 CL(121),PUN,ZUR CHARACTER*1 E1,E2,E3,E4,E5,E6 CHARACTER MEZUA1(4)*38,MEZUA2(4)*35,MEZUA3(4)*5 DOUBLE PRECISION EXPE COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU COMMON /IZENBN/ IZK,EXPE,NOZ,N,KT,TL,MOZ,NFL MEZUA1(1)='FASEEN ETA NEUTROAREN ARTEKO TENTSIOAK' MEZUA1(2)='PHASE NEUTRAL VOLTAGES ' MEZUA2(1)='FASEKO TENTSIOEN BALIORIK HANDIENA:' MEZUA2(2)=' PHASE VOLTAGE, MAXIMUM VALUE:' MEZUA3(1)=' FASE' MEZUA3(2)='PHASE' PUN='.' ZUR=' ' E1='1' E2='2' E3='3' E4='4' E5='5' E6='6' IF(K3.GT.0)GO TO 100 WRITE(IDF,105)MEZUA1(IZK) 105 FORMAT(1H1,10X,A38,77X,'V:VMAX',/1H0 1,2X,'XL(OHM)',1X,3('1',11X,'2',6X,'3 4 5 6 7 8 9 '),'1') WRITE(IDF,103) 103 FORMAT(11X,121('.')) GO TO 200 100 WRITE(IDF,205)MEZUA1(IZK) 205 FORMAT(1H1,10X,A38,77X,'V:VMAX',/ 1H0,2X,'XL(OHM)',1X, 1'0.00',25X,'0.25',26X,'0.50',26X,'0.75',24X,'1.00') WRITE(IDF,103) 200 YMAX=ABS(Y(1,1)) DO 1 I=1,6 DO 1 IJ=1,NG 1 IF(YMAX.LT.ABS(Y(I,IJ))) YMAX=ABS(Y(I,IJ)) DO 10 I=1,121 10 CL(I)=ZUR DO 20 I=1,NG X=X+XG CL(1)=PUN IF(K3.GT.0)GO TO 21 CL(41)=PUN CL(81)=PUN CL(121)=PUN J1=40.*ALOG10(Y(1,I)/YMAX)+121.5 J2=40.*ALOG10(Y(2,I)/YMAX)+121.5 J3=40.*ALOG10(Y(3,I)/YMAX)+121.5 J4=40.*ALOG10(Y(4,I)/YMAX)+121.5 J5=40.*ALOG10(Y(5,I)/YMAX)+121.5 J6=40.*ALOG10(Y(6,I)/YMAX)+121.5 IF(J1.GE.1)CL(J1)=E1 IF(J2.GE.1)CL(J2)=E2 IF(J3.GE.1)CL(J3)=E3 IF(J4.GE.1)CL(J4)=E4 IF(J5.GE.1)CL(J5)=E5 IF(J6.GE.1)CL(J6)=E6 WRITE(IDF,104)X,(CL(J),J=1,121) 104 FORMAT(1H , F9.3,1X,121A1) GO TO 22 21 CL(61)=PUN CL(31)=PUN CL(91)=PUN CL(121)=PUN J1=120.*Y(1,I)/YMAX+1.5 J2=120.*Y(2,I)/YMAX+1.5 J3=120.*Y(3,I)/YMAX+1.5 J4=120.*Y(4,I)/YMAX+1.5 J5=120.*Y(5,I)/YMAX+1.5 J6=120.*Y(6,I)/YMAX+1.5 CL(J1)=E1 CL(J2)=E2 CL(J3)=E3 CL(J4)=E4 CL(J5)=E5 CL(J6)=E6 WRITE(IDF,104)X,(CL(J),J=1,121) C 204 FORMAT(1H ,F10.3,4X,121A1) 22 IF (J1.GT.0) CL(J1)=ZUR IF (J2.GT.0) CL(J2)=ZUR IF (J3.GT.0) CL(J3)=ZUR IF (J4.GT.0) CL(J4)=ZUR IF (J5.GT.0) CL(J5)=ZUR IF (J6.GT.0) CL(J6)=ZUR 20 CONTINUE IF(K3.EQ.0)WRITE(IDF,103) IF(K3.GT.0)WRITE(IDF,103) WRITE(IDF,108)(MEZUA3(IZK),I=1,3),MEZUA2(IZK),YMAX C 108 FORMAT(1H // 15X,'1144 FASE 1',5X,'2255 FASE 2',5X,'3366 FASE 3', C 1 7X,'FASEKO TENTSIOEN BALIORIK HANDIENA:',F13.3,' KV') 108 FORMAT(1H // 15X,'1144 ',A5,' 1',5X,'2255 ',A5,' 2',5X,'3366 ',A5 1,' 3',7X,A35,F13.3,' KV') RETURN END SUBROUTINE RES(ND,NC,N1,N2,N3,XA,XG,NG,RF,RI,BC,AD,ES,ER,LOC) COMPLEX RF(ND,ND),RI(ND,ND),BC(ND,ND),AD(ND,ND),ES(ND),ER(ND) REAL VOLT(6,236) INTEGER LOC(ND) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU NT=ND N6=NC*6 N5=NC*3-3 N4=N6-3 IF(NG.GT.236)NG=236 CALL IRAKUR(NC,ER,LOC,NT) WRITE(IDF,199)(J,J=1,N6) 199 FORMAT(1H1// 3X,7HXL(OHM),3X,12(3X,2HES,I2,3X)// ) XA=XA-XG XH=XA DO 1000 I=1,NG XA=XA+XG DO 1100 I1=1,NC*3 DO 1100 J1=1,NC*3 I2=I1+NC*3 J2=J1+NC*3 BC(I1,J1)=(0.,0.) BC(I2,J2)=(0.,0.) BC(I1,J2)=(0.,0.) BC(I2,J1)=(0.,0.) IF(I1.NE.J1) GO TO 1100 BC(I1,J1)=(1.,0.) BC(I2,J2)=(1.,0.) IF(N2.EQ.0.OR.J1.GT.N5)BC(I2,J1)=CMPLX(0.,-1./XA) 1100 CONTINUE C N1 ESATEN DU ERREAKTANTZIAK NON DAUDEN KOKATUTA IF(N1.GE.3)CALL BITRIC(RF,N6,N6,BC,N6,N6,RI,NT) IF(N1.EQ.2)CALL BITRIC(BC,N6,N6,RF,N6,N6,RI,NT) IF(N1.NE.4)GO TO 1001 CALL BITRIC(BC,N6,N6,RI,N6,N6,AD,NT) DO 1200 I1=1,N6 DO 1200 J1=1,N6 1200 RI(I1,J1)=AD(I1,J1) 1001 CALL EXCHAN(RI,N6,LOC,NT,*999,2) CALL BITRIC(RI,N6,N6,ER,N6,1,ES,NT) WRITE(IDF,198)XA,(CABS(ES(J)),J=1,N6) 198 FORMAT(1H ,F10.3,1X,12(1PE10.2)) DO 1300 I1=1,3 VOLT(I1,I)=CABS(ES(I1+N5)) 1300 VOLT(I1+3,I)=CABS(ES(I1+N4)) 1000 CONTINUE C N3 ESATEN DU IRTEERA GRAFIKOA NOLAKOA DEN CALL REGRA(VOLT,NG,XG,XH,N3) 999 RETURN END SUBROUTINE ZY(L,N,FNCY,RHO,Z,Y,DX,DY,RAD,RMG,IN,D,ID,R,G,KR,W,KW) C***** SUBROUTINE ONEN BIDEZ LINE BATEN (R+JX) INPEDANTZEAK ETA ****** C***** (G+JB) ADMITANTZEAK KALKULATZEN DIRA ****** C***** "Transmission Line Reference Book 345 kV and Above" ****** C***** liburuaren 95. orrialdean esandakoaren arabera ****** C***** Electric Power Research Institute, Palo Alto CA94304, 1975 ****** REAL FNCY,DX(L),DY(L),RAD(L),RMG(L),D(L),R(L),G(L),K,MUCY INTEGER IN(L),ID(L),KR(L) COMPLEX Z(L,L),Y(L,L),W(L,L) FK(A,F,RLOC)=2.80E-3*A*SQRT(F/RLOC) FP(K,T,P)=P/8.-K*COS(T)/3./SQRT(2.)+K**2 *(COS(2.*T)*(0.6728+ALOG( 12./K))+T*SIN(2.*T))/16.+K**3 *COS(3.*T)/45./SQRT(2.)-P*K**4 *COS(4 2.*T)/1536. FQ(K,T,P)=ALOG(2./K)/2.-0.0386+K*COS(T)/3./SQRT(2.)-P*K**2 *COS(2. 1*T)/64.+K**3 *COS(3.*T)/45./SQRT(2.)-K**4 *(T*SIN(4.*T)+COS(4.*T)* 2(ALOG(2./K)+1.0895))/384. PI=3.1415926 C=3.E8 OMEG=2.*PI*FNCY MUCY=2.E-4*OMEG C *** MUCY=MU ZATI (BI BIDER PI) BIDER OMEGA (MU=4*PI*E-7, MUCY=MU*FNCY) C *** MUCY=MU ENTRE DOS PI POR OMEGA (MU=4*PI*E-7, MUCY=MU*FNCY) EPCY=2.E-10*C**2/OMEG C *** EPCY=BAT ZATI (BI BIDER PI EPSILON OMEGA)(EPS=1/MU/C**2=E-9/36/PI) C *** EPCY=UNO ENTRE DOS PI EPSILON OMEGA (EPS=1/MU/C**2=E-9/36/PI) DO 1 I=1,N G(I)=0. !C-20041122 R(I)=R(I)/IN(I) RMG(I)=RMG(I)/100. RAD(I)=RAD(I)/100. RG=GMR(IN(I),RMG(I),D(I),ID(I)) RR=GMR(IN(I),RAD(I),D(I),ID(I)) DPMM=2.*DY(I) TETA=0. K=FK(DPMM,FNCY,RHO) P=FP(K,TETA,PI)*2.*MUCY Q=FQ(K,TETA,PI)*2.*MUCY X=ALOG(DPMM/RG)*MUCY Z(I,I)=CMPLX(R(I)+P,X+Q) X=ALOG(DPMM/RR)*EPCY Y(I,I)=CMPLX(0.,-X) W(I,I)=Y(I,I) J1=I+1 IF(N-J1)1,15,15 15 DO 16 J=J1,N DPMN=DY(I)+DY(J) DMN =DY(I)-DY(J) HMN =DX(I)-DX(J) DPMN=SQRT(DPMN**2+HMN**2) DMN =SQRT(DMN **2+HMN**2) TETA=ASIN(HMN/DPMN) K=FK(DPMN,FNCY,RHO) P=FP(K,TETA,PI)*2.*MUCY Q=FQ(K,TETA,PI)*2.*MUCY X=ALOG(DPMN/DMN)*MUCY Z(I,J)=CMPLX(P,X+Q) Z(J,I)=Z(I,J) X=ALOG(DPMN/DMN)*EPCY Y(I,J)=CMPLX(0.,-X) W(I,J)=Y(I,J) W(J,I)=W(I,J) 16 Y(J,I)=Y(I,J) 1 CONTINUE M=L CALL LABURT(W,N,N3,M,KR,KW,ID) CALL EXCHAN(Y,N,ID,M,*99,1) CALL EXCHAN(W,N3,ID,M,*99,1) DO 2 I=1,N W(I,I)=CMPLX(G(I),0.)+W(I,I) 2 Y(I,I)=CMPLX(G(I),0.)+Y(I,I) 99 RETURN END C --- *** --- *** --- *** --- *** --- *** --- *** --- *** --- *** --- SUBROUTINE EREPRO(CHK) C AIREKO LINEA ELEKTRIKOEK SORTUTAKO C EREMU ELEKTROMAGNETIKOAK KALKULATZEKO PROGRAMA. C PARALELOAN JARRITAKO 10 LINEA ARTE KONTUAN HARTU AHAL DITU. C$ FORTY MAP,XREF,FDS EREMU CEREMU PARAMETER (N1=32) DIMENSION V(N1),PHI(N1),RA(N1),RMG(N1),D(N1),IDL(N1),IN(N1),X(N1), &Y1(N1),Y2(N1),PC(N1,N1),VR(N1),VI(N1),XR(N1),XI(N1),FI(N1),JCK(N1) REAL FNCY INTEGER POPT CHARACTER IZENA*56,EGUNA*10, EUSK*5,EROA*15, CHK*4 DOUBLE PRECISION EXPE EQUIVALENCE(RMG(1),PC(1,N1)) COMMON/BI/PC,VR,VI,RA,D,IN,IDL COMMON/IRU/XA,XG,NX,YA,YG,NY,X,Y1 COMMON /IZENBN/ IZK,EXPE,NOZ,NNN,KTKTKT,TL,MOZ,NFL COMMON /IZENBC/ EGUNA,IZENA,EUSK,EROA COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU CHARACTER IZBR21(2)*7, IZBR22(2)*28,IZBR23(2)*15,IZBR24(2)*33 4,IZBR31(2)*22,IZBR32(2)*18,IZBR33(2)*54,IZBR34(2)*16,IZBR35(2)*8 5,IZBR36(2)*54,IZBR37(2)*16 COMMON /HZENBU/IZBR21,IZBR22,IZBR23,IZBR24 4 ,IZBR31,IZBR32,IZBR33,IZBR34,IZBR35,IZBR36,IZBR37 CHARACTER IZBE21(2)*90,IZBE22(2)*46 COMMON /HZEPRO/IZBE21,IZBE22 99 CALL HIRUAT(IRF,CHK,*98,*9999,*9998) 98 READ(IRF,'(F4.0,A56,F10.2,A10)',END=9998)TL,IZENA,EXPE,EGUNA READ(IRF,599)L2,FNCY,RHO,POPT,NA,IE,IM,L,XA,XG,NX,YA,YG,NY 599 FORMAT(I3,F9.0,F7.2,5I2,2X,2(F6.2,F4.2,I3)) print *,'EREMU ',izena C L2 = EROALEEN KOPURUA C FNCY = LINEAREN FREKUENTZIA C RHO = LINE TARTE HONEN LURRAREN ERRESISTIBITATEA C POPT <1 => KONF. ORIGINALAREN MAXWELL-EN POTENTZIAL KOEF. ATARATZEN DIRA C =1 => KONF. ORIGINALAREN MAXWELL-EN POTENTZIAL KOEF. ATARATZEN DIRA C =2 => KONF. BALIOKIDEAREN M-EN POT. KOEF. ATARATZEN DIRA C >2 => BI KONFIGURAZIOEN M-EN POT. KOEFIZIENTEAK ATARATZEN DIRA C NA =1 => ZARATA AKUSTIKOARI BURUZKO DATUAK ATARATZEN DIRA C IE >0 => EREMU ELEKTRIKOAREN EMAITZAK ATARATZEN DIRA C IM >0 => EREMU MAGNETIKOAREN EMAITZAK ATARATZEN DIRA C L = C XA = EREMUAK KALKULATZEKO HASIERAKO X KOORDENADA (M-TAN) C XG = EREMUAK KALKULATZEKO X KOORDENADARENTZAKO GEHIGARRIA (M-TAN) C NX = ZENBAT BIDER GEHITUKO DEN XG ( <101 ) C YA = EREMUAK KALKULATZEKO HASIERAKO Y KOORDENADA (M-TAN) C YG = EREMUAK KALKULATZEKO Y KOORDENADARENTZAKO GEHIGARRIA (M-TAN) C NY = ZENBAT BIDER GEHITUKO DEN YG ( <11 ) READ(IRF,598)(RMG(I),RA(I),IN(I),D(I),IDL(I),X(I),Y1(I),Y2(I) &,XI(I),FI(I),V(I),PHI(I),I=1,L2) 598 FORMAT(2F7.4,I2,F7.4,I2,3F7.3,9X,F5.3,F6.2,F7.3,F6.2) C RMG = EROALEAREN "BATEZBESTEKO ERRADIO GEOMETRIKOA" CM-TAN C RA = EROALEAREN ERRADIOA CM-TAN C IN = EROALE SORTAREN AZPIEROALE KOPURUA C D = AZPIEROALEEN ARTEKO DISTANTZIA EDO EROALE SORTAREN DIAMETROA M-TAN C IDL =0 => AURREKO DATUA AZPIEROALEN ARTEKO DISTANTZIA DA C =1 => AURREKO DATUA EROALE SORTAREN DIAMETROA DA C X = EROALEAREN X KOORDENATUA M-TAN C Y1 = EROALEAREN Y KOORDENATUA M-TAN EUSKARRIEN ONDOAN C Y2 = EROALEAREN Y KOORDENATUA M-TAN EUSKARRIEN ARTEKO TARTEAREN ERDIAN C XI = INTENTSITATEAREN BALIOA KA-TAN C FI = INTENTSITATEAREN FASEA GRADUTAN C V = TENTSIOAREN BALIOA KV-TAN C PHI = TENTSIOAREN FASEA GRADUTAN KTKTKT=20 CALL IZENBU C IZBE21='SARRERAKO DATUAK, AZTERTUTAKO LINEAREN EZAUGARRIAK' WRITE(IDF,696)IZBE21(IZK),IZBE22(IZK) 1,L2,FNCY,RHO,POPT,NA,IE,IM,L,XA,XG,NX,YA,YG,NY 696 FORMAT(//8X,A//8X,A,13X,'XA XG NX YA YG NY'/ & 9X,I2,F11.0,F9.2,8X,5I3, 8X,2(F8.2,F6.2,I4)) WRITE(IDF,697)(I,RMG(I),RA(I),IN(I),100.*D(I),IDL(I),X(I),Y1(I), 1Y2(I),XI(I),FI(I),V(I),PHI(I),I=1,L2) C 697 FORMAT(1H /8X,'COND GMR RAD ZEN BUN D ZER X Y1 ' C 1,' Y2 INT KA FAS G TEN KV PHAS G'// C 2,(9X,I2,F6.2,F5.2,I4,F7.2,I3,2X,3F8.2,2(F10.2,F8.2))) 697 FORMAT(1H /8X,'EROA BGE ERR ZEN SOR.D ZER X Y1 ' 1,' Y2 INT KA FAS G TEN KV PHAS G'// 2,(9X,I2,F6.2,F5.2,I4,F7.2,I3,2X,3F8.2,2(F10.2,F8.2))) IF(RHO)95,95,97 97 IF(FNCY)95,95,96 96 DK=660.*SQRT(RHO/FNCY) GO TO 94 95 DK=800. 94 CONTINUE DO 1 I=1,L2 1 Y1(I)=Y1(I)+(Y2(I)-Y1(I))*2./3. DO 2 I=1,L2 PHI(I)=PHI(I)*0.017453293 V(I)=1000.*V(I)/1.7320508 VR(I)=V(I)*COS(PHI(I)) VI(I)=V(I)*SIN(PHI(I)) FI(I)=FI(I)*0.017453293 XI(I)=1000.*XI(I) XR(I)=XI(I)*COS(FI(I)) XI(I)=XI(I)*SIN(FI(I)) RA (I)=RA (I)/100. 2 CONTINUE KOPT=0 IF(POPT.LT.0)POPT=0 !C-20131026 IF(POPT.GT.3)POPT=3 !C-20131026 POPT=POPT+1 100 CALL PMAXW(L2,X,Y1,IN,RA,D,IDL,PC) GO TO(203,202,201,200),POPT 200 IF(KOPT)202,202,201 201 CALL GITRIX(PC,L2,V,L4) KOPT=1 !C-20131026 L2=L4 202 CALL IDATZM(PC,L2,KOPT,1,IZK) 203 CALL INTRIX(PC,L2,JCK,N1,*99) IF(POPT-1)204,205,204 204 CALL IDATZM(PC,L2,KOPT,2,IZK) 205 CALL IDATZG(L2,KOPT,IZK) IF(IE.GT.0.OR.IM.GT.0.OR.L.GT.0) &CALL EREMU(L2,KOPT,XR,XI,DK,IE,IM,L) IF(NA.GT.0)CALL ANOISE(L2,KOPT,V,PHI,RA,IN,NA,IZK) IF(KOPT) 99,208, 99 208 KOPT=1 IF(POPT-3)99,99,100 9998 CLOSE(UNIT=IRF) CHK=' ' 9999 RETURN END C$ FORTY MAP,XREF,FDS ANOISE SUBROUTINE ANOISE(N,KOPT,V,PHI,RA,IN,AN,IZK) C ********************************************************************* C * SUBRUTINA HONETAN LINEEK SORTUTAKO PRESIO AKUSTIKOAREN ZEHARKAKO * C * PROFILA KALKULATZEN DA, ''E.P.R.I.''K 1975EAN ARGITARATUTAKO * C * '' TRANSMISSION LINE REFERENCE BOOK 345 KV AND ABOVE '' * C * LIBURUAREN 6. KAPITULUAN (AUDIBLE NOISE) ESANDAKOAREN ARABERA * C ********************************************************************* PARAMETER (N1=32) REAL V(N1),RA(N1),PHI(N1),X(N1),Y(N1),GRS(N1),Z(N1),GRM(N1) INTEGER AN,IN(N1) COMPLEX P REAL LONG,JHR,JWC,NM2HR,NM2WC,NM2PT,LANDA,LANDA1,LANDA2 CHARACTER ANOI11(2)*4, ANOI12(2)*72,ANOI21(2)*47,ANOI22(2)*54 1,ANOI23(2)*72,ANOI24(2)*26,ANOI25(2)*25,ANOI26(2)*23 COMMON /HZOISE/ ANOI11,ANOI12,ANOI21,ANOI22,ANOI23,ANOI24,ANOI25 1,ANOI26 EQUIVALENCE(GRM(1),Z(1)) COMMON/BAT/A1(N1),A2(N1) COMMON/IRU/XA,XG,NX,YA,YG,NY,X,Y COMMON/LAU/GRM COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU CHARACTER*25 KONFOR(2),KONFBA(2),POTGR1(2)*32,POTGR2(2)*60 1,MAXP1(2)*35,MAXP2(2)*19,KAP1(2)*27,KAP2(2)*19 COMMON /HZDATZ/ KONFOR,KONFBA,POTGR1,POTGR2,MAXP1,MAXP2,KAP1,KAP2 DB(XNM2)=20.*ALOG10(XNM2/2.E-5) AB(AX)=10.**(AX/10.) IF(AN.EQ.0) GO TO 99 ATE=-0.0075 ATE=-0.0075 LANDA=3.43 DC=20.5 XK1=0. XK2=1. LONG=5000. L1=100 L2=10 XM=0.01 C YM=0.01 ZM=10. KONTR=0 PI=3.14159265 IF(NX.GT.L1.OR.NY.GT.L2.OR.XG.LT.XM.OR.YG.LT.XM)GO TO 98 DO 100 I=1,N IF(IN(I)-2)101,102,103 101 XKN=5.6 GO TO 104 102 XKN=1.8 GO TO 104 103 XKN=1.0 104 A1(I)=46.4-665.0/GRM(I) A1(I)=AB(A1(I)) A1(I)=IN(I)**2*(200.*RA(I)/3.8)**4.4*A1(I)*XKN A2(I)=53.5-505.5/GRM(I) C1=10.6-0.41/(2.*RA(I)) A2(I)=A2(I)+C1 C1=47.4-1000./(IN(I)+15) C2=24.1-390.0/(IN(I)+10) C=(C2-C1)/2.28 C=C1+C*(200.*RA(I)-2.35) A2(I)=A2(I)+C A2(I)=AB(A2(I)) GRS(I)=(12.5*200.*RA(I)-4.57)/(200.*RA(I)-1.07) IF(IN(I)-4)106,106,105 105 GRS(I)=GRS(I)/(1.+0.027*(IN(I)-4)) 106 GRS(I)=GRM(I)/GRS(I) U=10.*(GRS(I)-0.8) Z(I)=(63.4*U**2+1.87*U**3-1.15*U**4)/1000. 100 CONTINUE Y2=YA-YG DO 200 K=1,NY+1 CALL IZENBU Y2=Y2+YG IF(Y2)200,201,201 201 IF(KOPT)202,202,203 C 997 FORMAT(1H /51X,22HKONFIGURAZIO ORIGINALA) 202 WRITE(IDF,'(1H /51X,A)')KONFOR(IZK) GO TO 204 C 996 FORMAT(1H /51X,23HKONFIGURAZIO BALIOKIDEA) 203 WRITE(IDF,'(1H /51X,A)')KONFBA(IZK) 204 DO 300 I=1,N IF(ABS(V(I))-ZM)301,301,300 301 R=RA(I)*100. G=GRS(I) IF(R.GE.1.0.AND.R.LE.3.0.AND.G.LE.1.4.AND.G.GE.0.8)GO TO 300 C 998 FORMAT(/I3,' EROALEA (LUR KABLEA) EZ DA KONTUAN HARTZEN' C 1,' EROALE HEZEKO KASUAN ') WRITE(IDF,'(/A,I3,A)')TRIM(ANOI11(IZK)),I,TRIM(ANOI12(IZK)) 300 CONTINUE C 995 FORMAT(/16X,'PRESIO AKUSTIKOAREN ZEHARKAKO PROFILA, LURRETIK',F6.2 C 1,' M-RA N/M2 ETA 20 MICRON/M2-REN GAINEKO DB-TAN' // 2X,5HDIST.,8X C 2,'******* BANDA ZABALEKO ZARATA ALEATORIOAREN MAILA *******',12X C 3,'100 HZ-EKO ZARATAREN MAILA' / 15X,'** EURITE GOGORRAK ***',14X, C 4'**** EROALE HEZEAK ****', 13X,'**** EURITE GOGORRAK ****' / C 5 18X,'N/M2',9X,5HDB(A),18X,4HN/M2,9X,5HDB(A),19X,4HN/M2,9X,2HDB) WRITE(IDF,995)ANOI21(IZK),Y2,ANOI22(IZK),ANOI23(IZK),ANOI24(IZK) 1, ANOI25(IZK),ANOI26(IZK),ANOI25(IZK) 995 FORMAT(/16X,A,F6.2,A//2X,A,12X,A/15X,A,11X,A,13X,A/ 5 19X,'N/M2',9X,5HDB(A),18X,4HN/M2,9X,5HDB(A),19X,4HN/M2,10X,2HDB) ILK=0 !Datuekin idatzitako lerro kopurua X2=XA-XG DO 400 J=1,NX+1 JHR=0. JWC=0. P=(0.,0.) X2=X2+XG IF(MOD(ILK,6).EQ.0)THEN WRITE(IDF,'(1X)') ILK=ILK+1 ENDIF ILK=ILK+1 !Idatzitako lerroen kopurua DO 500 I=1,N XD=X2-X(I) YH1=Y2-Y(I) YH2=Y2+Y(I) IF(ABS(XD)-XM)501,502,502 501 IF(ABS(YH1)-XM)403,502,502 502 R=RA(I)*100. G=GRS(I) R1=SQRT(XD*XD+YH1*YH1) R2=SQRT(XD*XD+YH2*YH2) IF(LONG-1000.)505,505,506 505 HM1=(ATAN2(LONG,2.*R1)*EXP(ATE*R1)/R1 + XK1*ATAN2(LONG,2.*R2)* 1 EXP(ATE*R2)/R2)/(2.*PI) GO TO 507 506 HM1=(EXP(ATE*R1)/R1+XK1*EXP(ATE*R2)/R2)/4. 507 JHR=JHR+A1(I)*HM1 COEF=DC*A2(I)/SQRT(2.)/PI LANDA1=0.-PHI(I)-2.*PI*R1/LANDA LANDA2=0.-PHI(I)-2.*PI*R2/LANDA P1=COEF*(COS(LANDA1)/R1+XK2*COS(LANDA2)/R2) P2=COEF*(SIN(LANDA1)/R1+XK2*SIN(LANDA2)/R2) P=P+CMPLX(P1,P2) IF(R.GE.1..AND.R.LE.3..AND.G.LE.1.4.AND.G.GE..8) GO TO 504 IF(ABS(V(I))-ZM)500,500,503 503 KONTR=1 504 JWC=JWC+A1(I)*HM1*Z(I) 500 CONTINUE NM2HR=DC*SQRT(JHR)*1.E-3 NM2WC=DC*SQRT(JWC)*1.E-3 NM2PT=CABS(P)*1.E-3 DBAHR=DB(NM2HR) DBAWC=DB(NM2WC) DBAPT=DB(NM2PT) IF(KONTR)402,401,402 401 WRITE(IDF,994)X2,NM2HR,DBAHR,NM2WC,DBAWC,NM2PT,DBAPT 994 FORMAT(1H , F7.2,8X,1PE9.2,0PF12.2,15X,1PE9.2,0PF12.2,16X,1PE9.2 1,0PF12.2,1X) GO TO 400 402 WRITE(IDF,993)X2,NM2HR,DBAHR,NM2PT,DBAPT C 993 FORMAT(1H / F7.2,8X,1PE9.2,0PF12.2,10X, C 1'NOT ENOUGH STATISTICAL DATA',13X,1PE9.2,0PF12.2 ) 993 FORMAT(1H , F7.2,8X,1PE9.2,0PF12.2,10X, 1'DATU ESTATISTIKO GUTXIEGI',15X,1PE9.2,0PF12.2 ) GO TO 400 403 WRITE(IDF,992)X2,X2,Y2 C 992 FORMAT(1H / F7.2,25X,' RESULTS FOR X=',F6.2,' E Y=',F6.2,' C 1 ARE NOT SIGNIFICANT') 992 FORMAT(1H , F7.2,25X,' X=',F6.2,' ETA Y=',F6.2, 1' TOKIRAKO EMAITZAK EZ DIRA ESANGURATSUAK') 400 CONTINUE 200 CONTINUE GO TO 99 98 WRITE(IDF,999) 999 FORMAT(1H1///10HANOISE-N, ,'MUGAEI JAGOKEZAN (DAGOKIEZAN, DAGOZKIE 1N) BALDINTZAK EZ DIRA BETETZEN') 99 RETURN END C$ FORTY MAP,XREF,FDS ATARA SUBROUTINE ATARA (MULTZO,NEURRI) PARAMETER (N1=32) REAL MULTZO(N1,N1) CHARACTER *20 AX CHARACTER *25 AY COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU INTEGER ASIERA,AMAIA ASIERA=1 AMAIA=6 33 IF(NEURRI-AMAIA)1,1,2 2 WRITE(IDF,999)(K,K=ASIERA,AMAIA) 999 FORMAT(1H //3X,6(15X,I2)) WRITE(IDF,997)(K,(MULTZO(K,I),I=ASIERA,AMAIA),K=1,NEURRI) 997 FORMAT(1H /(7X,I2,6(3X,E14.7))) ASIERA=ASIERA+6 AMAIA=AMAIA+6 GO TO 33 1 NBARRI=NEURRI-ASIERA+1 WRITE(AX,998)NBARRI 998 FORMAT(9H(1H //3X,,I1,9H(15X,I2))) WRITE(IDF,AX)(K,K=ASIERA,NEURRI) WRITE(AY,996)NBARRI 996 FORMAT(12H(1H /(7X,I2,,I1,12H(3X,E14.7)))) WRITE(IDF,AY)(K,(MULTZO(K,I),I=ASIERA,NEURRI),K=1,NEURRI) RETURN END C$ FORTY MAP,XREF,FDS BITRIX SUBROUTINE BITRIX(A,NFA,NCA,B,NFB,NCB,P) PARAMETER (N1=32) DIMENSION A(N1,N1),B(N1,1),P(N1,1) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU 888 FORMAT(1H ,5X,'MULTZO ONEIK EZIN DIRA BIDERTU') IF(NCA-NFB)3,1,3 1 CONTINUE DO 2 J=1,NCB DO 21 I=1,NFA P(I,J)=0. DO 211 K=1,NCA 211 P(I,J)=P(I,J)+A(I,K)*B(K,J) 21 CONTINUE 2 CONTINUE RETURN 3 WRITE(IDT,888) STOP 1002 END C$ FORTY MAP,XREF,FDS EREMU SUBROUTINE EREMU(N,KOPT,XIR,XII,DEK,IELEC,IMAG,L) C *** ****************************************************************** C SUBRUTINA HONETAN LINEA BATEK SORTUTAKO EREMU ELEKTRIKO ETA C MAGNETIKOA KALKULATZEN DIRA, D.W. DENO-REN 'TRANSMISSION C LINE FIELDS' (IEEE TRANSACTIONS VOL.PAS-95 NO.5 SEP/OCT 1976) C ARTIKULUAREN ETA WG 36-01(EFFECTS OF CORONA AND FIELD) LAN TALDEAK C SC 36(INTERFERENCE) KOMITEAREN IZENEAN AURKEZTUTAKO C 36-07(CIGRE 1978) TXOSTENAREN ARABERA C *** ****************************************************************** PARAMETER (N1=32) DOUBLE PRECISION EXPE COMMON/BAT/QR,QI COMMON/IRU/XASI,XGEI,NXG,YASI,YGEI,NYG,X,Y COMMON /IZENBN/ IZK,EXPE,NOZ,NNNN,KT,TL,MOZ,NFL REAL X(N1),Y(N1),QR(N1),QI(N1),XIR(N1),XII(N1) REAL MUPI COMPLEX POTEN C COMMON /HIZKON/ KONFOR,KONFBA OOJP-20260208 CHARACTER*25 KONFOR(2),KONFBA(2),POTGR1(2)*32,POTGR2(2)*60 1,MAXP1(2)*35,MAXP2(2)*19,KAP1(2)*27,KAP2(2)*19 COMMON /HZDATZ/ KONFOR,KONFBA,POTGR1,POTGR2,MAXP1,MAXP2,KAP1,KAP2 CHARACTER*25 POTEL1(2)*48,POTEL2(2)*50 1,ERMAG1(2)*28,ERMAG2(2)*15,ERMAG3(2)*122,ERMAG4(2)*19,ERMAG5(2)*19 2,ERELE1(2)*25,ERELE2(2)*15,ERELE3(2)*121,ERELE4(2)*19,ERELE5(2)*19 3,MEZU21(2)*15,MEZU22(2)*7, MEZU23(2)*36, MEZU24(2)*74 COMMON /HZREMU/ POTEL1,POTEL2 1 ,ERMAG1,ERMAG2,ERMAG3,ERMAG4,ERMAG5 2 ,ERELE1,ERELE2,ERELE3,ERELE4,ERELE5 3 ,MEZU21,MEZU22,MEZU23,MEZU24 COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU FUNK(R,S,T,U,A)=SQRT((R*SIN(A)+S*COS(A))**2 +(T*SIN(A)+U*COS(A))** 12 ) BAT(A,B)=A/(A*A+B*B) LIM1=100 LIM2=10 XMUGA=0.01 YMUGA=0.01 C20041023 ZMG=1.E-38 ZMG=1.E-37 RD=57.295779 EPPI=18.E6 C EPPI=BAT ZATI (BI BIDER PI BIDER EPSILON) C =1./(2.*PI*EPS)=18.E9(S.I.) C=3.E8 BADA MUPI=2.E-7 C MUPI=MU ZATI (BI BIDER PI)=MU/(2.*PI)=2.E-7(S.I.) IF(IELEC)11,11,12 11 IF(IMAG)99,99,12 12 IF(NXG-LIM1)14,14,13 13 WRITE(IDF,613) 613 FORMAT(1H1///10X,'BIDEA ZABALEGIA DA, NXG 100 BAINO AUNDIAGOA DA') GO TO 99 14 IF(NYG-LIM2)16,16,15 15 WRITE(IDF,615) 615 FORMAT(1H1///10X,'BIDEA GARAIEGIA DA, NYG 10 BAINO AUNDIAGOA DA') GO TO 99 16 IF(XGEI-0.01)17,18,18 17 WRITE(IDF,617) 617 FORMAT(1H1///10X,'XGEI 0.01 BAINO TXIKIAGOA DA') GO TO 99 18 IF(YGEI-0.01)19,20,20 19 WRITE(IDF,619) 619 FORMAT(1H1///10X,'YGEI 0.01 BAINO TXIKIAGOA DA') GO TO 99 20 CONTINUE DO 100 KB=1,2 IF(KB-1)101,101,102 101 IF(IELEC)103,103,102 102 YA=YASI-YGEI C*200 DO 200 EREMU ELEKTRIKO EDO INDUKZIO MAGNETIKOAREN KALKULUA C AZTERTU GURA DIREN SESTRA GUZTIETAN DO 200 K=1,NYG+1 CALL IZENBU ILK=0 !Datuekin idatzitako lerroen kopurua IF(KOPT)201,201,203 201 WRITE(IDF,995)KONFOR(IZK) !Konfigurazio originala 995 FORMAT(1H /51X,A) GO TO 204 203 WRITE(IDF,995)KONFBA(IZK) !Konfigurazio baliokidea 204 YA=YA+YGEI IF(KB-1)208,208,206 206 WRITE(IDF,988)TRIM(ERMAG1(IZK)),YA,ERMAG2(IZK) 1 ,ERMAG3(IZK),(ERMAG4(IZK),I=1,2),(ERMAG5(IZK),I=1,4) 988 FORMAT(1H /44X,A,F6.2,A///3X,A/8X,2(A),4(A)) GO TO 210 208 WRITE(IDF,989)TRIM(ERELE1(IZK)),YA,ERELE2(IZK) 1 ,ERELE3(IZK),(ERELE4(IZK),I=1,2),(ERELE5(IZK),I=1,4) 989 FORMAT(1H /44X,A,F6.2,A///2X,A/1H ,8X,2(A),4(A)) 210 XA=XASI-XGEI C*500 DO 500 E.ELEK. EDO I.MAG.-AREN KALKULUA SESTRA BAKOITZEAN DO 500 I=1,NXG+1 GXR=0. GXI=0. GYR=0. GYI=0. XA=XA+XGEI C*600 DO 600 E.ELEK. EDO I.MAG.-AREN KALKULUA C SESTRA BATEKO PUNTUETAN DO 600 J=1,N XD=XA-X(J) YH1=YA-Y(J) IF(KB-1)602,602,601 601 YH2=YA+DEK GO TO 603 602 YH2=YA+Y(J) 603 CONTINUE IF(ABS(XD).GE.XMUGA)GO TO 606 IF(ABS(YH1).LT.XMUGA.OR.ABS(YH2).LT.XMUGA)GO TO 504 606 S11=BAT(XD,YH1) S12=BAT(XD,YH2) S21=BAT(YH1,XD) S22=BAT(YH2,XD) IF(KB-1)608,608,607 607 XM=(S21-S22)*MUPI YM=(S12-S11)*MUPI GXR=GXR+XIR(J)*XM GXI=GXI+XII(J)*XM GYR=GYR+XIR(J)*YM GYI=GYI+XII(J)*YM GO TO 600 608 XM=(S11-S12)*EPPI YM=(S21-S22)*EPPI GXR=GXR+QR(J)*XM GXI=GXI+QI(J)*XM GYR=GYR+QR(J)*YM GYI=GYI+QI(J)*YM 600 CONTINUE C ELIPSE BAKOITZAREN ARDATZ NAGUSIEN KALKULUA IF(ABS(YA).LE.YMUGA.AND.KB.EQ.1)GO TO 591 ECUA=GYR*GXR+GYI*GXI IF(ABS(ECUA).LE.ZMG)GO TO 599 ECUB=GXI*GXI-GYI*GYI+GXR*GXR-GYR*GYR ECUC=-ECUA TANA1=(-ECUB+SQRT(ECUB**2 -4.*ECUA*ECUC))/(2.*ECUA) TANA2=(-ECUB-SQRT(ECUB**2 -4.*ECUA*ECUC))/(2.*ECUA) A1=ATAN(TANA1) A2=ATAN(TANA2) 592 FA1=FUNK(GYI,GXI,GYR,GXR,A1) FA2=FUNK(GYI,GXI,GYR,GXR,A2) A11=A1*57.295779 A22=A2*57.295779 IF(FA1-FA2)502,501,501 501 F1=FA1*SQRT(2.) F2=FA2*SQRT(2.) A1=A11 A2=A22 GO TO 503 502 F1=FA2*SQRT(2.) F2=FA1*SQRT(2.) A1=A22 A2=A11 C ALDIUNEKO BALIOEN KALKULUA 503 GXR2=-GXI GYR2=-GYI G1M=SQRT(GXR *GXR +GYR *GYR )*SQRT(2.) G2M=SQRT(GXR2*GXR2+GYR2*GYR2)*SQRT(2.) G1D=0. IF(ABS(GYR ).GE.ZMG.OR.ABS(GXR ).GE.ZMG)G1D=ATAN2(GYR ,GXR )*RD G2D=0. IF(ABS(GYR2).GE.ZMG.OR.ABS(GXR2).GE.ZMG)G2D=ATAN2(GYR2,GXR2)*RD GXABS=SQRT(GXR*GXR+GXI*GXI) GYABS=SQRT(GYR*GYR+GYI*GYI) GXFAS=0. IF(ABS(GXR).GE.ZMG.OR.ABS(GXI).GE.ZMG)GXFAS=ATAN2(GXI,GXR)*RD GYFAS=ATAN2(GYI,GYR)*57.295779 IF(MOD(ILK,6).EQ.0)THEN WRITE(IDF,'(1X)') ILK=ILK+1 ENDIF ILK=ILK+1 !Idatzitako lerroen kopurua WRITE(IDF,987)XA,GXABS,GXFAS,GYABS,GYFAS,F1,A1,F2,A2,G1M,G1D, 1 G2M,G2D 987 FORMAT(1H ,F7.2,6(2X,1PE9.3,0PF8.2)) !OOJP-20260216 lehen 1PE9.2 GO TO 500 C MEZU23='-RAKO EMAITZAK EZ DIRA ESANGURATSUAK' 504 WRITE(IDF,985)XA,TRIM(MEZU21(IZK)),XA,TRIM(MEZU22(IZK)),YA, 1 MEZU23(IZK) 985 FORMAT(1H ,F7.2,2X,A,F6.2,A,F6.2,A) ILK=ILK+1 GO TO 500 C MEZU24='BEGIRATU IA EROALEEN TENTSIOAK EDO INTENTSITATEAK SARTU DIREN' 599 WRITE(IDF,984)MEZU24(IZK) 984 FORMAT(1H ///10X,A///) IF(KB-1)103,103,99 591 GXR=0. GXI=0. A1=90./57.295779 A2= 0. GO TO 592 500 CONTINUE 200 CONTINUE 103 IF(IMAG)99,99,100 100 CONTINUE 99 IF(L.LT.1.OR.NYG.GT.LIM1.OR.NXG.GT.LIM2)GO TO 98 XA=XASI-XGEI DO 700 K=1,NXG+1 IF(KOPT.GT.0)GO TO 701 WRITE(IDF,995)KONFOR(IZK) !Konf. originala GO TO 702 701 WRITE(IDF,995)KONFBA(IZK) !Konf. baliokidea 702 XA=XA+XGEI WRITE(IDF,983)XA C 983 FORMAT(1H /34X,'POTENCIAL ELECTRICO A DIFERENTES ALTURAS PARA X=', C &F6.2,' M'///36X,'ALTURA VA.EF.POT. A.FAS.POT. VA.AC.POT C &.'/37X,'(M)',9X,'(KV)',11X,'(GS)',11X,'(KV)') 983 FORMAT(1H /34X,'POTENTZIAL ELEKTRIKOAK GARIAERA EZBERDINETAN (X=', &F6.2,' M)' &///36X,'GOIERA POT.BA.EF. POT.FAS.A. POT.UN.BA.' &/37X,'(M)',9X,'(KV)',11X,'(GS)',11X,'(KV)') YA=YASI-YGEI DO 700 I=1,NYG+1 YA=YA+YGEI IF(YA.LT.0.)GO TO 700 POTEN=(0.,0.) DO 800 J=1,N XD=XA-X(J) YH1=YA-Y(J) YH2=YA+Y(J) IF(ABS(XD).LT.XMUGA.AND.ABS(YH1).LT.XMUGA)GO TO 703 YH1=SQRT(XD*XD+YH1*YH1) YH2=SQRT(XD*XD+YH2*YH2) XD=EPPI*QR(J)*ALOG(YH2/YH1) YH1=EPPI*QI(J)*ALOG(YH2/YH1) 800 POTEN=POTEN+CMPLX(XD,YH1) XD=CABS(POTEN) C HURRENGO AGINDUA 1999.07.14.AN GEHITU ZEN, EMOITZAK EGOKITZEKO XD=XD*1000. IF(XD.LT.ZMG)GO TO 700 YH1=ATAN2(AIMAG(POTEN),REAL(POTEN)) YH2=XD*COS(YH1)*SQRT(2.) YH1=YH1*57.295779 WRITE(IDF,982)YA,XD,YH1,YH2 982 FORMAT(1H /35X,F6.2,3(6X,1PE9.2)) GO TO 700 703 WRITE(IDF,985)YA,XA,YA 700 CONTINUE 98 RETURN END C$ FORTY MAP,XREF,FDS GITRIX SUBROUTINE GITRIX(Z,L2,V,L4) PARAMETER (N1=32) DIMENSION Z(N1,N1),V(N1) L3=L2+1 L4=L2 DO 1 L=1,L2 L1=L3-L IF(V(L1)-10.E-6)2,2,4 2 L4=L1-1 DO 11 I=1,L4 DO 111 K=1,L4 111 Z(I,K)=Z(I,K)-Z(I,L1)/Z(L1,L1)*Z(L1,K) 11 CONTINUE 1 CONTINUE 4 RETURN END C$ FORTY MAP,XREF,FDS GMR FUNCTION GMR(IN,RA,D,IDL) C GMR = EROALE SORTA BATEN BATEZBESTEKO GEOMETRIKOKO ERRADIOA C IN = EROALE KOPURUA C RA = EROALE BATEN ERRADIOA C D = SORTAREN DIAMETROA EDO EROALEN ARTEKO DISTANTZIA C IDL = "D" ZER DEN ADIERAZTEKO ALDAGAIA IF(IN-2)1,22,2 2 IF(IDL)21,21,22 21 A=D/(2.*SIN(3.1415926/IN)) GO TO 3 22 A=D/2. 3 GMR=(IN*RA*A**(IN-1))**(1./IN) GO TO 4 1 GMR=RA 4 RETURN END C$ FORTY MAP,XREF,FDS IDATZG SUBROUTINE IDATZG(N,KOPT,IZK) C EROALEETAKO BATEZ BESTEKO POTENTZIAL GRADIENTEAK ETA C POTENTZIAL GRADIENTE HANDIENAK IDAZTEKO SUBRUTINA PARAMETER (N1=32) COMMON/BAT/QR,QI/BI/MULTZO,VR,VI,RA,D,IN,IDL COMMON/LAU/XGM(N1) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU CHARACTER*25 KONFOR(2),KONFBA(2),POTGR1(2)*32,POTGR2(2)*60 1,MAXP1(2)*35,MAXP2(2)*19,KAP1(2)*27,KAP2(2)*19 COMMON /HZDATZ/ KONFOR,KONFBA,POTGR1,POTGR2,MAXP1,MAXP2,KAP1,KAP2 REAL MULTZO(N1,N1),VR(N1),VI(N1),QR(N1),QI(N1),RA(N1),D(N1) INTEGER IN(N1),IDL(N1) M=N CALL BITRIX(MULTZO,M,M,VR,M,1,QR) CALL BITRIX(MULTZO,M,M,VI,M,1,QI) CALL IZENBU IF(KOPT)1,1,2 1 WRITE(IDF,601)KONFOR(IZK) 601 FORMAT(1H ///49X,A) GO TO 3 2 WRITE(IDF,602)KONFBA(IZK) 602 FORMAT(1H ///49X,A) C POTGR1='POTENTZIAL GRADIENTEA EROALEETAN' 3 WRITE(IDF,603)POTGR1(IZK),POTGR2(IZK) 603 FORMAT(1H /45X,A32///27X,A60) DO 4 I=1,N Q=QR(I)*QR(I)+QI(I)*QI(I) Q=SQRT(Q) XGR=18.E4*Q/(RA(I)*IN(I)) IF(IN(I)-1)2001,45,44 45 XGRM=XGR GO TO 43 44 IF(IDL(I))2001,41,42 41 XGRM=XGR*(1+(IN(I)-1)*RA(I)*2./D(I)*SIN(3.1415927/IN(I))) GO TO 43 42 XGRM=XGR*(1+(IN(I)-1)*RA(I)*2./D(I)) 43 XGM(I)=XGRM WRITE(IDF,643)I,Q,XGR,XGRM 643 FORMAT(1H /(28X,I2,5X,E15.8,4X,2(2PE15.6,4X))) 4 CONTINUE 2001 RETURN END C$ FORTY MAP,XREF,FDS IDATZM SUBROUTINE IDATZM(PC,L2,KOPT,K,IZK) PARAMETER (N1=32) DIMENSION PC(N1,N1) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU CHARACTER*25 KONFOR(2),KONFBA(2),POTGR1(2)*32,POTGR2(2)*60 1,MAXP1(2)*35,MAXP2(2)*19,KAP1(2)*27,KAP2(2)*19 COMMON /HZDATZ/ KONFOR,KONFBA,POTGR1,POTGR2,MAXP1,MAXP2,KAP1,KAP2 IF(KOPT)1,1,2 1 WRITE(IDF,601)KONFOR(IZK) 601 FORMAT(1H ///30X,A) GO TO 3 2 WRITE(IDF,602)KONFBA(IZK) 602 FORMAT(1H ///30X,A) 3 IF(K-1)7,4,5 C 4 WRITE(IDF,604) C 604 FORMAT(1H /25X,36HMAXWELL-EN POTENTZIAL KOEFIZIENTEAK, / C &32X,19H( METRO FARADIOKO )) 4 WRITE(IDF,604)MAXP1(IZK),MAXP2(IZK) 604 FORMAT(1H /25X,A,/32X,A) GO TO 6 C 5 WRITE(IDF,605) C 605 FORMAT(1H /36X,12HKAPAZITATEAK,/32X,19H( FARADIO METROKO )) 5 WRITE(IDF,605)KAP1(IZK),KAP2(IZK) 605 FORMAT(1H /29X,A,/32X,A) 6 L3=L2 CALL ATARA(PC,L3) 7 RETURN END C$ FORTY MAP,XREF,FDS INTRIX SUBROUTINE INTRIX(A,KA,LCK,ND,*) C A MATRIZEA ALDERANTZIKATZEKO AZPIERRUTINA C20041023 DIMENSION A(ND, 1),LCK(ND) DIMENSION A(ND, ND),LCK(ND) COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU DO 1 I=1,KA 1 LCK(I)=0 DO 2 I=1,KA AMAX=0. DO 21 K=1,KA IF(AMAX-ABS(A(K,K)))211,21,21 211 IF(LCK(K))212,212,21 212 L=K AMAX=ABS(A(K,K)) 21 CONTINUE IF(ABS(AMAX)-10.E-6)1001,1001,22 22 LCK(L)=1 DIV=A(L,L) A(L,L)=1. DO 23 J=1,KA 23 A(L,J)=A(L,J)/DIV DO 24 J=1,KA IF(L-J)241,24,241 241 EAJ=A(J,L) A(J,L)=0. DO 242 K=1,KA 242 A(J,K)=A(J,K)-A(L,K)*EAJ 24 CONTINUE 2 CONTINUE RETURN 1001 WRITE(IDT,999)I,L,L 999 FORMAT(1H /9X,'INTRIX,',I3,1H(,I2,1H,,I2,') ARDATZA TXIKIEGIA DA') RETURN 1 END C$ FORTY MAP,XREF,FDS PMAXW SUBROUTINE PMAXW(L2,X,Y,IN,RA,D,IDL,P) C MAXWELL-EN "P" POTENTZIAL KOEFIZIENTEAK KALKULATZEKO SUBRUTINA PARAMETER (N1=32) DIMENSION X(N1),Y(N1),IN(N1),RA(N1),D(N1),IDL(N1),P(N1,N1) DO 1 I=1,L2 X1=2.*Y(I) X3=GMR(IN(I),RA(I),D(I),IDL(I)) P(I,I)=18.E9*ALOG(X1/X3) J1=I+1 IF(L2-J1)1,3,3 3 DO 2 J=J1,L2 X1=X(I)-X(J) X1=X1*X1 X2=Y(I)+Y(J) X3=Y(I)-Y(J) X2=SQRT(X1+X2*X2) X3=SQRT(X1+X3*X3) P(I,J)=18.E9*ALOG(X2/X3) P(J,I)=P(I,J) 2 CONTINUE 1 CONTINUE RETURN END SUBROUTINE IZENBU CHARACTER EGUNA*10,IZENA*56,EUSK*5,EROA*15 DOUBLE PRECISION EXPE CHARACTER IZBR21(2)*7, IZBR22(2)*28,IZBR23(2)*15,IZBR24(2)*33 4,IZBR31(2)*22,IZBR32(2)*18,IZBR33(2)*54,IZBR34(2)*16,IZBR35(2)*8 5,IZBR36(2)*54,IZBR37(2)*16 COMMON /HZENBU/IZBR21,IZBR22,IZBR23,IZBR24 4 ,IZBR31,IZBR32,IZBR33,IZBR34,IZBR35,IZBR36,IZBR37 COMMON /IZENBN/ IZK,EXPE,NOZ,N,KT,TL,MOZ,NFL COMMON /IZENBC/ EGUNA,IZENA,EUSK,EROA COMMON /IRKIDT/ IRT,IDT,IRF,IDF,IDU NOZ=NOZ+1 IF(IZK-1)30,20,30 20 WRITE(IDF,620) NOZ,EGUNA,IZENA,TL,EXPE 620 FORMAT(1H1,5X,'ENPRESELEK,E.A.',87X,'ORRIALDE',I14/ 1 6X,'LINETAKO SAILA',88X,'DATA ',7X,A10/ 2 23X,A56,F5.0,'KV-EKO LINE ELEKTRIKOA',2X,'ESPEDIENTE',F12.2 ) GO TO 40 30 WRITE(IDF,630) NOZ,EGUNA,TL,IZENA,EXPE 630 FORMAT(1H1,5X,'ENPRESELEK,E.A.',87X,'PAGE',I18/ 1 6X,'LINES DIVISION',88X,'DATE',8X,A10/ 223X,'TRANSMISSION LINE OF ',F5.0,' KV ',A54 ,1X,'EXPEDIENT',F13.2) C IZBR23=' EUSKARRIZ ETA ',IZBR24=' EROALEZ EGINDAKO LINE ELEKTRIKOA' 40 IF(KT.EQ.1)WRITE(IDF,621)TRIM(IZBR21(IZK)),N 1,TRIM(IZBR22(IZK))//' '//TRIM(EUSK)//TRIM(IZBR23(IZK))// 2' '//TRIM(EROA)//TRIM(IZBR24(IZK)) 621 FORMAT(1H0, 5X,A,I3,T24,A) C IZBR31=' MUTUR ELIKATZAILEA ', IZBR32=' MUTUR ELIKATUA ' IF(KT.EQ.0)WRITE(IDF,622)IZBR31(IZK),IZBR32(IZK) 1, (IZBR33(IZK),I=1,2),IZBR34(IZK) 2,IZBR35(IZK),(IZBR36(IZK),I=1,2),IZBR37(IZK) 622 FORMAT(1H0, 9X,15('*'),A22,14('*'),3X,17('*'),A18,16('*')/ 1 2(' ***'),2(A54),1X,A/ A,2(A54),1X,A/ 2 2(' ***'),2(7X,'(KV)', 9X,'(KA)', 9X,'(MW)', 8X,'(MVAR)',3X) 3,3X,'(KV)',4X,'***' ///) RETURN END SUBROUTINE HIRUAT(IR,CAUX,*,*,*) CHARACTER CAUX*4 CJF READ (IR,'(A)',END=3) CAUX IF (CAUX.EQ.'***E'.OR.CAUX.EQ.'***e') RETURN1 IF (CAUX.EQ.'***P'.OR.CAUX.EQ.'***P') RETURN2 BACKSPACE IR RETURN 3 RETURN3 END C--+------------------------------------------------------ SUBROUTINE ZAINDU(ERA,IRF,IZK0) C Behinolako programaren erabilera-baimenak kontrolatzeko azpierrutinea C gaur egun kasu batzutan erabiliko den hizkuntza zein den jakiteko C baino ez da erabiltzen bertsio laburrean INTEGER ERA READ(IRF,'(20X,I5)') IZK0 RETURN END C--+------------------------------------------------ SUBROUTINE HIZKUN C Hizkuntzen araberako kateak definitzeko; C bi hizkuntzatarako dimentsionatuta CHARACTER CHL*132 CHARACTER*25 KONFOR(2),KONFBA(2),POTGR1(2)*32,POTGR2(2)*60 1,MAXP1(2)*35,MAXP2(2)*19,KAP1(2)*27,KAP2(2)*19 COMMON /HZDATZ/ KONFOR,KONFBA,POTGR1,POTGR2,MAXP1,MAXP2,KAP1,KAP2 CHARACTER POTEL1(2)*48,POTEL2(2)*50 1,ERMAG1(2)*28,ERMAG2(2)*15,ERMAG3(2)*122,ERMAG4(2)*19,ERMAG5(2)*19 2,ERELE1(2)*25,ERELE2(2)*15,ERELE3(2)*121,ERELE4(2)*19,ERELE5(2)*19 3,MEZU21(2)*15,MEZU22(2)*7, MEZU23(2)*36, MEZU24(2)*74 COMMON /HZREMU/ POTEL1,POTEL2 1 ,ERMAG1,ERMAG2,ERMAG3,ERMAG4,ERMAG5 2 ,ERELE1,ERELE2,ERELE3,ERELE4,ERELE5 3 ,MEZU21,MEZU22,MEZU23,MEZU24 CHARACTER IZBR21(2)*7, IZBR22(2)*28,IZBR23(2)*15,IZBR24(2)*33 1,IZBR31(2)*22,IZBR32(2)*18,IZBR33(2)*54,IZBR34(2)*16,IZBR35(2)*8 2,IZBR36(2)*54,IZBR37(2)*16 COMMON /HZENBU/IZBR21,IZBR22,IZBR23,IZBR24 1 ,IZBR31,IZBR32,IZBR33,IZBR34,IZBR35,IZBR36,IZBR37 CHARACTER IZBE21(2)*90,IZBE22(2)*46 COMMON /HZEPRO/IZBE21,IZBE22 CHARACTER ANOI11(2)*4, ANOI12(2)*72,ANOI21(2)*47,ANOI22(2)*54 1,ANOI23(2)*72,ANOI24(2)*26,ANOI25(2)*25,ANOI26(2)*23 COMMON /HZOISE/ ANOI11,ANOI12,ANOI21,ANOI22,ANOI23,ANOI24,ANOI25 1,ANOI26 KONFOR(1)='KONFIGURAZIO ORIGINALA' KONFOR(2)='ORIGINAL CONFIGURATION' KONFBA(1)='KONFIGURAZIO BALIOKIDEA' KONFBA(2)='EQUIVALENT CONFIGURATION' POTGR1(1)='POTENTZIAL GRADIENTEA EROALEETAN' POTGR1(2)='ELECTRIC FIELD ON THE CONDUCTORS' CHL='EROALE KARGA Q/M BB-GR KV/CM' POTGR2(1)=TRIM(CHL)//' GRMAX KV/CM' CHL='CONDUC. CHARGE Q/M GR.MV KV/CM' POTGR2(2)=TRIM(CHL)//' GRMAX KV/CM' MAXP1(1)='MAXWELL-EN POTENTZIAL KOEFIZIENTEAK' MAXP1(2)=" MAXWELL'S POTENTIAL COEFFICIENTS " MAXP2(1)='( METRO FARADEKO )' MAXP2(2)='( METRE PER FARAD )' KAP1(1)='KAPAZITANTZIA-KOEFIZIENTEAK' KAP1(2)='CAPACITANCE COEFFICIENTS' !EPRI'S TLRB345kV(1975) pag.94 KAP2(1)=' ( FARAD METROKO )' KAP2(2)='( FARAD PER METRE )' ERMAG1(1)='INDUKZIO MAGNETIKOA LURRETIK' ERMAG1(2)='MAGNETIC INDUCTION' ERMAG2(1)=' M-RA' ERMAG2(2)=' M ABOVE GROUND' CHL='DIST. INDUK.HORIZONTALA INDUK.BERTIKALA' CHL=TRIM(CHL)//' INDUK.MAXIMOA INDUK.MINIMOA' CHL=TRIM(CHL)//' UNEKO INDUK. INDUK. 90 G GEROAGO' ERMAG3(1)=TRIM(CHL) CHL='DIST. INDUC.HORIZONTAL INDUC.VERTICAL' CHL=TRIM(CHL)//' MAXIM.INDUC. MINIM.INDUC.' CHL=TRIM(CHL)//' PRESENT INDUC. INDUC. 90 G LAT.' ERMAG3(2)=TRIM(CHL) ERMAG4(1)=' MOD.TESLA ARG.G ' ERMAG4(2)=' MOD.TESLA ARG.G ' ERMAG5(1)=' MAG.TESLA DIR.G ' ERMAG5(2)=' MAG.TESLA DIR.G ' ERELE1(1)='EREMU ELEKTRIKOA LURRETIK' ERELE1(2)='ELECTRIC FIELD' ERELE2(1)=' M-RA' ERELE2(2)=' M ABOVE GROUND' CHL='DIST. EREMU HORIZONTALA EREMU BERTIKALA' CHL=TRIM(CHL)//' EREMU MAXIMOA EREMU MINIMOA' CHL=TRIM(CHL)//' UNEKO EREMUA EREMUA 90 G GEROAGO' ERELE3(1)=TRIM(CHL) CHL='DIST. HORIZONTAL FIELD VERTICAL FIELD' CHL=TRIM(CHL)//' MAXIMUM FIELD MINIMUM FIELD' CHL=TRIM(CHL)//' PRESENT FIELD FIELD 90 G LATER' ERELE3(2)=TRIM(CHL) ERELE4(1)=' MOD.KV/M ARG.G ' ERELE4(2)=' MOD.KV/M ARG.G ' ERELE5(1)=' MAG.KV/M DIR.G ' ERELE5(2)=' MAG.KV/M DIR.G ' MEZU21(1)=' X=' MEZU21(2)=' RESULTS FOR X=' MEZU22(1)=' ETA Y=' MEZU22(2)=' AND Y=' MEZU23(1)='-RAKO EMAITZAK EZ DIRA ESANGURATSUAK' MEZU23(2)=' ARE NOT SIGNIFICATIV' CHL='BEGIRATU IA EROALEEN TENTSIOAK EDO INTENTSITATEAK SARTU' MEZU24(1)=TRIM(CHL)//' DIREN' CHL='CHECK IF THE VOLTAGES AND CURRENTS OF ALL THE CONDUCTORS' MEZU24(2)=TRIM(CHL)//' HAVE BEEN DEFINED' POTEL1(1)='POTENTZIAL ELEKTRIKOAK GARIAERA EZBERDINETAN (X=' POTEL1(2)='ELECTRICAL POTENTIAL AT DIFFERENT HEIGHTS (X=' POTEL2(1)='GOIERA POT.BA.EF. POT.FAS.A. POT.UN.BA.' POTEL2(2)='HEIGHT POT.VA.EF. POT.PHA.A. POT.UN.BA.' IZBR21(1)='ZATI' IZBR21(2)='SECTION' IZBR22(1)=' ' IZBR22(2)='TRANSMISSION LINE BUILT WITH' IZBR23(1)=' EUSKARRIZ ETA' IZBR23(2)=' STRUCTURES AND' IZBR24(1)=' EROALEZ EGINDAKO LINE ELEKTRIKOA' IZBR24(2)=' CONDUCTORS' IZBR31(1)=' MUTUR ELIKATZAILEA ' IZBR31(2)=' SENDING END ' IZBR32(1)=' MUTUR ELIKATUA ' IZBR32(2)=' RECEIVING END ' IZBR33(1)=' TENTSIO LINETAKO POTENTZIA POTENTZIA ' IZBR33(2)=' EQUIV. LINE LINE ACTIVE REACTIVE ' IZBR34(1)='TENTSIO- ***' IZBR34(2)='VOLTAGE ***' IZBR35(1)=' ZIR FAS' IZBR35(2)=' CIR PHA' IZBR36(1)=' KONPOSATU B. INTENTSITATEA ERAGINKOR. BERRERAGINK.' IZBR36(2)=' VOLTAGE INTENSITY POWER POWER ' IZBR37(1)='JAUSKERA E I' IZBR37(2)=' DROP E I' CHL='****************** SARRERAKO DATUAK, AZTERTUTAKO LI' IZBE21(1)=TRIM(CHL)//'NEAREN EZAUGARRIAK ******************' CHL='*************************** INPUT DATA, LINE CHARAC' IZBE21(2)=TRIM(CHL)//'TERISTICS ***************************' IZBE22(1)='ER.KOP. FNCY RHO PC AN CE CM PL' IZBE22(2)='CON.NUM. FNCY RHO PC AN CE CM PL' ANOI11(1)=' ' ANOI11(2)=' THE' CHL=' EROALEA (LUR KABLEA) EZ DA KONTUAN HARTZEN' ANOI12(1)=TRIM(CHL)//' EROALE HEZEKO KASUAN ' CHL=' CONDUCTOR (GROUND WIRE) NOT CONSIDERED' ANOI12(2)=TRIM(CHL)//' FOR THE WET CONDUCTOR CONDITION' ANOI21(1)='PRESIO AKUSTIKOAREN ZEHARKAKO PROFILA, LURRETIK' ANOI21(2)='SOUND PRESSURE, LATERAL PROFILE' ANOI22(1)=' M-RA N/M2 ETA 20 MICRON/M2-REN GAINEKO DB-TAN' ANOI22(2)=' M ABOVE THE GROUND, IN N/M2 AND DB ABOVE 20 MICRON/M2' CHL=' DIST. ******* BANDA ZABALEKO ZARATA ALEATORIOAREN' ANOI23(1)=TRIM(CHL)//' MAILA *******' CHL=' DIST. ************** BROADBAND RANDOM NOISE LEVEL' ANOI23(2)=TRIM(CHL)//' *************' ANOI24(1)='100 HZ-EKO ZARATAREN MAILA' ANOI24(2)=' 100 HZ HUM NOISE LEVEL ' ANOI25(1)='**** EURITE GOGORRAK ****' ANOI25(2)='****** HEAVY RAIN *****' ANOI26(1)='**** EROALE HEZEAK ****' ANOI26(2)='**** WET CONDUCTOR ****' RETURN END </source> {{shelves|Electrical engineering}} 24huh21bvml55p83402at05z8wju20h Maxima/Introduction By Example 0 482817 4635333 4634820 2026-05-11T20:14:00Z Idavidmiller 3577687 4635333 wikitext text/x-wiki == Getting Used to Maxima By Way of an Example of Use == The examples that follows are presented for the purpose of providing some beginning perspective, and hopefully some motivation to make the effort to get familiar with how Maxima works. The task at hand is relevant in the context of aerodynamics and aviation. The specific goal is to find the dynamic pressure at a true airspeed (VTAS) of 200 ft/s at sea level. Dynamic pressure <math display="inline">q</math> is calculated using the expression:<math display="block">q = \rho V^2/2</math>Where: * <math>q</math> = dynamic pressure lbf/ft² (pounds of force per square foot) * <math display="inline">\rho</math> = air density (at sea level is 0.0023769) slugs/ft³ * <math>V</math> = true airspeed in feet per second (ft/s). British Engineering units are used in this context to avoid multiple conversions due to the units used. It is better to convert in the end if necessary in this case. '''Note:''' The appearance of the following Maxima examples may vary depending on Unicode support in the version of Maxima being used and the Maxima user interface -- UI. The Maxima examples used in this book are from the ''wxMaxima'' GUI unless noted otherwise, and a version of Maxima with Unicode support. First, enter the Maxima expression for dynamic pressure q:<syntaxhighlight lang="maxima"> (%i1) q : 1/2*\ρ*V^2; (q) (V^2*ρ)/2 </syntaxhighlight>This Maxima expression uses the colon character to assign the expression for dynamic pressure to the identifier q. The identifier q is now simply a name for an expression. The equal sign ( = ) is not used for this operation in Maxima as is the case with some programming languages. This Maxima line of a input expression ends with a semicolon ( ; ) character. Each line of input must end with a semicolon or the dollar sign character ( $ ), the use of which will be described later. Next, enter an assignment expression for the numerical value of the air density at sea level:<syntaxhighlight lang="maxima">(%i2) ρ : 0.0023769; (ρ) 0.0023769</syntaxhighlight>Density ρ is in the units of slugs per cubic foot - slugs/ft³. With this next input expression, Maxima is asked to evaluate q. This is accomplished by two single quotation marks placed before q as shown next:<syntaxhighlight lang="maxima"> (%i3) ''q; (%o3) 0.0033855446120918224*VTAS^2 </syntaxhighlight> The output indicates that q depends on VTAS -- true airspeed. The goal is to evaluate q, if VTAS = 200 ft/s is true. One way to do that is with the following Maxima expression:<syntaxhighlight lang="maxima"> (%i4) ''q, VTAS = 200; (%o4) 135.42178448367287 </syntaxhighlight>The result is about 135 pounds of force per square foot. There is another way to accomplish this that may be somewhat more convenient for determining sea level dynamic pressure given true airspeed. First, assign the Maxima floating point literal value of 0.0033855446120918224 to an identifier named <code>c</code> as follows:<syntaxhighlight lang="maxima">(%i5) c : 0.0033855446120918224; (c) 0.0033855446120918224</syntaxhighlight>Next, enter<syntaxhighlight lang="maxima"> (%i6) q(VTAS) := c*VTAS^2; (%o6) q(VTAS):=c*VTAS^2 </syntaxhighlight><syntaxhighlight lang="maxima"> (%i7) q(200); (%o7) 135.4217844836729 </syntaxhighlight>This result is limited to sea level density. That does not make the result of no practical use. This relationship, or something similar is, used to calibrate aircraft airspeed indicators to display indicated airspeed (IAS) in the cockpit. However, it might be the case that it is necessary to determine the dynamic pressure at other altitudes besides sea level. In the standard atmosphere model, air density is a function of altitude (h), and is defined piece-wise based on the atmospheric layer. The density is derived from the Ideal Gas Law: <math>P = \rho R T</math> where in British Engineering units: * <math>\rho</math> ‒ is density in slugs/ft³ * <math>P</math> ‒ is pressure in lbf/ft² * <math>T</math>‒ is temperature in °R (Rankine) * <math>R</math> ‒ is the specific gas constant (for dry air) approximately 1716.56 (ft·lbf)/(slug·°R) <syntaxhighlight lang="maxima"> (%i8) P = \ρ*R*T; (%o8) P=RTρ </syntaxhighlight>The backslash character ( <code>\</code> ) in front of the character for <math>\rho</math> in the input expression allows an identifier to use Unicode. This makes for some nicer looking output. This is a Maxima mathematical equation expression. This equation can be solved for <math>\rho</math> as follows:<syntaxhighlight lang="maxima">(%i9) solve(%,ρ); (%o58) [ρ=P/(R*T)]</syntaxhighlight>The Maxima built-in identifier <code>%</code> names the last output expression.The output of this expression is a Maxima list object with the only instance being the equation expression solved for <math>\rho</math>. Depending on the expression, the <code>solve()</code> operation may result in more than one solution expression. Maxima creates a list object for one or more solution expressions. This solution equation expression can be accessed as follows:<syntaxhighlight lang="maxima"> (%i10) %[1]; (%o10) ρ=P/(R*T) </syntaxhighlight>The value of this expression is obtained by referencing the first (and only) solution of the Maxima list object of solutions ‒ <code>[ρ=P*R*T]</code>. The reference is obtained by use of the <code>[1]</code> index syntax as shown. There are other ways Maxima can be used to accomplish the same result: <syntaxhighlight lang="maxima">(%i11) igl : P = ρ*R*T; (igl) P=R*T*ρ</syntaxhighlight>In this case the expression for the ideal gas law was assigned an identifier <code>igl</code>. The advantage to this sort of assignment is that the equation can be referred to using the identifier as follows for example:<syntaxhighlight lang="maxima"> (%i12) solve(igl,ρ); (%o12) [ρ=P/(R*T)] </syntaxhighlight>The identifier <code>igl</code> can be used at any point to refer to the equation expression: <code>P = \ρ*R*T)</code>. An assignment operator can also be used to assign the identifier <code>solution</code> to an expression. For example:<syntaxhighlight lang="maxima">(%i13) solve(igl,ρ); (%o13) [ρ=P/(R*T)] (%i14) solution : solve(igl,ρ); (solution) [ρ=P/(R*T)] (%i15) solve(solution,P)[1]; (%o15) P=R*T*ρ</syntaxhighlight>The last input and output expression might be somewhat of a "head-scratcher" at first glance, but it is worthwhile to understand how Maxima works in this case. The identifier solution names an expression that uses the <code>solve()</code> operator on the identifier <code>igl</code> as an argument. This expression is evaluated first by Maxima. Then the <code>solve()</code> operator is applied to the result solving for <code>P</code>. The result is a list object with one solution expression. This expression is then referred to using the <code>[1]</code> index, and the output is the equation expression <code>P=R*T*ρ</code> . The expression for ρ (density) as a function of pressure (p) and temperature (°F) can be checked against known values using the following expressions: <syntaxhighlight lang="maxima">(%i16) \°R(\°F) := \°F + 459.67; (%o16) °R(°F):=°F+459.67 (%i17) P(p) := p*144.0; (%o17) P(p):=p*144.0 (%i18) R:1716.56; (R) 1716.56 (%i19) ρ(p,\°F) := P(p)/(''R*\°R(\°F)); (%o19) ρ(p,°F):=P(p)/(1716.56*°R(°F))</syntaxhighlight>The above Maxima expressions are examples of Maxima function expressions. For standard sea level conditions of pressure and temperature as follows, * p is 14.696 lbf/ft² * °F is 59.0° the calculated value for density is:<syntaxhighlight lang="maxima">(%i20) ρ(14.696,59.0); (%20) 0.0023769033250291326</syntaxhighlight>Compare this resulting value of density with the the value of the table below for 0 altitude and temperature of 59.0 °F: {| class="wikitable" |+U.S. Standard Atmosphere vs. Altitude - BE Units !Altitude above Sea Level - ''h'' - ''(ft)'' !Temperature - T ''-'' ''(<sup>o</sup>F)'' !Acceleration of Gravity - ''g -'' ''(ft/s<sup>2</sup>)'' !Pressure - ''p -'' ''(lb/in<sup>2</sup>)'' !Density - ''ρ -'' ''(10<sup>-4</sup> slugs/ft<sup>3</sup>)'' |- |0 |59.0 |32.174 |14.696 |23.77 |- |5000 |41.17 |32.159 |12.228 |20.48 |- |10000 |23.36 |32.143 |10.108 |17.56 |- |15000 |5.55 |32.128 |8.297 |14.96 |- |20000 | -12.26 |32.112 |6.759 |12.67 |- |25000 | -30.05 |32.097 |5.461 |10.66 |- |30000 | -47.83 |32.082 |4.373 |8.91 |- |35000 | -65.61 |32.066 |3.468 |7.38 |} It would be useful to have the means to round result values to a desired number of decimal places. Maxima does not have a built-in operator for rounding decimal fraction values. Also, there is no package that is included as part of the Maxima distribution that provides for this capability. However, Robert Dodier has created a Maxima package that includes a function for this purpose ‒ named <code>excel_round.mac</code><code><ref>{{Cite web |last=Dodier |first=Robert |title=maxima-packages/robert-dodier/excel_round/ |url=https://github.com/maxima-project-on-github/maxima-packages/tree/master/robert-dodier/excel_round|website=GitHub}}</ref></code>. However, to be able access the <code>excel_round()</code> function of this package, it must first be downloaded or copied into a location accessible to Maxima using the <code>load()</code> operator. The built-in Maxima <code>load()</code> operator is used to access specialized functions that are not built-in to Maxima. In order to use the <code>load()</code> operator, the location of the downloaded <code>excel_round.mac</code> file has to be part of the argument to the <code>load()</code> operator unless the file happens to be in the Maxima current working directory. The built-in <code>operatingsystem</code> package can provide some functions to help with determining the current working directory. This package is loaded as follows: <syntaxhighlight lang="maxima"> (%i21) load(operatingsystem); (%o21) "/usr/local/share/maxima/5.49.0/share/contrib/operatingsystem/operatingsystem.mac" (%i22) getcurrentdirectory(); (%o22) "/home/username/" </syntaxhighlight>In this example <code>username</code> is the name of the home directory of the user. so if the downloaded <code>excel_round.mac</code> file is not located in the current working directory, then the directory can be changed to the location where the file is located: <syntaxhighlight lang="maxima">(%i22) chdir("/home/username/local/maxima/packages"); (%o22) "#P"/home/username/local/maxima/packages""</syntaxhighlight>Now the <code>excel_round.mac</code> file can be loaded assuming it is within the directory <code>/home/username/local/maxima/packages</code> as follows:<syntaxhighlight lang="maxima"> (%i23) load("excel_round.mac"); (%o23) "excel_round.mac" </syntaxhighlight>Alternatively, if the location of the file is known it can be loaded using the full path name as follows for example:<syntaxhighlight lang="maxima"> (%i24) load("/home/username/local/maxima/packages/excel_round.mac"); (%o24) "/home/username/local/maxima/packages/excel_round.mac" </syntaxhighlight>This method obviates the need for loading the <code>operatingsystem</code> package. '''Note:''' The ''wxMaxima'' GUI makes loading packages simply a matter of a menu selection. The density value above can be rounded to six decimal places as follows:<syntaxhighlight lang="maxima"> (%i25) excel_round(ρ(14.696,59.0),6); (%o25) 0.002377 </syntaxhighlight>This rounded value agrees with the sea level value of <math display="inline">23.77 \cdot 10^{-4}</math> slugs/ft³ taken from the table of Standard Atmosphere values. For Standard Atmosphere values of pressure ( 6.758 lbf/in² ) and temperature ( -12.26 °F ) at 20,000 ft the density value is:<syntaxhighlight lang="maxima"> (%i26) excel_round(ρ(6.759,-12.26),6); (%o26) 0.001267 </syntaxhighlight>This rounded value agrees with the sea level value of <math display="inline">12.67 \cdot 10^{-4}</math> slugs/ft³ taken from the table of Standard Atmosphere values. ===== Pressure ===== However, what is needed for the task at hand is density as a function of altitude. Both the pressure P and the temperature T can be expressed as a function of altitude h: <math display="block">P = P_0(1 - L\cdot h/T_0)^{g/(R \cdot L)} </math> Where in British Engineering units, the constants are: * <math display="inline">P</math> is Pressure in pounds per square foot lbf/ft² * <math display="inline">P_0</math> is (Sea Level Pressure): 2116.224 lbf/ft² or 14.696 lbf/in² * <math display="inline">R</math> is the specific gas constant (for dry air) approximately 1716.56 (ft·lbf)/(slug·°R) * <math display="inline">T_0 </math> is (Sea Level Temperature): 518.67 °R (15 °C or 59 °F) * <math display="inline">L</math> is (Lapse Rate): 0.003563 °R/ft * <math>g</math> is 32.174 ft/s² * <math display="inline">h</math> is altitude in feet above sea level The exponent <math display="inline">\frac{g}{R \cdot L}</math> evaluates to approximately 5.26054:<syntaxhighlight lang="maxima"> (%i27) 32.174/(0.003563*1716.56); (%o27) 5.260539027391964 (%i28) excel_round(%,5); (%o28) 5.26054 </syntaxhighlight><math display="inline">L/T_0</math> evaluates to approximately <syntaxhighlight lang="maxima"> (%i29) 0.003563/518.67; (%o29) 6.869493126650858*10^-6 (%i30) excel_round(6.869493126650858*10^-6,11); (%o30) 6.86949*10^-6 </syntaxhighlight> ===== Temperature ===== <math display="inline">T = 518.67 - 0.003563 \cdot h</math> * <math display="inline">T</math> is Temperature in °R * <math display="inline">h</math> is altitude in feet. ===== Practical Formulas for Pressure and Temperature ===== Thus, the practical formula for pressure and temperatures in terms of British Engineering units are: <math>P = 2116.224\cdot(1-(6.86949 \cdot 10^{-6}) \cdot h)^{5.26054}</math> lbf/ft² <math display="inline">T = 518.67 - 0.003563 \cdot h</math> °R ====== Pressure ====== <syntaxhighlight lang="maxima"> (%i31) P(h) := 2116.224*(1-6.8649*10^-6*h)^5.26054; (%o31) P(h):=2116.224*(1-6.8649*10^(-6)*h)^5.26054 (%i32) p(P) := P/144.0; (%o32) p(P):=P/144.0 (%i33) P(20000); (%o33) 973.0940875140712 (%i34) p(%); (%o34) 6.757597829958828 (%i35) excel_round(%,3); (%o35) 6.758 </syntaxhighlight> ====== Temperature ====== <syntaxhighlight lang="maxima"> (%i36) T(h) := 518.67 - 0.003563*h; (%o36) T(h):=518.67-0.003563*h (%i37) T(20000); (%o37) 447.40999999999997 (%i38) excel_round(%,2); (%o38) 447.41 (%i39) \°F(\°R) := \°R -459.67; (%o39) °F(°R):=°R-459.67 (%i40) \°F(447.41); (%o40) -12.259999999999991 (%i41) excel_round(%,2); (%o41) -12.26 </syntaxhighlight> ===== Density ===== The expressions for pressure and temperature as functions of altitude can be used with the expression for the ideal gas law for an expression of density as a function of altitude as follows:<syntaxhighlight lang="maxima"> (%i42) ρ(h) := P(h)/(R*T(h)); (%o42) ρ(h):=P(h)/(R*T(h)) (%i42) excel_round(ρ(20000)*10^4,2); (%o42) 12.67 </syntaxhighlight>This result agrees with the density value of the standard atmosphere at 20,000 ft. Using the expression for the air density as a function of altitude, an expression for dynamic pressure is as follows:<syntaxhighlight lang="maxima"> (%i43) q(h,VTAS) := ((ρ(h)*VTAS^2))/2; (%o43) q(h,VTAS):=(ρ(h)*VTAS^2)/2 </syntaxhighlight>Using the expression above, values of dynamic pressure can be calculated as a function of altitude and true airspeed as follows for 20,000 feet and 15,000 feet at 200 ft/s:<syntaxhighlight lang="maxima"> (%i44) q(20000,200); (%o44) 25.34079027107967 (%i45) q(15000,200); (%o45) 29.922636037412556 </syntaxhighlight>This value can be checked using the value for density from the Standard Atmosphere table at 15,000 ft and the expression for dynamic pressure as follows:<syntaxhighlight lang="maxima"> (%i46) excel_round(%,2); (%o46) 29.92 (%i47) (200.0^2)*0.001496/2.0; (%o47) 29.919999999999998 (%i48) excel_round(%,2); (%o48) 29.92 </syntaxhighlight>In the context of aviation and aircraft performance, airspeeds are commonly referenced to knots (nautical miles per hour) instead of ft/s. To determine dynamic pressure as a function of altitude and true airspeed in knots, the following expressions are used:<syntaxhighlight lang="maxima"> (%i49) VTAS(knots) := 1.687811*knots; (%o49) VTAS(knots):=1.687811*knots (%i50) excel_round(VTAS(118.49676),2); (%o50) 200.0 (%i51) q(h,knots) (%o51) q(h,knots):=(\ρ(h)*VTAS(knots)^2)/2 (%i52) excel_round(q(15000,118.49676),2); (%o52) 29.92 </syntaxhighlight>So approximately 118 knots true airspeed is equivalent to 200 ft/s, and the above expression for dynamic pressure is in terms of a function of altitude in feet and true airspeed in knots. ==== Plotting ==== Maxima has several ways to do plotting. The image that follows is a simple plot of density as a function of altitude produced using the plotting operator <code>wxplot2d()</code>:<syntaxhighlight lang="maxima"> (%i53) T(h) := 518.688 - 0.0035616*h; (%o53) T(h):=518.688-0.0035616*h (%i54) P(h) := 2116.224*(1-6.8649*10^-6*h)^5.26054; (%o54) P(h):=2116.224*(1-6.8649*10^(-6)*h)^5.26054 (%i55) R : 1716.56; (R) 1716.56 (%i56) ρ(h) := P(h)/(R*T(h)); (%o56) ρ(h):=P(h)/(R*T(h)) (%i57) wxplot2d([ρ(h)], [h,-100,35000])$ </syntaxhighlight> [[File:Density as a Function of Altitude.png|thumb|876x876px|'''Air Density (slugs/ft³) As a Function of Altitude (ft)'''|none]] ==== A Practical Application - True Airspeed (TAS) ==== Having the display of TAS during actual flight conditions is very useful information. With the necessary sensors and electronics, TAS can be displayed continuously to pilots during changing flight conditions. One way to accomplish this is to have aircraft sensors that measure values of dynamic pressure, air pressure, and air temperature. These measured values can be used by electronic devices designed to calculate TAS for display and use by other equipment. The essentials of how this could be implemented can be demonstrated using Maxima by way of the expressions that follow:<syntaxhighlight lang="maxima"> (%i1) dpe : q = 1/2*ρ*V^2; (dpe) q=(V^2*ρ)/2 (%i2) solutions:solve(dpe,V); (solutions) [V=-(sqrt(2)*sqrt(q/ρ)),V=sqrt(2)*sqrt(q/ρ)] </syntaxhighlight>The above expressions result in a list of two solution expressions. The second of these two is the one that is useful in this context.<syntaxhighlight lang="maxima"> (%i3) solutions[2]; (%o3) V=sqrt(2)*sqrt(q/ρ) (%i4) igl : ρ = P/(R*T); (igl) ρ=P/(R*T) (%i5) eq : subst(rhs(igl),ρ,solutions[2]); (%o5) V=sqrt(2)*sqrt((R*T*q)/P) </syntaxhighlight>In the last of the above expressions the <code>subst()</code> operator is used to substitute an expression for density ρ in the expression for speed V.<syntaxhighlight lang="maxima"> (%i6) R :1716.56; (R) 1716.56 (%i7) V(q,P,T) := ''(rhs(eq)); (%o7) V(q,P,T):=sqrt(2)*sqrt((R*T*q)/P) </syntaxhighlight>The value for R determines the units: * dynamic pressure q is in lbf/ft² * pressure P is in lbf/ft² * T is in °R * V is in ft/s The second of the two expressions above define a Maxima function for V in terms of values of dynamic pressure q, air pressure P, and temperature T. This expression for speed can be checked using known values. At 15,000 ft if: q is 29.92 lbf/ft² P is 1194.79 lbf/ft² T is 465.24 °R then:<syntaxhighlight lang="maxima"> (%i8) load("excel_round.mac"); (%o8) "/home/davidmiller/Downloads/excel_round.mac" (%i9) excel_round(float(V(29.92,1194.79,465.24)),1); (%o9) 200.0 </syntaxhighlight>This resulting value of 200 ft/s for the TAS agrees with previous calculations under the given conditions. However, this is TAS in ft/s. Displaying TAS in terms of knots is much more relevant. The conversion factor for this purpose is 1.687811. So TAS in terms of knots can be expressed as follows:<syntaxhighlight lang="maxima"> (%i10) TAS(q,P,T) := V(q,P,T)/1.687811; (%o10) TAS(q,P,T):=V(q,P,T)/1.687811 (%i11) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o11) 118.5 </syntaxhighlight>The result is 118.5 knots for TAS which agrees with previous calculated values. The expression for TAS could have been more general by using an identifier (cf, for example) for the conversion factor as follows:<syntaxhighlight lang="maxima"> (%i12) TAS(q,P,T) := V(q,P,T)/cf; (%o12) TAS(q,P,T):=V(q,P,T)/cf (%i13) cf : 1.687811; (cf) 1.687811 (%i14) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o14) 118.5 </syntaxhighlight>The conversion factor for meters per second (m/s) is: 3.28084<syntaxhighlight lang="maxima"> (%i15) cf:3.28084; (cf) 3.28084 (%i16) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o16) 61.0 </syntaxhighlight>This is TAS in meters per second. Thus, by changing the value of only the conversion factor, TAS could be determined for various units of measure. == Summary == This section provided examples of the use of Maxima expressions in an applied context. It was demonstrated that Maxima can be used effectively for numerical computations. However, unlike typical general-purpose programming languages, it was also demonstrated that Maxima is capable of providing much more capability than merely "number crunching" by way of symbolic operations. The symbolic expression capabilities of Maxima extend way beyond what was demonstrated in this section. The purpose of this section is not to provide a comprehensive survey of the symbolic expression capabilities of Maxima. Rather, it is intended to be an introduction to Maxima for the sake of familiarity with the sort of expressions that are typical for using Maxima in an applied context, with the syntax that is used for Maxima expressions, and generally the important role expressions have in interacting with the Maxima interface. Three Maxima operators that should be recognized as used frequently as evidenced by the expressions of this section are: # <code>=</code> the equality operator (equation expressions) # <code>:=</code> the Maxima function definition operator # <code>:</code> the assignment operator No matter the task at hand for which Maxima is being used, these three operators are likely to be essential, so having a clear understanding of the nature of each is important. === Equations and Functions === Here is what a ''wxMaxima'' "Tip of the Day" remarks about the first two:<blockquote>"Equations have several advantages over functions. For example they can be manipulated with factor(), expand() and similar functions. They can easily be introduced one into another."</blockquote>It is essential to recognize that Maxima function expressions defined using the <code>:=</code> operator (and likewise for the <code>define()</code> operator, not discussed here) is not synonymous with the mathematical concept of a function, and this is also the case with typical general-purpose programming languages, and not only Maxima. The Maxima function (in the programming sense) operator can be used to define a function (in the mathematical sense), but this is not generally the case for all Maxima function expressions. Maxima function expressions can be entered that cannot be used to define a mathematical function in the technical sense. To define a mathematical function using Maxima, to be precise, would require something similar to the first two of the following expressions:<syntaxhighlight lang="maxima">(%i1) y = f(x); (%o1) y=f(x) (%i2) f(x) := x^3; (%o2) f(x):=x^3 (%i3) y = f(x), x=3; (%o3) y=27 (%i4) y = f(3); (%o4) y=27 (%i5) is(equalp(y,f(3))); (%o5) unknown (%i6) is(y = f(3)); (%o6) false (%i7) is(y = f(3)), y = 27; (%o7) true (%i8) f(3); (%o8) 27</syntaxhighlight>The first of the above expressions, if evaluated, will have a value of <code>true</code> or <code>false</code>, depending on the values of <code>x</code> and <code>y</code>. The second of these two expressions will have a numerical value that depends only on the numerical value of <code>x</code>. This difference is essential to understand. For a function, in the mathematical sense, it is necessary for values of ''x'' and ''y'' as applied to the expression <code>y = f(x)</code>, to evaluate to <code>true</code>, that is the values of the ordered pairs of numbers ''(x,y)'' evaluate the expression <code>y = f(x)</code> to <code>true</code> if they are instances of the function, and <code>false</code> otherwise. The function <code>f(x)</code>, in the programming sense, can be defined in all sorts of ways as a Maxima expressions, including for the purpose of the definition of a mathematical function, but not necessarily so. The following expressions from those above, provides some insight into the way Maxima as a CAS differs in an essential way from typical general-purpose programming languages:<syntaxhighlight lang="maxima"> (%i5) is(equalp(y,f(3))); (%o5) unknown (%i6) is(y = f(3)); (%o6) false </syntaxhighlight> The value of the identifier <code>y</code> in these expressions is itself. because of this, <code>y</code> as an identifier represents the essence of a variable quantity, and not as merely as a name for another expression. The first of these two expressions has the value of <code>unknown</code>, because it simply is not possible to say if <code>y</code> and <code>f(3)</code> are equal. The second has a value of <code>false</code> simply because the value of <code>y</code> is itself and unless the value of <code>f(3)</code> is <code>y</code>, then this expression is obviously false.<syntaxhighlight lang="maxima"> (%i1) g(x) := y; (%o1) g(x):=y (%i2) y = g(y); (%o2) y=y </syntaxhighlight> This is trivially obvious, but also clearly logical, and if Maxima is anything, it is logical. This is as it should be. Technically the <code>:=</code> operator is a type of assignment. The other frequently used assignment operator is <code>:</code>, and a brief discussion of this operator follows. === Assignment === The <code>:</code> assignment operator is most typical used to name another value or expression. The word "identifier" in this case is understood to be a name that is in a sense identical to a value or expression. some examples follow:<syntaxhighlight lang="maxima"> (%i08) x : 2; (x) 2 (%i09) x; (%o09) 2 (%i10) y : 3.14159; (y) 3.14159 (%i11) y; (%o11) 3.14159 (%i12) r : rationalize(0.1); (r) 3602879701896397/36028797018963968 (%i13) r; (%o13) 3602879701896397/36028797018963968 (%i14) s : "a string"; (s) "a string" (%i15) s; (%o15) "a string" (%i16) \9ofHearts : true; (\9ofHearts) true (%i17) \9ofHearts; (%o17) true </syntaxhighlight>Assignment is not limited however to simple expressions such as these. Entire expressions from simple to more complex can be assigned to identifiers. For example:<syntaxhighlight lang="maxima"> (%i18) z : m + n +3; (z) n+m+3 (%i19) z; (%o19) n+m+3 (%i20) ex1 : a*x^2 +b*x + c; (ex1) c+2*b+4*a (%i21) ex1; (%o21) c+2*b+4*a (%i22) ex2 : 'integrate( %e^(2*t+a)*sin(t)*t,t); (ex2) integrate(%e^(2*t+a)*t*sin(t),t) (%i23) ex2; (%o23) integrate(%e^(2*t+a)*t*sin(t),t) (%i24) solution : ex2, integrate; (solution) ((10*%e^(2*t+a)*t-3*%e^(2*t+a))*sin(t)+(4*%e^(2*t+a)-5*%e^(2*t+a)*t)*cos(t))/25 (%i25) solution; (%o25) ((10*%e^(2*t+a)*t-3*%e^(2*t+a))*sin(t)+(4*%e^(2*t+a)-5*%e^(2*t+a)*t)*cos(t))/25 </syntaxhighlight>This sort of assignment is not possible using typical general-purpose programming languages, and will result in undefined variable error messages. For example in the case of Julia:<syntaxhighlight lang="julia-repl"> julia> z = m + n + 3 ERROR: UndefVarError: `m` not defined in `Main` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] top-level scope @ REPL[1]:1 </syntaxhighlight>Julia is a very capable and useful programming language, especially for numerical computations, but symbolic expressions are not what Julia was intended to be used for. Maxima on the other hand, is quite at home with symbolic expressions. Some of the output expressions in these examples are rendered in a much more readable and conventional manner by the ''wxMaxima'' GUI using typical mathematical notation. The output for <code>ex2</code> for example is rendered as: [[File:Image_of_wxMaxima_output.png]] The output for the <code>solution</code> identifier is rendered as: [[File:Another image of wxMaxima expression.png|500x500px]] The ''wxMaxima'' GUI can be configured to suppress the <code>%</code> character displayed before the special constant <code>%e</code> in the above output expressions if desired. The reader is referred to Sections 9.6 (Assignment operators) and 22 (Equations) of the Maxima Help document for more information related to these three operators and more. {{BookCat}} 9hdrupcsie8279l9f6v1aohfv8xttso 4635347 4635333 2026-05-11T23:40:56Z Idavidmiller 3577687 4635347 wikitext text/x-wiki == Getting Used to Maxima By Way of an Example of Use == The examples that follows are presented for the purpose of providing some beginning perspective, and hopefully some motivation to make the effort to get familiar with how Maxima works. The task at hand is relevant in the context of aerodynamics and aviation. The specific goal is to find the dynamic pressure at a true airspeed (VTAS) of 200 ft/s at sea level. Dynamic pressure <math display="inline">q</math> is calculated using the expression:<math display="block">q = \rho V^2/2</math>Where: * <math>q</math> = dynamic pressure lbf/ft² (pounds of force per square foot) * <math display="inline">\rho</math> = air density (at sea level is 0.0023769) slugs/ft³ * <math>V</math> = true airspeed in feet per second (ft/s). British Engineering units are used in this context to avoid multiple conversions due to the units used. It is better to convert in the end if necessary in this case. '''Note:''' The appearance of the following Maxima examples may vary depending on Unicode support in the version of Maxima being used and the Maxima user interface -- UI. The Maxima examples used in this book are from the ''wxMaxima'' GUI unless noted otherwise, and a version of Maxima with Unicode support. First, enter the Maxima expression for dynamic pressure q:<syntaxhighlight lang="maxima"> (%i1) q : 1/2*\ρ*V^2; (q) (V^2*ρ)/2 </syntaxhighlight>This Maxima expression uses the colon character to assign the expression for dynamic pressure to the identifier q. The identifier q is now simply a name for an expression. The equal sign ( = ) is not used for this operation in Maxima as is the case with some programming languages. This Maxima line of a input expression ends with a semicolon ( ; ) character. Each line of input must end with a semicolon or the dollar sign character ( $ ), the use of which will be described later. Next, enter an assignment expression for the numerical value of the air density at sea level:<syntaxhighlight lang="maxima">(%i2) ρ : 0.0023769; (ρ) 0.0023769</syntaxhighlight>Density ρ is in the units of slugs per cubic foot - slugs/ft³. With this next input expression, Maxima is asked to evaluate q. This is accomplished by two single quotation marks placed before q as shown next:<syntaxhighlight lang="maxima"> (%i3) ''q; (%o3) 0.0033855446120918224*VTAS^2 </syntaxhighlight> The output indicates that q depends on VTAS -- true airspeed. The goal is to evaluate q, if VTAS = 200 ft/s is true. One way to do that is with the following Maxima expression:<syntaxhighlight lang="maxima"> (%i4) ''q, VTAS = 200; (%o4) 135.42178448367287 </syntaxhighlight>The result is about 135 pounds of force per square foot. There is another way to accomplish this that may be somewhat more convenient for determining sea level dynamic pressure given true airspeed. First, assign the Maxima floating point literal value of 0.0033855446120918224 to an identifier named <code>c</code> as follows:<syntaxhighlight lang="maxima">(%i5) c : 0.0033855446120918224; (c) 0.0033855446120918224</syntaxhighlight>Next, enter<syntaxhighlight lang="maxima"> (%i6) q(VTAS) := c*VTAS^2; (%o6) q(VTAS):=c*VTAS^2 </syntaxhighlight><syntaxhighlight lang="maxima"> (%i7) q(200); (%o7) 135.4217844836729 </syntaxhighlight>This result is limited to sea level density. That does not make the result of no practical use. This relationship, or something similar is, used to calibrate aircraft airspeed indicators to display indicated airspeed (IAS) in the cockpit. However, it might be the case that it is necessary to determine the dynamic pressure at other altitudes besides sea level. In the standard atmosphere model, air density is a function of altitude (h), and is defined piece-wise based on the atmospheric layer. The density is derived from the Ideal Gas Law: <math>P = \rho R T</math> where in British Engineering units: * <math>\rho</math> ‒ is density in slugs/ft³ * <math>P</math> ‒ is pressure in lbf/ft² * <math>T</math>‒ is temperature in °R (Rankine) * <math>R</math> ‒ is the specific gas constant (for dry air) approximately 1716.56 (ft·lbf)/(slug·°R) <syntaxhighlight lang="maxima"> (%i8) P = \ρ*R*T; (%o8) P=RTρ </syntaxhighlight>The backslash character ( <code>\</code> ) in front of the character for <math>\rho</math> in the input expression allows an identifier to use Unicode. This makes for some nicer looking output. This is a Maxima mathematical equation expression. This equation can be solved for <math>\rho</math> as follows:<syntaxhighlight lang="maxima">(%i9) solve(%,ρ); (%o58) [ρ=P/(R*T)]</syntaxhighlight>The Maxima built-in identifier <code>%</code> names the last output expression.The output of this expression is a Maxima list object with the only instance being the equation expression solved for <math>\rho</math>. Depending on the expression, the <code>solve()</code> operation may result in more than one solution expression. Maxima creates a list object for one or more solution expressions. This solution equation expression can be accessed as follows:<syntaxhighlight lang="maxima"> (%i10) %[1]; (%o10) ρ=P/(R*T) </syntaxhighlight>The value of this expression is obtained by referencing the first (and only) solution of the Maxima list object of solutions ‒ <code>[ρ=P*R*T]</code>. The reference is obtained by use of the <code>[1]</code> index syntax as shown. There are other ways Maxima can be used to accomplish the same result: <syntaxhighlight lang="maxima">(%i11) igl : P = ρ*R*T; (igl) P=R*T*ρ</syntaxhighlight>In this case the expression for the ideal gas law was assigned an identifier <code>igl</code>. The advantage to this sort of assignment is that the equation can be referred to using the identifier as follows for example:<syntaxhighlight lang="maxima"> (%i12) solve(igl,ρ); (%o12) [ρ=P/(R*T)] </syntaxhighlight>The identifier <code>igl</code> can be used at any point to refer to the equation expression: <code>P = \ρ*R*T)</code>. An assignment operator can also be used to assign the identifier <code>solution</code> to an expression. For example:<syntaxhighlight lang="maxima">(%i13) solve(igl,ρ); (%o13) [ρ=P/(R*T)] (%i14) solution : solve(igl,ρ); (solution) [ρ=P/(R*T)] (%i15) solve(solution,P)[1]; (%o15) P=R*T*ρ</syntaxhighlight>The last input and output expression might be somewhat of a "head-scratcher" at first glance, but it is worthwhile to understand how Maxima works in this case. The identifier solution names an expression that uses the <code>solve()</code> operator on the identifier <code>igl</code> as an argument. This expression is evaluated first by Maxima. Then the <code>solve()</code> operator is applied to the result solving for <code>P</code>. The result is a list object with one solution expression. This expression is then referred to using the <code>[1]</code> index, and the output is the equation expression <code>P=R*T*ρ</code> . The expression for ρ (density) as a function of pressure (p) and temperature (°F) can be checked against known values using the following expressions: <syntaxhighlight lang="maxima">(%i16) \°R(°F) := °F + 459.67; (%o16) °R(°F):=°F+459.67 (%i17) P(p) := p*144.0; (%o17) P(p):=p*144.0 (%i18) R:1716.56; (R) 1716.56 (%i19) ρ(p,°F) := P(p)/(''R*\°R(°F)); (%o19) ρ(p,°F):=P(p)/(1716.56*°R(°F))</syntaxhighlight>The above Maxima expressions are examples of Maxima function expressions. For standard sea level conditions of pressure and temperature as follows, * p is 14.696 lbf/ft² * °F is 59.0° the calculated value for density is:<syntaxhighlight lang="maxima">(%i20) ρ(14.696,59.0); (%20) 0.0023769033250291326</syntaxhighlight>Compare this resulting value of density with the the value of the table below for 0 altitude and temperature of 59.0 °F: {| class="wikitable" |+U.S. Standard Atmosphere vs. Altitude - BE Units !Altitude above Sea Level - ''h'' - ''(ft)'' !Temperature - T ''-'' ''(<sup>o</sup>F)'' !Acceleration of Gravity - ''g -'' ''(ft/s<sup>2</sup>)'' !Pressure - ''p -'' ''(lb/in<sup>2</sup>)'' !Density - ''ρ -'' ''(10<sup>-4</sup> slugs/ft<sup>3</sup>)'' |- |0 |59.0 |32.174 |14.696 |23.77 |- |5000 |41.17 |32.159 |12.228 |20.48 |- |10000 |23.36 |32.143 |10.108 |17.56 |- |15000 |5.55 |32.128 |8.297 |14.96 |- |20000 | -12.26 |32.112 |6.759 |12.67 |- |25000 | -30.05 |32.097 |5.461 |10.66 |- |30000 | -47.83 |32.082 |4.373 |8.91 |- |35000 | -65.61 |32.066 |3.468 |7.38 |} It would be useful to have the means to round result values to a desired number of decimal places. Maxima does not have a built-in operator for rounding decimal fraction values. Also, there is no package that is included as part of the Maxima distribution that provides for this capability. However, Robert Dodier has created a Maxima package that includes a function for this purpose ‒ named <code>excel_round.mac</code><code><ref>{{Cite web |last=Dodier |first=Robert |title=maxima-packages/robert-dodier/excel_round/ |url=https://github.com/maxima-project-on-github/maxima-packages/tree/master/robert-dodier/excel_round|website=GitHub}}</ref></code>. However, to be able access the <code>excel_round()</code> function of this package, it must first be downloaded or copied into a location accessible to Maxima using the <code>load()</code> operator. The built-in Maxima <code>load()</code> operator is used to access specialized functions that are not built-in to Maxima. In order to use the <code>load()</code> operator, the location of the downloaded <code>excel_round.mac</code> file has to be part of the argument to the <code>load()</code> operator unless the file happens to be in the Maxima current working directory. The built-in <code>operatingsystem</code> package can provide some functions to help with determining the current working directory. This package is loaded as follows: <syntaxhighlight lang="maxima"> (%i21) load(operatingsystem); (%o21) "/usr/local/share/maxima/5.49.0/share/contrib/operatingsystem/operatingsystem.mac" (%i22) getcurrentdirectory(); (%o22) "/home/username/" </syntaxhighlight>In this example <code>username</code> is the name of the home directory of the user. so if the downloaded <code>excel_round.mac</code> file is not located in the current working directory, then the directory can be changed to the location where the file is located: <syntaxhighlight lang="maxima">(%i22) chdir("/home/username/local/maxima/packages"); (%o22) "#P"/home/username/local/maxima/packages""</syntaxhighlight>Now the <code>excel_round.mac</code> file can be loaded assuming it is within the directory <code>/home/username/local/maxima/packages</code> as follows:<syntaxhighlight lang="maxima"> (%i23) load("excel_round.mac"); (%o23) "excel_round.mac" </syntaxhighlight>Alternatively, if the location of the file is known it can be loaded using the full path name as follows for example:<syntaxhighlight lang="maxima"> (%i24) load("/home/username/local/maxima/packages/excel_round.mac"); (%o24) "/home/username/local/maxima/packages/excel_round.mac" </syntaxhighlight>This method obviates the need for loading the <code>operatingsystem</code> package. '''Note:''' The ''wxMaxima'' GUI makes loading packages simply a matter of a menu selection. The density value above can be rounded to six decimal places as follows:<syntaxhighlight lang="maxima"> (%i25) excel_round(ρ(14.696,59.0),6); (%o25) 0.002377 </syntaxhighlight>This rounded value agrees with the sea level value of <math display="inline">23.77 \cdot 10^{-4}</math> slugs/ft³ taken from the table of Standard Atmosphere values. For Standard Atmosphere values of pressure ( 6.758 lbf/in² ) and temperature ( -12.26 °F ) at 20,000 ft the density value is:<syntaxhighlight lang="maxima"> (%i26) excel_round(ρ(6.759,-12.26),6); (%o26) 0.001267 </syntaxhighlight>This rounded value agrees with the sea level value of <math display="inline">12.67 \cdot 10^{-4}</math> slugs/ft³ taken from the table of Standard Atmosphere values. ===== Pressure ===== However, what is needed for the task at hand is density as a function of altitude. Both the pressure P and the temperature T can be expressed as a function of altitude h: <math display="block">P = P_0(1 - L\cdot h/T_0)^{g/(R \cdot L)} </math> Where in British Engineering units, the constants are: * <math display="inline">P</math> is Pressure in pounds per square foot lbf/ft² * <math display="inline">P_0</math> is (Sea Level Pressure): 2116.224 lbf/ft² or 14.696 lbf/in² * <math display="inline">R</math> is the specific gas constant (for dry air) approximately 1716.56 (ft·lbf)/(slug·°R) * <math display="inline">T_0 </math> is (Sea Level Temperature): 518.67 °R (15 °C or 59 °F) * <math display="inline">L</math> is (Lapse Rate): 0.003563 °R/ft * <math>g</math> is 32.174 ft/s² * <math display="inline">h</math> is altitude in feet above sea level The exponent <math display="inline">\frac{g}{R \cdot L}</math> evaluates to approximately 5.26054:<syntaxhighlight lang="maxima"> (%i27) 32.174/(0.003563*1716.56); (%o27) 5.260539027391964 (%i28) excel_round(%,5); (%o28) 5.26054 </syntaxhighlight><math display="inline">L/T_0</math> evaluates to approximately <syntaxhighlight lang="maxima"> (%i29) 0.003563/518.67; (%o29) 6.869493126650858*10^-6 (%i30) excel_round(6.869493126650858*10^-6,11); (%o30) 6.86949*10^-6 </syntaxhighlight> ===== Temperature ===== <math display="inline">T = 518.67 - 0.003563 \cdot h</math> * <math display="inline">T</math> is Temperature in °R * <math display="inline">h</math> is altitude in feet. ===== Practical Formulas for Pressure and Temperature ===== Thus, the practical formula for pressure and temperatures in terms of British Engineering units are: <math>P = 2116.224\cdot(1-(6.86949 \cdot 10^{-6}) \cdot h)^{5.26054}</math> lbf/ft² <math display="inline">T = 518.67 - 0.003563 \cdot h</math> °R ====== Pressure ====== <syntaxhighlight lang="maxima"> (%i31) P(h) := 2116.224*(1-6.8649*10^-6*h)^5.26054; (%o31) P(h):=2116.224*(1-6.8649*10^(-6)*h)^5.26054 (%i32) p(P) := P/144.0; (%o32) p(P):=P/144.0 (%i33) P(20000); (%o33) 973.0940875140712 (%i34) p(%); (%o34) 6.757597829958828 (%i35) excel_round(%,3); (%o35) 6.758 </syntaxhighlight> ====== Temperature ====== <syntaxhighlight lang="maxima"> (%i36) T(h) := 518.67 - 0.003563*h; (%o36) T(h):=518.67-0.003563*h (%i37) T(20000); (%o37) 447.40999999999997 (%i38) excel_round(%,2); (%o38) 447.41 (%i39) declare("°", alphabetic); (%o39) done (%i39) °F(°R) := °R -459.67; (%o39) °F(°R):=°R-459.67 (%i40) °F(447.41); (%o40) -12.259999999999991 (%i41) excel_round(%,2); (%o41) -12.26 </syntaxhighlight> ===== Density ===== The expressions for pressure and temperature as functions of altitude can be used with the expression for the ideal gas law for an expression of density as a function of altitude as follows:<syntaxhighlight lang="maxima"> (%i42) ρ(h) := P(h)/(R*T(h)); (%o42) ρ(h):=P(h)/(R*T(h)) (%i42) excel_round(ρ(20000)*10^4,2); (%o42) 12.67 </syntaxhighlight>This result agrees with the density value of the standard atmosphere at 20,000 ft. Using the expression for the air density as a function of altitude, an expression for dynamic pressure is as follows:<syntaxhighlight lang="maxima"> (%i43) q(h,VTAS) := ((ρ(h)*VTAS^2))/2; (%o43) q(h,VTAS):=(ρ(h)*VTAS^2)/2 </syntaxhighlight>Using the expression above, values of dynamic pressure can be calculated as a function of altitude and true airspeed as follows for 20,000 feet and 15,000 feet at 200 ft/s:<syntaxhighlight lang="maxima"> (%i44) q(20000,200); (%o44) 25.34079027107967 (%i45) q(15000,200); (%o45) 29.922636037412556 </syntaxhighlight>This value can be checked using the value for density from the Standard Atmosphere table at 15,000 ft and the expression for dynamic pressure as follows:<syntaxhighlight lang="maxima"> (%i46) excel_round(%,2); (%o46) 29.92 (%i47) (200.0^2)*0.001496/2.0; (%o47) 29.919999999999998 (%i48) excel_round(%,2); (%o48) 29.92 </syntaxhighlight>In the context of aviation and aircraft performance, airspeeds are commonly referenced to knots (nautical miles per hour) instead of ft/s. To determine dynamic pressure as a function of altitude and true airspeed in knots, the following expressions are used:<syntaxhighlight lang="maxima"> (%i49) VTAS(knots) := 1.687811*knots; (%o49) VTAS(knots):=1.687811*knots (%i50) excel_round(VTAS(118.49676),2); (%o50) 200.0 (%i51) q(h,knots) := ((ρ(h)*VTAS(knots)^2))/2; (%o51) q(h,knots):=(ρ(h)*VTAS(knots)^2)/2 (%i52) excel_round(q(15000,118.49676),2); (%o52) 29.92 </syntaxhighlight>So approximately 118 knots true airspeed is equivalent to 200 ft/s, and the above expression for dynamic pressure is in terms of a function of altitude in feet and true airspeed in knots. ==== Plotting ==== Maxima has several ways to do plotting. The image that follows is a simple plot of density as a function of altitude produced using the plotting operator <code>wxplot2d()</code>:<syntaxhighlight lang="maxima"> (%i53) T(h) := 518.688 - 0.0035616*h; (%o53) T(h):=518.688-0.0035616*h (%i54) P(h) := 2116.224*(1-6.8649*10^-6*h)^5.26054; (%o54) P(h):=2116.224*(1-6.8649*10^(-6)*h)^5.26054 (%i55) R : 1716.56; (R) 1716.56 (%i56) ρ(h) := P(h)/(R*T(h)); (%o56) ρ(h):=P(h)/(R*T(h)) (%i57) wxplot2d([ρ(h)], [h,-100,35000])$ </syntaxhighlight> [[File:Density as a Function of Altitude.png|thumb|876x876px|'''Air Density (slugs/ft³) As a Function of Altitude (ft)'''|none]] ==== A Practical Application - True Airspeed (TAS) ==== Having the display of TAS during actual flight conditions is very useful information. With the necessary sensors and electronics, TAS can be displayed continuously to pilots during changing flight conditions. One way to accomplish this is to have aircraft sensors that measure values of dynamic pressure, air pressure, and air temperature. These measured values can be used by electronic devices designed to calculate TAS for display and use by other equipment. The essentials of how this could be implemented can be demonstrated using Maxima by way of the expressions that follow:<syntaxhighlight lang="maxima"> (%i1) dpe : q = 1/2*ρ*V^2; (dpe) q=(V^2*ρ)/2 (%i2) solutions:solve(dpe,V); (solutions) [V=-(sqrt(2)*sqrt(q/ρ)),V=sqrt(2)*sqrt(q/ρ)] </syntaxhighlight>The above expressions result in a list of two solution expressions. The second of these two is the one that is useful in this context.<syntaxhighlight lang="maxima"> (%i3) solutions[2]; (%o3) V=sqrt(2)*sqrt(q/ρ) (%i4) igl : ρ = P/(R*T); (igl) ρ=P/(R*T) (%i5) eq : subst(rhs(igl),ρ,solutions[2]); (%o5) V=sqrt(2)*sqrt((R*T*q)/P) </syntaxhighlight>In the last of the above expressions the <code>subst()</code> operator is used to substitute an expression for density ρ in the expression for speed V.<syntaxhighlight lang="maxima"> (%i6) R :1716.56; (R) 1716.56 (%i7) V(q,P,T) := ''(rhs(eq)); (%o7) V(q,P,T):=sqrt(2)*sqrt((R*T*q)/P) </syntaxhighlight>The value for R determines the units: * dynamic pressure q is in lbf/ft² * pressure P is in lbf/ft² * T is in °R * V is in ft/s The second of the two expressions above define a Maxima function for V in terms of values of dynamic pressure q, air pressure P, and temperature T. This expression for speed can be checked using known values. At 15,000 ft if: q is 29.92 lbf/ft² P is 1194.79 lbf/ft² T is 465.24 °R then:<syntaxhighlight lang="maxima"> (%i8) load("excel_round.mac"); (%o8) "/home/davidmiller/Downloads/excel_round.mac" (%i9) excel_round(float(V(29.92,1194.79,465.24)),1); (%o9) 200.0 </syntaxhighlight>This resulting value of 200 ft/s for the TAS agrees with previous calculations under the given conditions. However, this is TAS in ft/s. Displaying TAS in terms of knots is much more relevant. The conversion factor for this purpose is 1.687811. So TAS in terms of knots can be expressed as follows:<syntaxhighlight lang="maxima"> (%i10) TAS(q,P,T) := V(q,P,T)/1.687811; (%o10) TAS(q,P,T):=V(q,P,T)/1.687811 (%i11) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o11) 118.5 </syntaxhighlight>The result is 118.5 knots for TAS which agrees with previous calculated values. The expression for TAS could have been more general by using an identifier (cf, for example) for the conversion factor as follows:<syntaxhighlight lang="maxima"> (%i12) TAS(q,P,T) := V(q,P,T)/cf; (%o12) TAS(q,P,T):=V(q,P,T)/cf (%i13) cf : 1.687811; (cf) 1.687811 (%i14) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o14) 118.5 </syntaxhighlight>The conversion factor for meters per second (m/s) is: 3.28084<syntaxhighlight lang="maxima"> (%i15) cf:3.28084; (cf) 3.28084 (%i16) excel_round(float(TAS(29.92,1194.79,465.24)),1); (%o16) 61.0 </syntaxhighlight>This is TAS in meters per second. Thus, by changing the value of only the conversion factor, TAS could be determined for various units of measure. == Summary == This section provided examples of the use of Maxima expressions in an applied context. It was demonstrated that Maxima can be used effectively for numerical computations. However, unlike typical general-purpose programming languages, it was also demonstrated that Maxima is capable of providing much more capability than merely "number crunching" by way of symbolic operations. The symbolic expression capabilities of Maxima extend way beyond what was demonstrated in this section. The purpose of this section is not to provide a comprehensive survey of the symbolic expression capabilities of Maxima. Rather, it is intended to be an introduction to Maxima for the sake of familiarity with the sort of expressions that are typical for using Maxima in an applied context, with the syntax that is used for Maxima expressions, and generally the important role expressions have in interacting with the Maxima interface. Three Maxima operators that should be recognized as used frequently as evidenced by the expressions of this section are: # <code>=</code> the equality operator (equation expressions) # <code>:=</code> the Maxima function definition operator # <code>:</code> the assignment operator No matter the task at hand for which Maxima is being used, these three operators are likely to be essential, so having a clear understanding of the nature of each is important. === Equations and Functions === Here is what a ''wxMaxima'' "Tip of the Day" remarks about the first two:<blockquote>"Equations have several advantages over functions. For example they can be manipulated with factor(), expand() and similar functions. They can easily be introduced one into another."</blockquote>It is essential to recognize that Maxima function expressions defined using the <code>:=</code> operator (and likewise for the <code>define()</code> operator, not discussed here) is not synonymous with the mathematical concept of a function, and this is also the case with typical general-purpose programming languages, and not only Maxima. The Maxima function (in the programming sense) operator can be used to define a function (in the mathematical sense), but this is not generally the case for all Maxima function expressions. Maxima function expressions can be entered that cannot be used to define a mathematical function in the technical sense. To define a mathematical function using Maxima, to be precise, would require something similar to the first two of the following expressions:<syntaxhighlight lang="maxima">(%i1) y = f(x); (%o1) y=f(x) (%i2) f(x) := x^3; (%o2) f(x):=x^3 (%i3) y = f(x), x=3; (%o3) y=27 (%i4) y = f(3); (%o4) y=27 (%i5) is(equalp(y,f(3))); (%o5) unknown (%i6) is(y = f(3)); (%o6) false (%i7) is(y = f(3)), y = 27; (%o7) true (%i8) f(3); (%o8) 27</syntaxhighlight>The first of the above expressions, if evaluated, will have a value of <code>true</code> or <code>false</code>, depending on the values of <code>x</code> and <code>y</code>. The second of these two expressions will have a numerical value that depends only on the numerical value of <code>x</code>. This difference is essential to understand. For a function, in the mathematical sense, it is necessary for values of ''x'' and ''y'' as applied to the expression <code>y = f(x)</code>, to evaluate to <code>true</code>, that is the values of the ordered pairs of numbers ''(x,y)'' evaluate the expression <code>y = f(x)</code> to <code>true</code> if they are instances of the function, and <code>false</code> otherwise. The function <code>f(x)</code>, in the programming sense, can be defined in all sorts of ways as a Maxima expressions, including for the purpose of the definition of a mathematical function, but not necessarily so. The following expressions from those above, provides some insight into the way Maxima as a CAS differs in an essential way from typical general-purpose programming languages:<syntaxhighlight lang="maxima"> (%i5) is(equalp(y,f(3))); (%o5) unknown (%i6) is(y = f(3)); (%o6) false </syntaxhighlight> The value of the identifier <code>y</code> in these expressions is itself. because of this, <code>y</code> as an identifier represents the essence of a variable quantity, and not as merely as a name for another expression. The first of these two expressions has the value of <code>unknown</code>, because it simply is not possible to say if <code>y</code> and <code>f(3)</code> are equal. The second has a value of <code>false</code> simply because the value of <code>y</code> is itself and unless the value of <code>f(3)</code> is <code>y</code>, then this expression is obviously false.<syntaxhighlight lang="maxima"> (%i1) g(x) := y; (%o1) g(x):=y (%i2) y = g(y); (%o2) y=y </syntaxhighlight> This is trivially obvious, but also clearly logical, and if Maxima is anything, it is logical. This is as it should be. Technically the <code>:=</code> operator is a type of assignment. The other frequently used assignment operator is <code>:</code>, and a brief discussion of this operator follows. === Assignment === The <code>:</code> assignment operator is most typical used to name another value or expression. The word "identifier" in this case is understood to be a name that is in a sense identical to a value or expression. some examples follow:<syntaxhighlight lang="maxima"> (%i08) x : 2; (x) 2 (%i09) x; (%o09) 2 (%i10) y : 3.14159; (y) 3.14159 (%i11) y; (%o11) 3.14159 (%i12) r : rationalize(0.1); (r) 3602879701896397/36028797018963968 (%i13) r; (%o13) 3602879701896397/36028797018963968 (%i14) s : "a string"; (s) "a string" (%i15) s; (%o15) "a string" (%i16) \9ofHearts : true; (\9ofHearts) true (%i17) \9ofHearts; (%o17) true </syntaxhighlight>Assignment is not limited however to simple expressions such as these. Entire expressions from simple to more complex can be assigned to identifiers. For example:<syntaxhighlight lang="maxima"> (%i18) z : m + n +3; (z) n+m+3 (%i19) z; (%o19) n+m+3 (%i20) ex1 : a*x^2 +b*x + c; (ex1) c+2*b+4*a (%i21) ex1; (%o21) c+2*b+4*a (%i22) ex2 : 'integrate( %e^(2*t+a)*sin(t)*t,t); (ex2) integrate(%e^(2*t+a)*t*sin(t),t) (%i23) ex2; (%o23) integrate(%e^(2*t+a)*t*sin(t),t) (%i24) solution : ex2, integrate; (solution) ((10*%e^(2*t+a)*t-3*%e^(2*t+a))*sin(t)+(4*%e^(2*t+a)-5*%e^(2*t+a)*t)*cos(t))/25 (%i25) solution; (%o25) ((10*%e^(2*t+a)*t-3*%e^(2*t+a))*sin(t)+(4*%e^(2*t+a)-5*%e^(2*t+a)*t)*cos(t))/25 </syntaxhighlight>This sort of assignment is not possible using typical general-purpose programming languages, and will result in undefined variable error messages. For example in the case of Julia:<syntaxhighlight lang="julia-repl"> julia> z = m + n + 3 ERROR: UndefVarError: `m` not defined in `Main` Suggestion: check for spelling errors or missing imports. Stacktrace: [1] top-level scope @ REPL[1]:1 </syntaxhighlight>Julia is a very capable and useful programming language, especially for numerical computations, but symbolic expressions are not what Julia was intended to be used for. Maxima on the other hand, is quite at home with symbolic expressions. Some of the output expressions in these examples are rendered in a much more readable and conventional manner by the ''wxMaxima'' GUI using typical mathematical notation. The output for <code>ex2</code> for example is rendered as: [[File:Image_of_wxMaxima_output.png]] The output for the <code>solution</code> identifier is rendered as: [[File:Another image of wxMaxima expression.png|500x500px]] The ''wxMaxima'' GUI can be configured to suppress the <code>%</code> character displayed before the special constant <code>%e</code> in the above output expressions if desired. The reader is referred to Sections 9.6 (Assignment operators) and 22 (Equations) of the Maxima Help document for more information related to these three operators and more. {{BookCat}} j2xfibam9afg183toh7r8555xjzjl8n Wikibooks:Reading room/Archives/2026/March 4 483072 4635379 4633796 2026-05-12T08:10:28Z ArchiverBot 1227662 Bot: Archiving 1 thread from [[Wikibooks:Reading room/Technical Assistance]] 4635379 wikitext text/x-wiki {{talk archive}} == Correspondence between John Belton and the Continental Congress == Hello. [[s:Correspondence between John Belton and the Continental Congress]] is probably going to be deleted from Wikisource as out of scope, would Wikibooks be interested in its import? -- [[User:Jan.Kamenicek|Jan.Kamenicek]] ([[User talk:Jan.Kamenicek|discuss]] • [[Special:Contributions/Jan.Kamenicek|contribs]]) 19:27, 3 March 2026 (UTC) :@[[User:Jan.Kamenicek|Jan.Kamenicek]] Thank you for checking! We do not host source texts, so it doesn't look like this would be in scope at Wikibooks. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 21:55, 3 March 2026 (UTC) == Templates: Refbegin and Refend. == These DO NOT seem to work as the documentation indicates throwing lints when used with the form indicated. These templates need to be behave consistently, or thrown out and re-written entirely. It would be NICE to have ONE set of templates and documentation to accompany them, currently this does not apparently exist, with the relevant templates getting confused between definition lists <nowiki>:</nowiki> and standard lists {{*}}. CONSISTENT behaviour would also be nice. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 09:39, 19 March 2026 (UTC) :@[[User:ShakespeareFan00|ShakespeareFan00]] I temporarily reduced the protection down for these templates (semi-protection), so you can do the necessary changes. :) [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 17:38, 21 March 2026 (UTC) : Thats the thing I'm not sure what the 'stable' repair is, without breaking other stuff :( [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|discuss]] • [[Special:Contributions/ShakespeareFan00|contribs]]) 11:44, 22 March 2026 (UTC) fxwdfuezc1ik3q1mxmcsh00l9vwrcaw User talk:SHE-LOVES-BRIAN 3 483121 4635289 4634711 2026-05-11T16:56:49Z Kittycataclysm 3371989 /* Welcome to the Cookbook */ Reply 4635289 wikitext text/x-wiki == Welcome to the Cookbook == {{mbox | type = | image = [[File:Foodlogo2.svg|40px]] | imageright = | style = | textstyle = | text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }} | small = | smallimage = | smallimageright = | smalltext = }} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 17:43, 4 May 2026 (UTC) :thank you [[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] ([[User talk:SHE-LOVES-BRIAN|discuss]] • [[Special:Contributions/SHE-LOVES-BRIAN|contribs]]) 14:13, 5 May 2026 (UTC) ::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I notice that you are rapidly adding many recipes, but so far they don't meet the cookbook requirements—could you please fix these recipes before adding more? Let me know if you have questions. Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 23:50, 5 May 2026 (UTC) :can you pls give me an example of the requirements or where i made a mistake [[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] ([[User talk:SHE-LOVES-BRIAN|discuss]] • [[Special:Contributions/SHE-LOVES-BRIAN|contribs]]) 11:21, 6 May 2026 (UTC) ::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I have noted the problems with each recipe in the box at the top of its page, and the requirements are all described at [[Cookbook:Manual of Style]] and [[Cookbook:Policy/Recipe template]]. You will need to fix the recipes, but I can help you with one of them to help you understand what I mean. One of the most important things you're missing is quantities, since these are needed for someone to replicate the recipe. Could you start by adding quantities to [[Cookbook:Nigerian Miyan Giyada]], and I can then help with the formatting? Cheers —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:50, 6 May 2026 (UTC) :::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] thank you for adding the quantities to [[Cookbook:Nigerian Miyan Giyada]]—I reviewed it and [[Special:Diff/4634710|made the minimum required cookbook formatting adjustments]] for you to use as a reference. However, the recipe is still incomplete for reasons I listed in the box at the top of the page. Additionally, I see that you are still adding new recipes with similar problems as the existing incomplete ones. Please complete all the recipes before continuing to add new ones. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 02:33, 8 May 2026 (UTC) ::::@[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] again, please stop adding new recipes while the old ones still have issues. Failure to engage in constructive editing will result in restriction of your cookbook page creation. —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:56, 11 May 2026 (UTC) 8mmwt4hlyycmpsijmgch8d3ycbvyevp Cookbook:Koki Beans 102 483189 4635293 4634656 2026-05-11T17:02:27Z Golgbachev 3581703 Golgbachev moved page [[User:Golgbachev/sandbox]] to [[Cookbook:Koki Beans]]: new article on Koki beans 4634656 wikitext text/x-wiki = Koki Beans = Koki beans, also knowc simply as ''Koki'', are a [[Traditional Abacus and Bead Arithmetic/Division/Guide to traditional division (帰除法)|traditional]] steamed bean pudding [[Common Lisp/First steps/Installation|commonly]] prepared in Cameroon and several regions of Central and West Africa. The dish is made from peeled beans blended into a smooth paste and mixed with palm oil, spices, and optional ingredients such as smoked fish or crayfish. The mixture is then wrapped, usually in banana leaves, and steamed until firm. {{Recipe summary | Name = {{subst:Koki beans}} | Category = Food | Cuisine = Cameroon | Origin = West African dish, | Servings = 4 | Difficulty = 3 | Image = Koki Beans.jpg }} Koki is appreciated for its rich flavor, soft texture, and high nutritional value. It is frequently served during family meals, ceremonies, festivals, and social gatherings. In many communities, Koki is traditionally eaten with boiled plantains, cassava, cocoyams, or pap made from fermented maize. The dish remains an important part of African culinary heritage and continues to be prepared both with traditional methods and modern kitchen equipment. == Main Ingredients == * 500 g black-eyed peas or cowpeas * 150 ml red palm oil * 1 medium onion * 1 or 2 chili peppers * Salt to taste * Water as needed == Optional Ingredients == * Smoked fish * Crayfish or dried shrimp * Garlic * Seasoning cubes * Vegetable oil * Fresh herbs == Wrapping Materials == * Banana leaves * Aluminum foil or heat-resistant containers if banana leaves are unavailable == Procedure == ==== Step 1: Soak the Beans ==== Wash the beans thoroughly and soak them in water for several hours or overnight. Soaking softens the beans and makes peeling easier. ==== Step 2: Remove the Skins ==== Rub the soaked beans between the hands to separate the skins from the seeds. Rinse several times with clean water until most of the skins are removed. ==== Step 3: Blend the Mixture ==== Blend the peeled beans together with onion, chili peppers, and a small amount of water until a smooth paste is obtained. The texture should be thick but soft enough to mix easily. ==== Step 4: Add Palm Oil and Seasoning ==== Transfer the bean paste into a bowl. Add red palm oil and salt, then mix thoroughly. Optional ingredients such as crayfish, smoked fish, or seasoning cubes may also be added at this stage. ==== Step 5: Prepare the Wrapping ==== Wash banana leaves and pass them briefly over heat to soften them. Fold the leaves into small containers or packets. ==== Step 6: Fill the Wrappers ==== Pour the bean mixture into the prepared banana leaf packets and close them securely to prevent water from entering during steaming. ==== Step 7: Steam the Koki ==== Arrange the wrapped portions in a large pot with a small amount of water at the bottom. Steam for approximately 1 to 2 hours, adding water when necessary to prevent the pot from drying out. ==== Step 8: Serve ==== Allow the Koki to cool slightly before serving. It may be eaten alone or accompanied by boiled plantains, cassava, sweet potatoes, or pap. == Notes == * Traditional Koki is usually prepared with red palm oil, which gives the dish its characteristic orange color. * Banana leaves contribute aroma and help maintain moisture during cooking. * The texture of Koki should be firm but soft when fully cooked. * Cooking time may vary depending on the size of the portions and the intensity of the heat. * Electric blenders and modern steamers are commonly used today, although traditional preparation methods remain popular. == Tips == * Use freshly soaked beans for a smoother texture. * Blend the beans thoroughly to avoid coarse particles in the final dish. * Avoid adding excessive water, as the mixture may become too soft during steaming. * Stir the batter well after adding palm oil to distribute the color evenly. * Check the water level regularly while steaming to avoid burning the pot. * If banana leaves are unavailable, use heat-resistant bowls or aluminum foil as substitutes. == Variations == * Smoked Fish Koki: Smoked fish may be mixed into the batter for additional flavor and protein * Crayfish Koki: Ground crayfish or dried shrimp can be added to create a richer taste commonly appreciated in coastal regions. * Vegetarian Version: A vegetarian version may be prepared without fish or seafood while maintaining the traditional seasoning and spices. * Low-Oil Version: Some modern recipes reduce the quantity of palm oil for dietary preferences while preserving the general texture of the dish. ltknhwyld39wprw415l1u5jq2pn23iv Cookbook:Nigerian Oto mboro recipe 102 483261 4635262 4635177 2026-05-11T15:28:52Z Honeydear 3582657 I added a wiki link 4635262 wikitext text/x-wiki '''Nigerian oto mboro recipe''' is a type of Nigerian African recipe made with green grinded banana. It is majorly eaten by people in the south-south geopolitical zone. == Ingredient == * Green Banana * [[Cookbook:Water|Water]] * Red oil * Periwinkle * [[Cookbook:Crayfish|Crayfish]] * [[Cookbook:Maggi|Maggi]] * Dried fish( scumbia) * [[Cookbook:Kpomo|Kpomo]] * [[Cookbook:Onions|Onions]] * Scent leaf === Optional === * [[Cookbook:Meat|meat]] * Vegetable leaf == Procedures == # Grind your pepper and crayfish # Prepare your onion and dried fish # wash your Periwinkle thoroughly with salt # keep them aside. Then peel your banana # Grind the banana(20 pieces)with a grater # Put it in a bowl # Add 3 cubes of Maggi and a teaspoon of salt # Wash your hand thoroughly and mix them and keep aside # Prepare your meat and kpomo # Put it in a bowl,add onions, two spoon of the grinded pepper , 3 cubes of Maggi and steam for 15 mins # Turn your steamed meat into a clean bowl # with the sane pot,add a very little quantity of water into the pot # Add your 2 cubes Maggi, half spoon of grinded pepper and 3 spoons of crayfish and onion. Cover for 5 mins # When there is a steam in the pot, use a spoon to scoop the grinded banana to shape the spoon into the water gently,carefully avoiding overlapping in the pot. # Add Periwinkle and meat at the first 20 scoops in the pot,continue that way till you are done with taking the banana from the bowl. # After which, cover the pot and leave to boil till the banana turns nude color # Add your 3 litres of oil and stir thoroughly # Add your leaf and bring it down. [[Category:Easy recipes]] [[Category:Nigerian recipes]] [[Category:Recipes using banana]] 1bijjfe2oryj4bo4rju0otcqu2bo43r 4635276 4635262 2026-05-11T16:44:16Z Kittycataclysm 3371989 incomplete 4635276 wikitext text/x-wiki {{Incomplete recipe|reason=missing quantities, missing cookbook templates, missing categories, missing ingredients based on procedure, vague directions}} '''Nigerian oto mboro recipe''' is a type of Nigerian African recipe made with green grinded banana. It is majorly eaten by people in the south-south geopolitical zone. == Ingredient == * Green Banana * [[Cookbook:Water|Water]] * Red oil * Periwinkle * [[Cookbook:Crayfish|Crayfish]] * [[Cookbook:Maggi|Maggi]] * Dried fish( scumbia) * [[Cookbook:Kpomo|Kpomo]] * [[Cookbook:Onions|Onions]] * Scent leaf === Optional === * [[Cookbook:Meat|meat]] * Vegetable leaf == Procedures == # Grind your pepper and crayfish # Prepare your onion and dried fish # wash your Periwinkle thoroughly with salt # keep them aside. Then peel your banana # Grind the banana(20 pieces)with a grater # Put it in a bowl # Add 3 cubes of Maggi and a teaspoon of salt # Wash your hand thoroughly and mix them and keep aside # Prepare your meat and kpomo # Put it in a bowl,add onions, two spoon of the grinded pepper , 3 cubes of Maggi and steam for 15 mins # Turn your steamed meat into a clean bowl # with the sane pot,add a very little quantity of water into the pot # Add your 2 cubes Maggi, half spoon of grinded pepper and 3 spoons of crayfish and onion. Cover for 5 mins # When there is a steam in the pot, use a spoon to scoop the grinded banana to shape the spoon into the water gently,carefully avoiding overlapping in the pot. # Add Periwinkle and meat at the first 20 scoops in the pot,continue that way till you are done with taking the banana from the bowl. # After which, cover the pot and leave to boil till the banana turns nude color # Add your 3 litres of oil and stir thoroughly # Add your leaf and bring it down. [[Category:Easy recipes]] [[Category:Nigerian recipes]] [[Category:Recipes using banana]] eaq7gka3hp0jok9w7jhdoftj07ung6r Talk:Esophageal Adenocarcinoma stage 4 1 483270 4635251 2026-05-11T14:21:31Z ~2026-28481-22 3583716 Created page with " Hello - Anyone familiar with '''Esophageal Adenocarcinoma Stage 4, how or what can I do to save his life??? Please!!!'''" 4635251 wikitext text/x-wiki Hello - Anyone familiar with '''Esophageal Adenocarcinoma Stage 4, how or what can I do to save his life??? Please!!!''' a3b2vuzvo5orln8pooq3rrti9sy3bam 4635252 4635251 2026-05-11T14:21:44Z Quinlan83 3290607 Requesting deletion 4635252 wikitext text/x-wiki {{delete|Test page}} Hello - Anyone familiar with '''Esophageal Adenocarcinoma Stage 4, how or what can I do to save his life??? Please!!!''' tlx0pq8m5i2rhuclf5viwlcmqrkti0o 4635253 4635252 2026-05-11T14:23:44Z ~2026-28481-22 3583716 /* Esophageal Adenocarcinoma Stage 4. */ new section 4635253 wikitext text/x-wiki {{delete|Test page}} Hello - Anyone familiar with '''Esophageal Adenocarcinoma Stage 4, how or what can I do to save his life??? Please!!!''' == Esophageal Adenocarcinoma Stage 4. == What can I do to down grade his stage? [[Special:Contributions/&#126;2026-28481-22|&#126;2026-28481-22]] ([[User talk:&#126;2026-28481-22|talk]]) 14:23, 11 May 2026 (UTC) 8nwgku1rl2a5n2lrstnqxgsrnugwvgg Cookbook:Nigerian Yanrin 102 483271 4635261 2026-05-11T15:07:13Z SHE-LOVES-BRIAN 3581157 Created page with " Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. I..." 4635261 wikitext text/x-wiki Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. It has a strong seafood aroma and a deep umami taste that can make soups and [[:Category:Recipes for stew|stews]] extremely flavorful. {{Recipe summary | Category = Dinner recipes | Cuisine = Nigerian | Origin = southwestern nigeria | Servings = 4-8 | Time = 60 minutes | Difficulty = 2 }} === Where It Comes From === Yanrin is commonly harvested from freshwater environments in parts of: * Ondo State * Ogun State * Lagos State riverine areas * Coastal and lagoon communities in southwestern Nigeria === How It Is Eaten === People usually: * Add it to pepper soup * Use it in native stews * Mix it into vegetable soups * Eat it with amala, eba, or rice Some cooks fry it lightly before adding it to soups to intensify the flavor. === Taste === Yanrin has: * A smoky seafood flavor * Slight saltiness * Crunchy texture when fried * Rich savory depth similar to dried crayfish, but stronger === Why It’s Considered Rare === It’s not commonly exported or mass-produced, and many Nigerians outside Yoruba riverine communities have never tried it. It is mostly found in: * Traditional open markets * Specialty local food stalls * Indigenous seafood sellers === Cultural Significance === In some Yoruba communities, yanrin is seen as a “heritage ingredient” connected to fishing traditions and local lagoon life. Older generations especially value it because it was once an affordable everyday protein source before modern frozen seafood became common. == INGREDIENTS == * 2 cups dried yanrin * 1 medium [[Cookbook:Onion|onion, sliced]] * 3 fresh [[Cookbook:Pepper|scotch bonnet peppers]] (ata rodo) * 2 seasoning cubes * 1 tablespoon [[Cookbook:Crayfish|ground crayfish]] * 1 teaspoon [[Cookbook:Iru|iru (locust beans)]] — optional * 1 teaspoon salt (adjust to taste) * 1 tablespoon [[Cookbook:Herbs and Spices|ground pepper soup spice]] * 6 cups water * 2 tablespoons [[Cookbook:Palm Oil|palm oil]] (optional) * A handful of [[Cookbook:Spice|scent leaves or basil leaves]] == Optional Additions == You can also add: * smoked fish * dry fish * periwinkle * pomo * shrimp == PROCEDURE == # Rinse the yanrin thoroughly several times to remove sand. # Blend or pound the peppers roughly. # Put water, onions, peppers, seasoning, spice, and iru into a pot. # Bring to a boil for about 10 minutes. # Add the yanrin and cook for another 10–15 minutes. # Add scent leaves last. # Taste and adjust salt/spices. == Best Served With == * Amala * Eba * white rice * boiled yam [[Category:Nigerian recipes]] [[Category:Recipes using fish]] [[Category:Recipes using meat]] [[Category:Traditional recipes]] sp7r99hscno2qoel5g8nom673i7jfcm 4635286 4635261 2026-05-11T16:52:07Z Kittycataclysm 3371989 incomplete 4635286 wikitext text/x-wiki {{Incomplete recipe|reason=missing/incorrect categories, intro needs condensing, excessive capitalization, missing recipe header template}} Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. It has a strong seafood aroma and a deep umami taste that can make soups and [[:Category:Recipes for stew|stews]] extremely flavorful. {{Recipe summary | Category = Dinner recipes | Cuisine = Nigerian | Origin = southwestern nigeria | Servings = 4-8 | Time = 60 minutes | Difficulty = 2 }} === Where It Comes From === Yanrin is commonly harvested from freshwater environments in parts of: * Ondo State * Ogun State * Lagos State riverine areas * Coastal and lagoon communities in southwestern Nigeria === How It Is Eaten === People usually: * Add it to pepper soup * Use it in native stews * Mix it into vegetable soups * Eat it with amala, eba, or rice Some cooks fry it lightly before adding it to soups to intensify the flavor. === Taste === Yanrin has: * A smoky seafood flavor * Slight saltiness * Crunchy texture when fried * Rich savory depth similar to dried crayfish, but stronger === Why It’s Considered Rare === It’s not commonly exported or mass-produced, and many Nigerians outside Yoruba riverine communities have never tried it. It is mostly found in: * Traditional open markets * Specialty local food stalls * Indigenous seafood sellers === Cultural Significance === In some Yoruba communities, yanrin is seen as a “heritage ingredient” connected to fishing traditions and local lagoon life. Older generations especially value it because it was once an affordable everyday protein source before modern frozen seafood became common. == INGREDIENTS == * 2 cups dried yanrin * 1 medium [[Cookbook:Onion|onion, sliced]] * 3 fresh [[Cookbook:Pepper|scotch bonnet peppers]] (ata rodo) * 2 seasoning cubes * 1 tablespoon [[Cookbook:Crayfish|ground crayfish]] * 1 teaspoon [[Cookbook:Iru|iru (locust beans)]] — optional * 1 teaspoon salt (adjust to taste) * 1 tablespoon [[Cookbook:Herbs and Spices|ground pepper soup spice]] * 6 cups water * 2 tablespoons [[Cookbook:Palm Oil|palm oil]] (optional) * A handful of [[Cookbook:Spice|scent leaves or basil leaves]] == Optional Additions == You can also add: * smoked fish * dry fish * periwinkle * pomo * shrimp == PROCEDURE == # Rinse the yanrin thoroughly several times to remove sand. # Blend or pound the peppers roughly. # Put water, onions, peppers, seasoning, spice, and iru into a pot. # Bring to a boil for about 10 minutes. # Add the yanrin and cook for another 10–15 minutes. # Add scent leaves last. # Taste and adjust salt/spices. == Best Served With == * Amala * Eba * white rice * boiled yam [[Category:Nigerian recipes]] [[Category:Recipes using fish]] [[Category:Recipes using meat]] [[Category:Traditional recipes]] pmb0mzcjgtv30xynau5toex1v1nmuen 4635391 4635286 2026-05-12T09:47:36Z SHB2000 3332924 SHB2000 moved page [[Cookbook:NIGERIAN YANRIN]] to [[Cookbook:Nigerian Yanrin]] without leaving a redirect: why is this in ALL CAPS 4635286 wikitext text/x-wiki {{Incomplete recipe|reason=missing/incorrect categories, intro needs condensing, excessive capitalization, missing recipe header template}} Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. It has a strong seafood aroma and a deep umami taste that can make soups and [[:Category:Recipes for stew|stews]] extremely flavorful. {{Recipe summary | Category = Dinner recipes | Cuisine = Nigerian | Origin = southwestern nigeria | Servings = 4-8 | Time = 60 minutes | Difficulty = 2 }} === Where It Comes From === Yanrin is commonly harvested from freshwater environments in parts of: * Ondo State * Ogun State * Lagos State riverine areas * Coastal and lagoon communities in southwestern Nigeria === How It Is Eaten === People usually: * Add it to pepper soup * Use it in native stews * Mix it into vegetable soups * Eat it with amala, eba, or rice Some cooks fry it lightly before adding it to soups to intensify the flavor. === Taste === Yanrin has: * A smoky seafood flavor * Slight saltiness * Crunchy texture when fried * Rich savory depth similar to dried crayfish, but stronger === Why It’s Considered Rare === It’s not commonly exported or mass-produced, and many Nigerians outside Yoruba riverine communities have never tried it. It is mostly found in: * Traditional open markets * Specialty local food stalls * Indigenous seafood sellers === Cultural Significance === In some Yoruba communities, yanrin is seen as a “heritage ingredient” connected to fishing traditions and local lagoon life. Older generations especially value it because it was once an affordable everyday protein source before modern frozen seafood became common. == INGREDIENTS == * 2 cups dried yanrin * 1 medium [[Cookbook:Onion|onion, sliced]] * 3 fresh [[Cookbook:Pepper|scotch bonnet peppers]] (ata rodo) * 2 seasoning cubes * 1 tablespoon [[Cookbook:Crayfish|ground crayfish]] * 1 teaspoon [[Cookbook:Iru|iru (locust beans)]] — optional * 1 teaspoon salt (adjust to taste) * 1 tablespoon [[Cookbook:Herbs and Spices|ground pepper soup spice]] * 6 cups water * 2 tablespoons [[Cookbook:Palm Oil|palm oil]] (optional) * A handful of [[Cookbook:Spice|scent leaves or basil leaves]] == Optional Additions == You can also add: * smoked fish * dry fish * periwinkle * pomo * shrimp == PROCEDURE == # Rinse the yanrin thoroughly several times to remove sand. # Blend or pound the peppers roughly. # Put water, onions, peppers, seasoning, spice, and iru into a pot. # Bring to a boil for about 10 minutes. # Add the yanrin and cook for another 10–15 minutes. # Add scent leaves last. # Taste and adjust salt/spices. == Best Served With == * Amala * Eba * white rice * boiled yam [[Category:Nigerian recipes]] [[Category:Recipes using fish]] [[Category:Recipes using meat]] [[Category:Traditional recipes]] pmb0mzcjgtv30xynau5toex1v1nmuen 4635393 4635391 2026-05-12T09:48:07Z SHB2000 3332924 /* INGREDIENTS */ using ALL CAPS gives the impression THAT WE ARE SHOUTING TO THE READER 4635393 wikitext text/x-wiki {{Incomplete recipe|reason=missing/incorrect categories, intro needs condensing, excessive capitalization, missing recipe header template}} Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. It has a strong seafood aroma and a deep umami taste that can make soups and [[:Category:Recipes for stew|stews]] extremely flavorful. {{Recipe summary | Category = Dinner recipes | Cuisine = Nigerian | Origin = southwestern nigeria | Servings = 4-8 | Time = 60 minutes | Difficulty = 2 }} === Where It Comes From === Yanrin is commonly harvested from freshwater environments in parts of: * Ondo State * Ogun State * Lagos State riverine areas * Coastal and lagoon communities in southwestern Nigeria === How It Is Eaten === People usually: * Add it to pepper soup * Use it in native stews * Mix it into vegetable soups * Eat it with amala, eba, or rice Some cooks fry it lightly before adding it to soups to intensify the flavor. === Taste === Yanrin has: * A smoky seafood flavor * Slight saltiness * Crunchy texture when fried * Rich savory depth similar to dried crayfish, but stronger === Why It’s Considered Rare === It’s not commonly exported or mass-produced, and many Nigerians outside Yoruba riverine communities have never tried it. It is mostly found in: * Traditional open markets * Specialty local food stalls * Indigenous seafood sellers === Cultural Significance === In some Yoruba communities, yanrin is seen as a “heritage ingredient” connected to fishing traditions and local lagoon life. Older generations especially value it because it was once an affordable everyday protein source before modern frozen seafood became common. == Ingredients == * 2 cups dried yanrin * 1 medium [[Cookbook:Onion|onion, sliced]] * 3 fresh [[Cookbook:Pepper|scotch bonnet peppers]] (ata rodo) * 2 seasoning cubes * 1 tablespoon [[Cookbook:Crayfish|ground crayfish]] * 1 teaspoon [[Cookbook:Iru|iru (locust beans)]] — optional * 1 teaspoon salt (adjust to taste) * 1 tablespoon [[Cookbook:Herbs and Spices|ground pepper soup spice]] * 6 cups water * 2 tablespoons [[Cookbook:Palm Oil|palm oil]] (optional) * A handful of [[Cookbook:Spice|scent leaves or basil leaves]] == Optional Additions == You can also add: * smoked fish * dry fish * periwinkle * pomo * shrimp == PROCEDURE == # Rinse the yanrin thoroughly several times to remove sand. # Blend or pound the peppers roughly. # Put water, onions, peppers, seasoning, spice, and iru into a pot. # Bring to a boil for about 10 minutes. # Add the yanrin and cook for another 10–15 minutes. # Add scent leaves last. # Taste and adjust salt/spices. == Best Served With == * Amala * Eba * white rice * boiled yam [[Category:Nigerian recipes]] [[Category:Recipes using fish]] [[Category:Recipes using meat]] [[Category:Traditional recipes]] pf0tthktghls9wy223lbfu5c29cuiq8 4635394 4635393 2026-05-12T09:48:46Z SHB2000 3332924 /* PROCEDURE */ 4635394 wikitext text/x-wiki {{Incomplete recipe|reason=missing/incorrect categories, intro needs condensing, excessive capitalization, missing recipe header template}} Yanrin is a traditional Yoruba delicacy made from tiny freshwater crustaceans that resemble miniature [[Cookbook:Seafood|crayfish or shrimp]]. It is especially associated with riverine communities in southwestern [[wikipedia:Nigeria|Nigeria]] and is considered both a [[Cookbook:Soup|soup]] ingredient and a protein-rich side dish. === What Yanrin Looks Like === Yanrin is very small, reddish-brown, and usually sold dried. Because of its size, it’s often cooked whole. It has a strong seafood aroma and a deep umami taste that can make soups and [[:Category:Recipes for stew|stews]] extremely flavorful. {{Recipe summary | Category = Dinner recipes | Cuisine = Nigerian | Origin = southwestern nigeria | Servings = 4-8 | Time = 60 minutes | Difficulty = 2 }} === Where It Comes From === Yanrin is commonly harvested from freshwater environments in parts of: * Ondo State * Ogun State * Lagos State riverine areas * Coastal and lagoon communities in southwestern Nigeria === How It Is Eaten === People usually: * Add it to pepper soup * Use it in native stews * Mix it into vegetable soups * Eat it with amala, eba, or rice Some cooks fry it lightly before adding it to soups to intensify the flavor. === Taste === Yanrin has: * A smoky seafood flavor * Slight saltiness * Crunchy texture when fried * Rich savory depth similar to dried crayfish, but stronger === Why It’s Considered Rare === It’s not commonly exported or mass-produced, and many Nigerians outside Yoruba riverine communities have never tried it. It is mostly found in: * Traditional open markets * Specialty local food stalls * Indigenous seafood sellers === Cultural Significance === In some Yoruba communities, yanrin is seen as a “heritage ingredient” connected to fishing traditions and local lagoon life. Older generations especially value it because it was once an affordable everyday protein source before modern frozen seafood became common. == Ingredients == * 2 cups dried yanrin * 1 medium [[Cookbook:Onion|onion, sliced]] * 3 fresh [[Cookbook:Pepper|scotch bonnet peppers]] (ata rodo) * 2 seasoning cubes * 1 tablespoon [[Cookbook:Crayfish|ground crayfish]] * 1 teaspoon [[Cookbook:Iru|iru (locust beans)]] — optional * 1 teaspoon salt (adjust to taste) * 1 tablespoon [[Cookbook:Herbs and Spices|ground pepper soup spice]] * 6 cups water * 2 tablespoons [[Cookbook:Palm Oil|palm oil]] (optional) * A handful of [[Cookbook:Spice|scent leaves or basil leaves]] == Optional Additions == You can also add: * smoked fish * dry fish * periwinkle * pomo * shrimp == Procedure == # Rinse the yanrin thoroughly several times to remove sand. # Blend or pound the peppers roughly. # Put water, onions, peppers, seasoning, spice, and iru into a pot. # Bring to a boil for about 10 minutes. # Add the yanrin and cook for another 10–15 minutes. # Add scent leaves last. # Taste and adjust salt/spices. == Best Served With == * Amala * Eba * white rice * boiled yam [[Category:Nigerian recipes]] [[Category:Recipes using fish]] [[Category:Recipes using meat]] [[Category:Traditional recipes]] rt8i7z8i7u4924ubm1i3b06cfdq37bf User:Example/webtest999 2 483272 4635264 2026-05-11T15:46:32Z ~2026-28290-31 3583827 test 4635264 wikitext text/x-wiki <!-- webtest --> l2l9d0x0rgvvdlqqy0aesu4kqpiupnj User talk:Honeydear 3 483273 4635277 2026-05-11T16:44:35Z Kittycataclysm 3371989 /* Welcome to the Cookbook */ new section 4635277 wikitext text/x-wiki == Welcome to the Cookbook == {{mbox | type = | image = [[File:Foodlogo2.svg|40px]] | imageright = | style = | textstyle = | text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }} | small = | smallimage = | smallimageright = | smalltext = }} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 11 May 2026 (UTC) dwmzy2asdcoinvpt2xvw00g5f0t5y9k 4635302 4635277 2026-05-11T17:14:20Z Honeydear 3582657 /* Welcome to the Cookbook */ Reply 4635302 wikitext text/x-wiki == Welcome to the Cookbook == {{mbox | type = | image = [[File:Foodlogo2.svg|40px]] | imageright = | style = | textstyle = | text = Hello and thank you for your recent contribution to the [[Cookbook:Table of Contents|Wikibooks Cookbook]]! When adding to the Cookbook, please make sure all content conforms to [[Cookbook:Policy|Cookbook policy]], including the [[Cookbook:Manual of Style|manual of style]] and standard page templates. Feel free to let me know if you need any help or have any questions! {{#ifeq: |||<br>'''Additional details:''' }} | small = | smallimage = | smallimageright = | smalltext = }} —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:44, 11 May 2026 (UTC) :Thank You so much. :What do I need to know,please? [[User:Honeydear|Honeydear]] ([[User talk:Honeydear|discuss]] • [[Special:Contributions/Honeydear|contribs]]) 17:14, 11 May 2026 (UTC) axq1u8tar0u4uu4xbz3djk2175vvjnu Cookbook talk:Nigerian Yanrin 103 483274 4635285 2026-05-11T16:50:22Z Kittycataclysm 3371989 /* Clarification needed */ new section 4635285 wikitext text/x-wiki == Clarification needed == @[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I'm a little confused here—when I looked up "yanrin" and "dried yanrin", I didn't find anything related to crustaceans. Everything I found indicated that "yanrin" is a type of leafy green. Can you share sources with information about yanrin as a crustacean product? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 11 May 2026 (UTC) fmpx5p0ekp3em1zwo5ensqri08j0k00 4635392 4635285 2026-05-12T09:47:36Z SHB2000 3332924 SHB2000 moved page [[Cookbook talk:NIGERIAN YANRIN]] to [[Cookbook talk:Nigerian Yanrin]] without leaving a redirect: why is this in ALL CAPS 4635285 wikitext text/x-wiki == Clarification needed == @[[User:SHE-LOVES-BRIAN|SHE-LOVES-BRIAN]] I'm a little confused here—when I looked up "yanrin" and "dried yanrin", I didn't find anything related to crustaceans. Everything I found indicated that "yanrin" is a type of leafy green. Can you share sources with information about yanrin as a crustacean product? —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 16:50, 11 May 2026 (UTC) fmpx5p0ekp3em1zwo5ensqri08j0k00 User:Golgbachev/sandbox 2 483275 4635294 2026-05-11T17:02:28Z Golgbachev 3581703 Golgbachev moved page [[User:Golgbachev/sandbox]] to [[Cookbook:Koki Beans]]: new article on Koki beans 4635294 wikitext text/x-wiki #REDIRECT [[Cookbook:Koki Beans]] klov8s9zblrawakfnwy1jcganqhyp7d Wikibooks:Requests for deletion/Music Production Guide by Taskin Ahmed Kayum 4 483276 4635348 2026-05-12T00:00:28Z JJPMaster (bot) 3488561 Bot: Archiving closed deletion request — [[Special:Permalink/4634873#Music Production Guide by Taskin Ahmed Kayum|Music Production Guide by Taskin Ahmed Kayum]] 4635348 wikitext text/x-wiki == [[Music Production Guide by Taskin Ahmed Kayum]] == {{closed|Deleted by Leaderboard. [[User:Codename Noreste|<span style="color:#0024FF">Codename Noreste</span>]] ([[User talk:Codename Noreste|discuss]] • [[Special:Contributions/Codename Noreste|contribs]]) 14:58, 5 May 2026 (UTC)}} no meaningful content —[[User:Kittycataclysm|Kittycataclysm]] ([[User talk:Kittycataclysm|discuss]] • [[Special:Contributions/Kittycataclysm|contribs]]) 18:50, 27 April 2026 (UTC) :{{vd}} - this is not a useful guide. It fails to provide any actionable directions to the reader. :As some advice to the author: you may want to try writing a guide on a narrower topic which you are personally familiar with, like how to produce a particular type of music, or how to use a particular piece of software to produce music. [[User:Omphalographer|Omphalographer]] ([[User talk:Omphalographer|discuss]] • [[Special:Contributions/Omphalographer|contribs]]) 03:44, 28 April 2026 (UTC) :{{vd}}, no useful content. [[User:Ternera|Ternera]] ([[User talk:Ternera|discuss]] • [[Special:Contributions/Ternera|contribs]]) 14:17, 28 April 2026 (UTC) :{{done}} [[User:Leaderboard|Leaderboard]] ([[User talk:Leaderboard|discuss]] • [[Special:Contributions/Leaderboard|contribs]]) 05:10, 4 May 2026 (UTC) {{end closed}} q1ciy1lhtu6k9169wehvnpefuwbjhh9 User:Kunei Tamton 2 483277 4635361 2026-05-12T02:06:06Z Kunei Tamton 3584523 Introducing myself and my fellowship HAVA 4635361 wikitext text/x-wiki == Teish Adam == I am a community leader in Tarawa, Kiribati. I founded HAVA, a fellowship established in 2000 that gathers in Spirit and truth. I am interested in sharing reflections on scripture, community life, and simple faith. === My Interests === * Biblical interpretation (especially Adam/Christ typology) * House church fellowship * Community development in Kiribati === My Contributions === * Drafting content related to Pacific Islander spiritual perspectives * Sharing local knowledge where helpful [[User:TeishAdam/Sandbox|My Sandbox]] • [[Special:Contributions/TeishAdam|My Edits]] 6ckbij9ruke79ygwl0w9jg7frwyaiow User:ARI/sandbox 2 483279 4635397 2026-05-12T11:03:23Z ARI 3487498 Created page with "{| class="wikitable sortable" ! নিবন্ধের নাম !! শব্দসংখ্যা |- | [[Lucid Dreaming/Appendices/FAQ]] || ১১৮ |- | [[Lucid Dreaming/Appendices/VILD]] || ৩,৭৬৯ |- | [[Lucid Dreaming/FAQ]] || ৫,৩০৩ |- | [[Lucid Dreaming/Further Reading]] || ৭৮০ |- | [[Lucid Dreaming/Induction Techniques]] || ৯,৬৯৩ |- | [[Lucid Dreaming/Print version]] || ২৯,৩০৩ |- | [[Lucid Dreaming/Reality Checks/Hands]] ||..." 4635397 wikitext text/x-wiki {| class="wikitable sortable" ! নিবন্ধের নাম !! শব্দসংখ্যা |- | [[Lucid Dreaming/Appendices/FAQ]] || ১১৮ |- | [[Lucid Dreaming/Appendices/VILD]] || ৩,৭৬৯ |- | [[Lucid Dreaming/FAQ]] || ৫,৩০৩ |- | [[Lucid Dreaming/Further Reading]] || ৭৮০ |- | [[Lucid Dreaming/Induction Techniques]] || ৯,৬৯৩ |- | [[Lucid Dreaming/Print version]] || ২৯,৩০৩ |- | [[Lucid Dreaming/Reality Checks/Hands]] || ১,১৭৮ |- | [[Lucid Dreaming/Reality Checks/Identity]] || ৩২৪ |- | [[Lucid Dreaming/Reality Checks/Memory]] || ৩২২ |- | [[Lucid Dreaming/Reality Checks/Mirrors]] || ২০৮ |- | [[Lucid Dreaming/Reality Checks/Powers]] || ৩১৮ |- | [[Lucid Dreaming/Reality Checks/Reading]] || ৩৭৮ |- | [[Lucid Dreaming/Reality Checks/Time]] || ৫২৫ |- | [[Lucid Dreaming/Reality Checks/Vision]] || ৩৫০ |- | [[Lucid Dreaming/Using]] || ৩,২৮৬ |- | [[Arimaa/Arimaa Challenge History]] || ৮,২৩৯ |- | [[Arimaa/Attacking/Attacks Against a Camel Trap]] || ১,৮৬৭ |- | [[Arimaa/Attacking/Example: Elephant–Dog Attack]] || ৪৯৩ |- | [[Arimaa/Attacking/Overview]] || ৮১১ |- | [[Arimaa/Attacking/Positioning]] || ১,৪৯৬ |- | [[Arimaa/Attacking/Techniques]] || ২,৯৪৫ |- | [[Arimaa/Camel and Horse Attacks]] || ৭৯৪ |- | [[Arimaa/Camel Hostage]] || ৩,২২২ |- | [[Arimaa/Distribution of Force]] || ১,১৯১ |- | [[Arimaa/Elephant and Horse Attacks]] || ২,০৯৮ |- | [[Arimaa/Elephant Blockade]] || ১,৯৬৯ |- | [[Arimaa/Frames]] || ২,৪৪১ |- | [[Arimaa/Glossary]] || ২,০২৬ |- | [[Arimaa/Introduction to Strategy]] || ১,৭১৪ |- | [[Arimaa/Introduction to Tactics]] || ২,৫২০ |- | [[Arimaa/Lone Elephant Attacks]] || ৬৪৫ |- | [[Arimaa/Multi-Piece Swarming Attacks]] || ৭৫৬ |- | [[Arimaa/Omar vs. Fritzlein, 2005 Postal Championship]] || ৫,২৮৫ |- | [[Arimaa/Other Hostages]] || ১,৭৮৮ |- | [[Arimaa/Playing The Game]] || ১,৯০৬ |- | [[Arimaa/Rabbit Advancement]] || ১,১৮১ |- | [[Arimaa/Race Positions]] || ১,০০৫ |- | [[Arimaa/Relative Value of Pieces]] || ১,২৯৪ |- | [[Arimaa/risteall vs. ChrisB]] || ৩,৫১৩ |- | [[Arimaa/Setup]] || ১,৬০৯ |- | [[OpenSSH]] || ৪০৮ |- | [[OpenSSH/Client Applications]] || ২,৩০০ |- | [[OpenSSH/Cookbook/Certificate-based Authentication]] || ৩,৭২৯ |- | [[OpenSSH/Cookbook/File Transfer with SFTP]] || ২,৪৯৩ |- | [[OpenSSH/Cookbook/Host-based Authentication]] || ২,৬৮৮ |- | [[OpenSSH/Cookbook/Load Balancing]] || ১,৭০৮ |- | [[OpenSSH/Cookbook/Multiplexing]] || ৩,৭৫৬ |- | [[OpenSSH/Cookbook/Proxies and Jump Hosts]] || ৬,৫৮৭ |- | [[OpenSSH/Cookbook/Public Key Authentication]] || ৯,৮৯১ |- | [[OpenSSH/Cookbook/Remote Processes]] || ৪,৭২০ |- | [[OpenSSH/Cookbook/The Client Configuration File]] || ১,৯১৮ |- | [[OpenSSH/Cookbook/Tunnels]] || ৩,৩৭০ |- | [[OpenSSH/Logging and Troubleshooting]] || ৯,৯৮৯ |- | [[Linear Algebra/Addition, Multiplication, and Transpose]] || ৭৫৩ |- | [[Linear Algebra/Any Matrix Represents a Linear Map]] || ৪,০৩৬ |- | [[Linear Algebra/Changing Map Representations]] || ৩,৩৪১ |- | [[Linear Algebra/Changing Map Representations/Solutions]] || ৩,৬৯৯ |- | [[Linear Algebra/Changing Representations of Vectors]] || ২,৭৯১ |- | [[Linear Algebra/Changing Representations of Vectors/Solutions]] || ৪,৯৯৬ |- | [[Linear Algebra/Characteristic Equation]] || ৪০৮ |- | [[Linear Algebra/Combining Subspaces]] || ৭,৩৪১ |- | [[Linear Algebra/Combining Subspaces/Solutions]] || ৭,১৬৭ |- | [[Linear Algebra/Comparing Set Descriptions]] || ২,২৭৬ |- | [[Linear Algebra/Comparing Set Descriptions/Solutions]] || ২,৯৩৫ |- | [[Linear Algebra/Complex Representations]] || ৪৪০ |- | [[Linear Algebra/Computing Linear Maps]] || ২২১ |- | [[Linear Algebra/Definition and Examples of Isomorphisms/Solutions]] || ১১,৭৯৯ |- | [[Linear Algebra/Definition and Examples of Linear Independence]] || ৬,৪৪৭ |- | [[Linear Algebra/Definition and Examples of Linear Independence/Solutions]] || ৯,১৫১ |- | [[Linear Algebra/Definition and Examples of Similarity]] || ১,৪২১ |- | [[Linear Algebra/Definition and Examples of Similarity/Solutions]] || ৪,৫৭০ |- | [[Linear Algebra/Definition and Examples of Vector Spaces]] || ৭,৪৭১ |- | [[Linear Algebra/Definition and Examples of Vector Spaces/Solutions]] || ৬,৫৩১ |- | [[Linear Algebra/Describing the Solution Set]] || ৫,১৯৭ |- | [[Linear Algebra/Describing the Solution Set/Solutions]] || ৪,৪৭৪ |- | [[Linear Algebra/Determinants as Size Functions]] || ৩,৫৪১ |- | [[Linear Algebra/Determinants as Size Functions/Solutions]] || ৫,০৪৮ |- | [[Linear Algebra/Determinants Exist]] || ৪,০৩৩ |- | [[Linear Algebra/Determinants Exist/Solutions]] || ১,৬৪১ |- | [[Linear Algebra/Diagonal Matrix]] || ১০২ |- | [[Linear Algebra/Diagonalizability]] || ১,৮০৯ |- | [[Linear Algebra/Diagonalizability/Solutions]] || ৩,৪৯১ |- | [[Linear Algebra/Dimension]] || ৪,১৬৯ |- | [[Linear Algebra/Dimension Characterizes Isomorphism]] || ৫,৮৯৮ |- | [[Linear Algebra/Dimension/Solutions]] || ৪,৫৯০ |- | [[Linear Algebra/Eigenvalues and eigenvectors]] || ২,৯১১ |- | [[Linear Algebra/Eigenvalues and Eigenvectors/Solutions]] || ৫,৭৩৭ |- | [[Linear Algebra/Exploration]] || ২,৯২৯ |- | [[Linear Algebra/Exploration/Solutions]] || ৩,৯৩২ |- | [[Linear Algebra/Factoring and Complex Numbers: A Review]] || ১,৩৩৫ |- | [[Linear Algebra/Gauss' Method]] || ৫,৩৭৮ |- | [[Linear Algebra/Gauss' Method/Solutions]] || ৬,৫৬৭ |- | [[Linear Algebra/Gauss-Jordan Reduction]] || ৩,০৯১ |- | [[Linear Algebra/Gauss-Jordan Reduction/Solutions]] || ২,৬৬৬ |- | [[Linear Algebra/Gram-Schmidt Orthogonalization]] || ৪,০৫৪ |- | [[Linear Algebra/Gram-Schmidt Orthogonalization/Solutions]] || ৭,৫২৫ |- | [[Linear Algebra/Index]] || ১,৩৩১ |- | [[Linear Algebra/Inner product spaces]] || ২,০৭৫ |- | [[Linear Algebra/Inverses/Solutions]] || ৫,১৮৪ |- | [[Linear Algebra/Isomorphisms]] || ২৩৩ |- | [[Linear Algebra/Jordan Canonical Form]] || ৮,১২৯ |- | Linear Algebra/Jordan Form || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Laplace's Expansion]] || ২,৭৭৬ |- | [[Linear Algebra/Laplace's Expansion/Solutions]] || ৩,৬৪৯ |- | [[Linear Algebra/Laplace's Theorem]] || ১,৩৮১ |- | Linear Algebra/Length and Angle Measures/Solutions || প্রক্রিয়াকরণে ত্রুটি |- | Linear Algebra/Matrices || প্রক্রিয়াকরণে ত্রুটি |- | Linear Algebra/Matrices and Vectors/ || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Matrix Equation]] || ২৫৪ |- | [[Linear Algebra/Matrix Inverses]] || ৪১৫ |- | [[Linear Algebra/Matrix Inverses/Finding the Inverse of a Matrix]] || ১১৬ |- | Linear Algebra/Matrix Multiplication || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Matrix Multiplication/Solutions]] || ৬,৪৪৯ |- | [[Linear Algebra/Mechanics of Matrix Multiplication]] || ৪,৪৪৮ |- | [[Linear Algebra/Mechanics of Matrix Multiplication/Solutions]] || ৫,২২৭ |- | [[Linear Algebra/Nilpotence]] || ৪২ |- | [[Linear Algebra/Notation]] || ৫৮৮ |- | [[Linear Algebra/Null Spaces]] || ২,৪৫৪ |- | [[Linear Algebra/OLD/Eigenvalues and Eigenvectors]] || ৬১১ |- | [[Linear Algebra/OLD/Matrix Operations]] || ৯৬৩ |- | [[Linear Algebra/OLD/TOC]] || ৪৬৩ |- | [[Linear Algebra/OLD/Vector Spaces]] || ২,৭৫৭ |- | [[Linear Algebra/Orthogonal Projection Onto a Line]] || ২,৪৬৪ |- | [[Linear Algebra/Orthogonal Projection Onto a Line/Solutions]] || ৪,৩২৮ |- | [[Linear Algebra/Orthogonal Sets]] || ২২১ |- | [[Linear Algebra/Orthogonality]] || ১৬৬ |- | [[Linear Algebra/Other Formulas for Determinants]] || ৩৮ |- | [[Linear Algebra/Polynomials of Maps and Matrices]] || ৪,৮৫৮ |- | [[Linear Algebra/Polynomials of Maps and Matrices/Solutions]] || ৭,৫১১ |- | [[Linear Algebra/Print version/Part 1]] || ৯৬,১০৩ |- | [[Linear Algebra/Print version/Part 2]] || ১,৬৪,৬০৯ |- | [[Linear Algebra/Projection Onto a Subspace]] || ৫,১৫৭ |- | [[Linear Algebra/Projection Onto a Subspace/Solutions]] || ৭,৩৪৪ |- | [[Linear Algebra/Properties of Determinants]] || ২,৬৯৫ |- | [[Linear Algebra/Properties of Determinants/Solutions]] || ৩,৪৮৬ |- | [[Linear Algebra/Propositions]] || ১,২৪৮ |- | [[Linear Algebra/Quantifiers]] || ৫২৮ |- | [[Linear Algebra/Quotient Space]] || ৩২৭ |- | Linear Algebra/Rangespace and Nullspace || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Rangespace and Nullspace/Solutions]] || ৭,৮৪১ |- | [[Linear Algebra/Reduced Echelon Form]] || ২৭৯ |- | [[Linear Algebra/Representing Linear Maps with Matrices]] || ৬,১৬৩ |- | [[Linear Algebra/Representing Linear Maps with Matrices/Solutions]] || ৮,৭০৩ |- | [[Linear Algebra/Row Equivalence]] || ৫,৪১১ |- | [[Linear Algebra/Row Equivalence/Solutions]] || ৪,৩৬৫ |- | [[Linear Algebra/Self-Composition]] || ১,৯২৭ |- | [[Linear Algebra/Self-Composition/Solutions]] || ১,৬১৮ |- | [[Linear Algebra/Sets, Functions, Relations]] || ৩,৫৭৭ |- | Linear Algebra/Singular Value Decomposition || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Span of a set]] || ৪২৬ |- | [[Linear Algebra/Spectral Theorem]] || ১,৫০৫ |- | [[Linear Algebra/Strings]] || ৫,৬৩০ |- | [[Linear Algebra/Strings/Solutions]] || ৪,৭৭৯ |- | [[Linear Algebra/Subspaces]] || ৬১৫ |- | [[Linear Algebra/Subspaces and Spanning sets]] || ৬,৪৯২ |- | [[Linear Algebra/Subspaces and Spanning sets/Solutions]] || ৯,০১৩ |- | [[Linear Algebra/Sums and Scalar Products]] || ১,৭১৬ |- | Linear Algebra/Sums and Scalar Products/Solutions || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Systems of Linear Equations]] || ২,৭১৮ |- | [[Linear Algebra/Techniques of Proof]] || ১,০৪৩ |- | [[Linear Algebra/The Permutation Expansion]] || ৫,৮১৫ |- | [[Linear Algebra/The Permutation Expansion/Solutions]] || ৪,৭৪২ |- | [[Linear Algebra/Topic: Accuracy of Computations]] || ২,০২১ |- | Linear Algebra/Topic: Accuracy of Computations/Solutions || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Topic: Analyzing Networks/Solutions]] || ২,৬০২ |- | [[Linear Algebra/Topic: Computer Algebra Systems]] || ৮৬৪ |- | [[Linear Algebra/Topic: Computer Algebra Systems/Solutions]] || ১,৩৪৯ |- | [[Linear Algebra/Topic: Cramer's Rule]] || ৮৮৪ |- | [[Linear Algebra/Topic: Cramer's Rule/Solutions]] || ৭০২ |- | Linear Algebra/Topic: Crystals || প্রক্রিয়াকরণে ত্রুটি |- | Linear Algebra/Topic: Crystals/Solutions || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Topic: Dimensional Analysis]] || ৪,০২৭ |- | [[Linear Algebra/Topic: Dimensional Analysis/Solutions]] || ২,৮৫৬ |- | [[Linear Algebra/Topic: Fields]] || ৯৪৪ |- | [[Linear Algebra/Topic: Fields/Solutions]] || ৩৬০ |- | [[Linear Algebra/Topic: Geometry of Eigenvalues]] || ৭৭৪ |- | Linear Algebra/Topic: Geometry of Linear Maps || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Topic: Geometry of Linear Maps/Solutions]] || ২,২৮৭ |- | [[Linear Algebra/Topic: Input-Output Analysis]] || ২,১২০ |- | [[Linear Algebra/Topic: Input-Output Analysis/Solutions]] || ৮৭০ |- | [[Linear Algebra/Topic: Line of Best Fit]] || ২,৫৯৫ |- | [[Linear Algebra/Topic: Line of Best Fit/Solutions]] || ২,৪৯৫ |- | [[Linear Algebra/Topic: Linear Recurrences]] || ৪,৪৭৮ |- | [[Linear Algebra/Topic: Linear Recurrences/Solutions]] || ৬৬৯ |- | [[Linear Algebra/Topic: Markov Chains]] || ৩,০৪২ |- | [[Linear Algebra/Topic: Markov Chains/Solutions]] || ৪,৮০০ |- | Linear Algebra/Topic: Orthonormal Matrices || প্রক্রিয়াকরণে ত্রুটি |- | [[Linear Algebra/Topic: Orthonormal Matrices/Solutions]] || ১,৪২৯ |- | [[Linear Algebra/Topic: Projective Geometry]] || ৪,৯৪৫ |- | [[Linear Algebra/Topic: Projective Geometry/Solutions]] || ২,০৩৬ |- | [[Linear Algebra/Topic: Speed of Calculating Determinants]] || ১,৫৯৯ |- | [[Linear Algebra/Topic: Speed of Calculating Determinants/Solutions]] || ৭৯৩ |- | [[Linear Algebra/Topic: Speed of Gauss' Method]] || ১,৩০৭ |- | [[Linear Algebra/Topic: Stable Populations]] || ১,০৮১ |- | [[Linear Algebra/Topic: The Method of Powers]] || ১,৭২৬ |- | [[Linear Algebra/Topic: The Method of Powers/Solutions]] || ৪৩১ |- | [[Linear Algebra/Topic: Voting Paradoxes]] || ২,৫৯৪ |- | [[Linear Algebra/Topic: Voting Paradoxes/Solutions]] || ১,৯৭৬ |- | [[Linear Algebra/Unitary and Hermitian matrices]] || ১,১৩৬ |- | [[Linear Algebra/Vector Spaces and Linear Systems]] || ৩,৯৩৪ |- | [[Linear Algebra/Vector Spaces and Linear Systems/Solutions]] || ৫,৪৮৫ |- | [[Linear Algebra/Vector Spaces And Subspaces]] || ২,৬৩৩ |- | [[Linear Algebra/Vectors]] || ১,৬৫৫ |- | [[Linear Algebra/Vectors in Space]] || ৩,০৮২ |- | [[Linear Algebra/Vectors in Space/Solutions]] || ৩,০৫৭ |- | [[Muggles' Guide to Harry Potter/Books]] || ৯৫ |- | [[Muggles' Guide to Harry Potter/Books/Chamber of Secrets]] || ৩৪৭ |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 1 || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 13]] || ২,৬৩৩ |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 14 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 17 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 6 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Chapter 8 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Chamber of Secrets/Print version || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Deathly Hallows/Characters || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Deathly Hallows/Connections || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Deathly Hallows/Epilogue || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Deathly Hallows/Themes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Goblet of Fire/Print version || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Goblet of Fire/Print version/Chapter 1 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 10 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 11 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 12 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 16 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 17 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 20 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 22 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 24 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 26 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 28 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 5 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 6 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 7 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 8 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Chapter 9 || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Half-Blood Prince/Print version || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Order of the Phoenix/Print version || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Books/Philosopher's Stone/Print version || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Abraxas Malfoy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Adrian Pucey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Alastor Moody || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Albert Runcorn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Alice Longbottom || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Alicia Spinnet || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Alphard Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ambrosius Flume || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Amelia Bones || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Amos Diggory || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Amycus Carrow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Andrew Kirke || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Andromeda Tonks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Angelina Johnson || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Anthony Goldstein || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Arabella Figg || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Araminta Meliflua Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Argus Filch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Armando Dippet || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Arnold || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Arthur Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Augusta Longbottom || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Augustus Rookwood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Avery || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bane || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bartemius Crouch Sr. || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bathilda Bagshot || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Benjy Fenwick || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bertha Jorkins || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bill Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Black Family || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Blaise Zabini || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bob Ogden || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Bogrod || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Borgin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Brianna Lynch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Broderick Bode || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Cadwallader || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Caractacus Burke || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Caradoc Dearborn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Cecilia || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Charity Burbage || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Colin Creevey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Cornelius Fudge || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Crabbe, Sr. || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Crookshanks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dawlish || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dean Thomas || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dedalus Diggle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Demelza Robins || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dennis Creevey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Derrick || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dexter Fortescue || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dilys Derwent || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dirk Cresswell || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dobby || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dolores Umbridge || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dorcas Meadowes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Draco Malfoy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Dudley Dursley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Eddie Carmichael || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Edgar Bones || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Eileen Snape || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Eleanor Branstone || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Elladora Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Eloise Midgeon || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Elphias Doge || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Emmeline Vance || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Eric Munch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ernie Macmillan || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ernie Prang || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Euan Abercrombie || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Evan Rosier || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Everard || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fabian Prewett || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fang || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fawcett || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fawkes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fenrir Greyback || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Filius Flitwick || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Firenze || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fleur Delacour || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Florean Fortescue || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fluffy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Frank Bryce || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Frank Longbottom || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Fred and George Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gabrielle Delacour || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gawain Robards || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gellert Grindelwald || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gibbon || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gideon Prewett || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gilderoy Lockhart || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ginny Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Godric Gryffindor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gornuk || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Goyle, Sr. || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Graham Pritchard || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Grawp || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gregorovitch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Gregory Goyle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Griphook || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Griselda Marchbanks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hannah Abbott || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Harper || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hassan Mostafa || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hedwig || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Helga Hufflepuff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hepzibah Smith || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hermes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hestia Jones || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Hokey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Horace Slughorn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/House of Gaunt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Igor Karkaroff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Irma Pince || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Jack Sloper || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/James Potter || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Jugson || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Justin Finch-Fletchley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Katie Bell || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Kendra Dumbledore || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Kevin Whitby || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Kingsley Shacklebolt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Kreacher || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Laura Madley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Lavender Brown || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Lee Jordan || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Lily Potter || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Lisa Turpin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Lucius Malfoy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ludovic Bagman || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Madam Rosmerta || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mafalda Hopkirk || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Magorian || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Malcolm Baddock || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mandy Brocklehurst || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marauders || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marcus Belby || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marcus Flint || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marge Dursley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marietta Edgecombe || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marlene McKinnon || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Marvolo Gaunt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mary Macdonald || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Merope Gaunt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Michael Corner || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Miles Bletchley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Millicent Bullstrode || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Minerva McGonagall || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Miriam Strout || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Moaning Myrtle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Molly Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Montague || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Morfin Gaunt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mr. Mason || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mrs. Mason || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mrs. Norris || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mulciber || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Mundungus Fletcher || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Nagini || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Narcissa Malfoy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Natalie McDonald || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Nearly Headless Nick || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Neville Longbottom || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Norbert || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Nott || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Nymphadora Tonks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Oliver Wood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ollivander || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Olympe Maxime || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Orion Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Orla Quirke || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Owen Cauldwell || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Padma Patil || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Pansy Parkinson || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Parvati Patil || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Peeves || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Penelope Clearwater || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Percival Dumbledore || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Percy Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Peter Pettigrew || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Petunia Dursley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Phineas Nigellus Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Piers Polkiss || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Pigwidgeon || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Pius Thicknesse || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Poliakoff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Pomona Sprout || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Poppy Pomfrey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Professor Binns || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Professor Quirrell || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Professor Sinistra || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Professor Tofty || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Professor Vector || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rabastan Lestrange || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Regulus Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Remus Lupin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rita Skeeter || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ritchie Coote || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rodolphus Lestrange || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Roger Davies || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rolanda Hooch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ronan || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rose Zeller || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rowena Ravenclaw || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Rufus Scrimgeour || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Scabbers || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Seamus Finnigan || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Selwyn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Severus Snape || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Silvanus Kettleburn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Sir Cadogan || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Sirius Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Stan Shunpike || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Stebbins || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Stewart Ackerley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Sturgis Podmore || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Summerby || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Summers || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Susan Bones || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Sybill Trelawney || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Ted Tonks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Terence Higgs || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Terry Boot || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/The Bloody Baron || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/The Fat Friar || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/The Fat Lady || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/The Grey Lady || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Theodore Nott || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Tiberius Ogden || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Tobias Snape || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Tom Marvolo Riddle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Tom Riddle Sr. || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Travers || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Trevor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Urquhart || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Vaisey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Vernon Dursley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Viktor Krum || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Vincent Crabbe || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Walburga Black || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Walden Macnair || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Warrington || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Weasley Family || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Wilhelmina Grubbly-Plank || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Wilkes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Wilkie Twycross || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Williamson || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Willy Widdershins || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Winky || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Witherwings || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Characters/Xenophilius Lovegood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Frameworks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Index || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Introduction || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Introduction/Advanced || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Introduction/Beginner || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Introduction/Intermediate || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Abyssinian shrivelfig || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Acromantula || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Aguamenti || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Amortentia || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Aparecium || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Apparition || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Arithmancy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ashwinder || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Astronomy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Augurey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Avis || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Banishing Charm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Bat Bogey Hex || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Billywig || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Blibbering Humdinger || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Blood Blisterpod || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Blood traitor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Blood-Sucking Bugbear || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Boggart || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Books and Textbooks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Boomslang || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Bowtruckle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Bubble-Head Charm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Bubotuber || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Bundimun || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Canary Cream || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Care of Magical Creatures || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Centaur || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Chimaera || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Chizpurfle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Clabbert || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Cockatrice || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Colloportus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Confringo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Conjunctivitus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Crumple Horned Snorkack || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Crup || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dark Mark || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Deathly Hallows || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Decoy Detonator || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Defodio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Deletrius || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Demiguise || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Densaugeo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Deprimo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Descendo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Devil's Snare || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Diffindo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Diricawl || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dirigible Plum || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Disappearing Cabinets || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Disillusionment || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dissendium || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dittany || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Divination || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Doxy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dragon || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Draught of Living Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dreamless Sleep Potion || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Dugbog || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Duro || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Enervate || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Engorgio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Episkey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Erkling || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Erumpent || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Evanesco || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Expulso || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Extendable Ear || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fairy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ferula || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fidelius || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fiendfyre || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Finite || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Finite Incantatem || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fire Crab || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fire-call || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Flagrante || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Flagrate || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Flobberworm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Flutterby bush || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Flying || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Foe Glass || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ford Anglia || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Furnunculus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Fwooper || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Geminio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Gemino || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ghost || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ghoul || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Giant || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Gillyweed || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Glisseo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Glumbumble || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Gnome || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Gobbledegook || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Goblet of Fire || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Goblin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Graphorn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Griffin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Grim || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Grindylow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Gurdyroot || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Half-blood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Hand of Glory || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Heliopath || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Herbology || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Hinkypunk || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Magic/Hippocampus]] || ১২৪ |- | Muggles' Guide to Harry Potter/Magic/Hippogriff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/History of Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Homenum Revelio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Horklump || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/House Elf || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Howler || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Imp || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Impedimenta || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Imperio || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Magic/Imperturbable Charm]] || ২২৯ |- | Muggles' Guide to Harry Potter/Magic/Impervius || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Incarcerous || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Incendio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Inferius || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Invisibility Cloak || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Jarvey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Jobberknoll || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Kappa || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Kelpie || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Knarl || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Kneazle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Knight Bus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Langlock || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Legilimency || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Legilimens || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Leprechaun || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Lethifold || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Levicorpus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Liberacorpus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Lobalug || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Locomotor || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Magic/Locomotor Mortis]] || ১৮৮ |- | Muggles' Guide to Harry Potter/Magic/Love Potion || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Lumos || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mackled Malaclaw || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Manticore || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mermish || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Merpeople || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Metamorphmagus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mimbulus Mimbletonia || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ministry of Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mirror of Erised || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mobiliarbus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mobilicorpus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Moke || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Money || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mooncalf || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Morsmordre || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Mudblood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Muffliato || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Muggle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Muggle Studies || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Muggle-born || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Murtlap || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Nargle || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Niffler || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Nogtail || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Nox || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Nudu || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Obliviate || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Obscuro || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Occamy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Occlumency || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Omnioculars || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Oppugno || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Paintings || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Parselmouth || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Parseltongue || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Patronus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pensieve || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pepper-Up Potion || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Permanent Sticking Charm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Peruvian Instant Darkness Powder || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Peskipiksi Pesternomi || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Petrificus Totalus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Philosopher's Stone || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Phoenix || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Photograph || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pixie || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Plimpy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pogrebin || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Point Me || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Magic/Polyjuice Potion]] || ৬৮৫ |- | Muggles' Guide to Harry Potter/Magic/Porlock || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Portkey || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Portus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Potions || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Prior Incantato || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Priori Incantatem || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Probity Probe || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Prophecy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Protean Charm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Protego || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Puffskein || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pureblood || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Pygmy Puff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Quick-Quotes Quill || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Quietus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Quintaped || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ramora || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Re'em || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Reducio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Reducto || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Relashio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Remembrall || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Renervate || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Reparo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Revulsion Jinx || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Rictusempra || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Riddikulus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Runespoor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Salamander || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Scourgify || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sea Serpent || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Secrecy Sensor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sectumsempra || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Serpensortia || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Shrake || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Shrinking Solution || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Silencio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Skiving Snackbox || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Skrewt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Snargaluff || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sneakoscope || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Snidget || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sonorus || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Specialis Revelio || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sphinx || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Squib || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Streeler || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Stupefy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Subjects || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Sword of Gryffindor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Tarantallegra || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Tebo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Tergeo || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/The Daily Prophet || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/The Quibbler || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Thestral || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Time-Turner || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Ton-Tongue Toffee || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Tongue-Tying Curse || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Torture Quill || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Transfiguration Today || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Troll || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Umgubular Slashkilter || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Unbreakable Vow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Underage Sorcery || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Undetectable Extension Charm || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Unforgivable Curses || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Unicorn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Vampire || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Veela || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Venomous Tentacula || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Veritaserum || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Waddiwasi || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wand || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Werewolf || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Which Broomstick || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Whomping Willow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wingardium Leviosa || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Winged horse || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wit-Sharpening Potion || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Witch Weekly || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wizengamot || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wolfsbane Potion || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Magic/Wrackspurt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Battle at the Department of Mysteries || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Battle of Hogwarts || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Break-in at Gringotts || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Cedric's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Cemetery Duel || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Chamber of Secrets || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Cho Chang || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Death Eaters || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Dobby's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Dumbledore's Army || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Dumbledore's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Escape from Privet Drive || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/First Task || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Fred Weasley's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Ginny Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Godric's Hollow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Harry Potter || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Harry-Voldemort Shared Thoughts || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Head Boy || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Hermione Granger || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/House Cup || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Infiltration of the Ministry of Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Inquisitorial Squad || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Life and Lies || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Lovegood House || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Mad-Eye Moody's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/NEWT exams || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Nymphadora's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Order of the Phoenix || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/OWL exams || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Pettigrew's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Prefects || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Quidditch || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Quidditch captain || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Quidditch World Cup || প্রক্রিয়াকরণে ত্রুটি |- | [[Muggles' Guide to Harry Potter/Major Events/Remus' Death]] || ৯৩৯ |- | Muggles' Guide to Harry Potter/Major Events/Ron Weasley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/S.P.E.W. || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Second Task || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Severus' Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Shrieking Shack || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Sirius' Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Third Task || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Tower Battle (Hogwarts) || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Triwizard Tournament || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Viktor Krum || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Visiting Malfoy Manor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Voldemort's Death || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Voldemort's Downfall || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Year-end exams || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Major Events/Yule Ball || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Azkaban || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Beauxbatons Academy of Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Borgin and Burkes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Chamber of Secrets || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Durmstrang Institute || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Forbidden Forest || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Forest of Dean || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Godric's Hollow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Grimmauld Place || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Gringotts || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Gryffindor House || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hagrid's Hut || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Headmaster's Office, Hogwarts || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hog's Head Inn || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hogsmeade || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hogwarts Express || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Honeyduke's Sweetshop || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hospital Wing || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/House of Gaunt || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Hufflepuff House || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Knockturn Alley || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Little Hangleton || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Malfoy Manor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Ministry of Magic || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Platform 9 and Three Quarters || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Privet Drive || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Ravenclaw House || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Riddle Manor || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Room of Requirement || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Shell Cottage || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Shrieking Shack || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Spinner's End || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/St. Mungo's Hospital for Magical Maladies and Injuries || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/The Burrow || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/The Leaky Cauldron || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/The Three Broomsticks || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Places/Weasleys' Wizard Wheezes || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Project Standards || প্রক্রিয়াকরণে ত্রুটি |- | Muggles' Guide to Harry Potter/Timeline || প্রক্রিয়াকরণে ত্রুটি |- | World History/Maps || প্রক্রিয়াকরণে ত্রুটি |- | '''মোট শব্দ''' || '''৮,৬২,০১৬''' |} au3cnjvxa56b8xjonyuyd1o7s81razh